Kmeans используется как неконтролируемый алгоритм кластеризации. Мы действительно можем использовать эту функцию для классификации и сравнивать ее с другими контролируемыми алгоритмами.
Здесь я сгенерировал 1000 синтетических данных и применил логистическую регрессию и Kmeans, чтобы увидеть, как эти модели могут классифицировать данные. Это данные, которые используются для бинарной классификации, показанной ниже:
Из сгенерированных 1000 данных я разделил их на часть для обучения и тестирования.
Обе модели вызваны и обучены.
Поскольку Kmeans — это неконтролируемый алгоритм, нам не нужно указывать цели для Kmeans. Обе модели обучены, и мы можем видеть точность обеих моделей с помощью тестовых наборов.
Обе модели прекрасно классифицируют два класса. Данные синтетические и находятся далеко друг от друга. Но мы могли бы добавить шум, чтобы увидеть, как Kmeans будет работать с зашумленными данными.
Кроме того, Kmeans рассчитывается на основе расстояния, поэтому для Kmeans потребуется масштабирование, как и для логистической регрессии. Kmeans для классификации также может быть полезен для классификации изображений.
Вы сможете получить доступ к коду здесь, если вы заинтересованы.