Эта статья не преследует цель подробно объяснить кластеризацию K-средних, которую вы можете получить где угодно, но предоставить детали реализации, не используя Scikit, узнайте, чего вы не найдете везде.
K-Means - один из популярных и простых алгоритмов обучения без учителя, используемых для кластеризации.
Гиперпараметр «K» в K-средних означает количество кластеров.
K-Means - это схема кластеризации на основе центроидов.
Я рассматриваю следующий крошечный набор данных для пошагового объяснения алгоритма.
Импортируйте необходимые модули
Создание фрейма данных через pandas
Шаги в алгоритме
- Случайным образом выберите точки «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.