Kmeans используется как неконтролируемый алгоритм кластеризации. Мы действительно можем использовать эту функцию для классификации и сравнивать ее с другими контролируемыми алгоритмами.

Здесь я сгенерировал 1000 синтетических данных и применил логистическую регрессию и Kmeans, чтобы увидеть, как эти модели могут классифицировать данные. Это данные, которые используются для бинарной классификации, показанной ниже:

Из сгенерированных 1000 данных я разделил их на часть для обучения и тестирования.

Обе модели вызваны и обучены.

Поскольку Kmeans — это неконтролируемый алгоритм, нам не нужно указывать цели для Kmeans. Обе модели обучены, и мы можем видеть точность обеих моделей с помощью тестовых наборов.

Обе модели прекрасно классифицируют два класса. Данные синтетические и находятся далеко друг от друга. Но мы могли бы добавить шум, чтобы увидеть, как Kmeans будет работать с зашумленными данными.

Кроме того, Kmeans рассчитывается на основе расстояния, поэтому для Kmeans потребуется масштабирование, как и для логистической регрессии. Kmeans для классификации также может быть полезен для классификации изображений.

Вы сможете получить доступ к коду здесь, если вы заинтересованы.