Эта статья не преследует цель подробно объяснить кластеризацию K-средних, которую вы можете получить где угодно, но предоставить детали реализации, не используя Scikit, узнайте, чего вы не найдете везде.

K-Means - один из популярных и простых алгоритмов обучения без учителя, используемых для кластеризации.

Гиперпараметр «K» в K-средних означает количество кластеров.

K-Means - это схема кластеризации на основе центроидов.

Я рассматриваю следующий крошечный набор данных для пошагового объяснения алгоритма.

Импортируйте необходимые модули

Создание фрейма данных через pandas

Шаги в алгоритме

  1. Случайным образом выберите точки «K» из данных и назовите их центроидами.

2. Рассчитайте расстояние между каждой точкой данных и случайно выбранным центроидом.

3. Назначьте точку данных центроиду кластера, расстояние до которого минимально среди всех центроидов.

4. Пересчитайте новые центроиды по формуле

sum of all points in a cluster Ci/number of points in a cluster Ci

Примечание. Недавно вычисленные точки центроида могут быть, а могут и не быть в точках данных.

5. Повторяйте шаг 3 и шаг 4 до схождения (это означает, что новые значения центроидов не сильно отличаются от старых значений центроидов).

Здесь я рассматриваю K = 3 и вызываю функцию kMeans ()

Результат для вышеуказанной программы выглядит следующим образом

проверьте приведенный выше код в записной книжке ipython по адресу https://github.com/SwamySriharsha/clustering.git.