Очень важный алгоритм кластеризации в машинном обучении!
Начиная с основ KMeans, чтобы понять KMEANS, нам нужно сначала понять, что означает KMeans. Слово KMeans, у нас есть два слова K и Means, которые соответствуют количеству кластеров и их средним значениям соответственно.
Цель алгоритма: — вычислить центр каждого из заданных кластеров, взяв среднее значение всех точек, присутствующих в каждом из кластеров.
Этапы этого алгоритма: -
1) Начните со случайного количества точек в соответствии с количеством кластеров в качестве их центроидов.
2) Теперь мы должны отнести каждую точку к ближайшему кластеру, вычислив расстояние этой точки от всех точек, присутствующих в различных кластерах. Таким образом, все точки будут отнесены к определенному кластеру.
3) Найдите новый центр кластера, взяв среднее значение всех точек в этом соответствующем кластере, и назначьте это среднее значение этой случайной точке. Итак, теперь каждая случайная точка станет центром каждого из кластеров.
4) Повторяйте 2 вышеуказанных шага до тех пор, пока в значениях центров кластеров больше не будет видно изменений.
Приложения: -
1) Используется везде, где нам нужно выполнить кластеризацию,
2) Обнаружение мошенничества,
3) Кластеризация веб-данных,
4) кластеризация различных пород различных животных,
5) кластеризация лиц, проживающих в определенном городе,
Программирование с использованием scikit-learn: -
Во-первых, я создал набор данных для алгоритма, используя numpy, и код для этого:
Реализация KMeans с использованием sklearn: -
Выход алгоритма: -
Надеюсь, вам понравилось!