Кластеризация методом K-средних
Пошаговое изучение метода
«Кластеризация методом K-средних» — бесплатный урок Learn AI with Python на CoddyKit. Это урок 2 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Learn AI with Python, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Learn AI with Python содержит 5 уроков всего.
Кластеризация K-Means
Кластеризация K-Means
K-Means — один из самых популярных алгоритмов кластеризации. Он разделяет данные на заранее заданное число кластеров (K), минимизируя внутрикластерные расстояния.
Алгоритм итеративно подбирает наилучшую принадлежность точек к кластерам и центроиды.

Как работает метод K-средних
Как работает метод K-средних
Метод K-средних выполняет следующие шаги:
- Инициализируйте K случайных центроидов.
- Назначьте каждую точку данных ближайшему центроиду.
- Пересчитайте центроиды как среднее значение всех точек в кластере.
- Повторяйте шаги 2 и 3, пока центроиды не стабилизируются или не будет достигнуто максимальное количество итераций.
Выбор количества кластеров
Выбор количества кластеров
Значение K — важный параметр. К распространённым методам выбора K относятся:
- Метод локтя: постройте график суммы квадратов расстояний внутри кластеров (WCSS) для разных значений K и найдите «точку локтя».
- Коэффициент силуэта: показывает, насколько хорошо разделены кластеры.
Пример набора данных для K-Means
Пример набора данных для K-Means
Рассмотрим набор данных с точками, распределёнными в двумерном пространстве. Каждая точка имеет:
- X: Координату на горизонтальной оси.
- Y: Координату на вертикальной оси.
K-Means сгруппирует эти точки в кластеры на основе их близости.
Реализация K-Means в Python
Реализация K-Means в Python
Для реализации алгоритма мы воспользуемся классом KMeans из библиотеки scikit-learn:
from sklearn.cluster import KMeans
import numpy as np
# Example dataset
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# K-Means model
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)Визуализация кластеров
Визуализация кластеров
Мы можем визуализировать кластеры, построив график с точками данных и центроидами:
import matplotlib.pyplot as plt
# Scatter plot of data points
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
# Plot cluster centers
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('K-Means Clustering')
plt.show()Преимущества K-Means
Преимущества K-Means
K-Means имеет несколько преимуществ:
- Простота и лёгкость реализации.
- Эффективность при работе с большими наборами данных.
- Хорошая работа с чётко определёнными кластерами.
Ограничения K-Means
Ограничения K-Means
К ограничениям K-Means относятся:
- Чувствительность к начальному размещению центроидов.
- Сложности при работе с несферическими кластерами.
- Чувствительность к выбросам и зашумлённым данным.
Итоги и следующие шаги
Итоги и следующие шаги
В этом уроке мы рассмотрели:
- принцип работы кластеризации методом K-средних;
- выбор количества кластеров с помощью таких методов, как метод локтя;
- реализацию и визуализацию метода K-средних в Python.
Далее мы применим метод K-средних к реальному набору данных, чтобы получить практический опыт.

Часто задаваемые вопросы
Урок «Кластеризация методом K-средних» бесплатный?
Да — полный текст урока «Кластеризация методом K-средних» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Learn AI with Python, подпишись на CoddyKit PRO. Курс Learn AI with Python содержит 5 уроков всего.
Чему я научусь в уроке «Кластеризация методом K-средних»?
Пошаговое изучение метода Ты практикуешь Learn AI with Python с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Learn AI with Python?
Предыдущий опыт не требуется. Learn AI with Python на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 5.
Сколько времени занимает урок «Кластеризация методом K-средних»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Learn AI with Python?
Да. Каждый урок Learn AI with Python включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в алгоритмы кластеризации
- Кластеризация методом K-средних
- Проект по кластеризации методом K-средних
- Основы снижения размерности
- Применение снижения размерности