Алгоритм К средних - один из самых простых алгоритмов кластеризаци. Даже при такой простоте он может дать очень конкурентоспособные результаты. Этот алгоритм является алгоритмом без учителя, где нужно выделить группы объектов, которые мало отличаются друг от друга внутри каждой выделенной группы(компактность), а группы дожны иметь как можно большее различие.Единственной необходимой для работы алгоритма информацией является чмсло выделяемых групп. Понимание алгоритма ближайших соседей составляет квинтэссенцию машинного обучения.Здесь мы не будем рассматривать суть этого алгорима, его описание имеется в большом количестве источников. Приведем результаты применения этого алгоритма в сочетании с алгоритмом сокращения размерности MDS для решения задачи кластеризации регионов РФ по типу экономики.
Россия огромная страна, которая отличается большим разнообразием териториальных, природно-климатических и демографических условий. В настоящее время в нашей стране выделено 85 субъектов (областей, республик, краев), чтобы эффективно управлять таким количеством территориальных объектов необходимо уметь классифицировать их, выделяя относительно небольшое число кластеров однородных по тем или иным признакам субъектов. Одной из подобных задач является задача кластеризация регионов России по типу региональной экономики с возможностью анализа ее временной динамики.
В качестве доступной и регулярной информации для решения этой задачи может использоваться информация ежегодно публикуемая Ростатом по основным социально-экономическим показателям субъектов РФ. Воспользуемся в качестве исходной социально экономической информации о 81 субъекте РФ за 2020 год (несколько регионов учтены в составе более крупных регинов и исключен как отдельный регион город Севастополь, как несопоставимый с другими регионами) следующими показателями:
В результате получаем исходное пространство 3D , в котором распологается, в виде точек, 81 регион РФ. В этом пространстве и будем решать задачу, привлекая дополительно алгоритм снижения размерности MDS, что позволяет получать более наглядные результаты в пространстве 2D. Для решения задачи воспользуемся библиотеками python: sklearn.cluster.Kmeans , sklearn.manifold.MDS, а для визуализации библиотекой plotly.
Кроме того, для решения этой задачи разработано Dash plotly приложение,которое позволяет получать решения в интерактивном режиме для любого K. В дальнейшем предологается интегрировать в приложение возможность решения задачи для разных моментов времени.