В мире неконтролируемого обучения алгоритмы кластеризации используются для группировки похожих точек данных вместе, а кластеризация K-средних является одним из самых популярных методов. В этой статье мы рассмотрим кластеризацию K-средних с помощью простой демонстрации с примерами кода.
Что такое кластеризация K-средних?
Кластеризация K-средних — это алгоритм обучения без учителя, который используется для кластеризации немаркированных точек данных в кластеры. Он работает путем случайного назначения точек данных k кластерам, где k — это количество кластеров, которое пользователь указывает заранее. Затем алгоритм итеративно перемещает точки данных между кластерами, пока не будет найдено решение, которое минимизирует сумму квадратов внутри кластера.
Алгоритм K-Means является популярным выбором для кластеризации точек данных, поскольку он быстр, прост в использовании и дает хорошие результаты на практике.
Простая демонстрация
Чтобы получить представление о том, как работает кластеризация K-средних, давайте посмотрим на простую демонстрацию. Для этой демонстрации мы будем использовать библиотеку кластеризации k-means от Scikit-Learn.
Во-первых, давайте создадим несколько точек данных для кластеризации. Мы будем использовать функцию NumPy random.rand
для создания 100 точек, равномерно распределенных в двумерном пространстве.
import numpy as np
# Generate random data points
data = np.random.rand(100, 2)
Теперь давайте используем K-Means для кластеризации этих данных. Мы будем использовать класс KMeans
из Scikit-Learn и установим количество кластеров равным 3.
from sklearn.cluster import KMeans
# Initialize KMeans model
kmeans = KMeans(n_clusters=3)
# Fit the model to the data
kmeans.fit(data)
# Predict the clusters for each data point
labels = kmeans.predict(data)
Наконец, давайте визуализируем кластеры. Мы будем использовать Matplotlib для построения точек данных и окрашивания их в соответствии с их кластерами.
import matplotlib.pyplot as plt
# Plot the data points
plt.scatter(data[:,0], data[:,1], c=labels, cmap="rainbow")
# Show the plot
plt.show()
Результат должен выглядеть примерно так:
Как видите, точки данных сгруппированы в три отдельные группы.
Заключение
В этой статье мы рассмотрели кластеризацию K-средних и увидели простую демонстрацию того, как она работает. K-Means — это мощный и популярный алгоритм обучения без учителя, и его стоит изучить, если вы заинтересованы в кластеризации данных.
Если вы хотите узнать больше о кластеризации методом K-средних, я рекомендую следующие ресурсы:
- Визуальное объяснение кластеризации K-средних
- Кластеризация K-средних в Python
- Введение в кластеризацию K-средних
Удачной кластеризации!