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

Как работает метод K-средних
Как работает метод K-средних
Метод K-средних выполняется в следующие этапы:
- Инициализируйте K случайных центроидов.
- Отнесите каждую точку данных к ближайшему центроиду.
- Пересчитайте центроиды как среднее значение всех точек в кластере.
- Повторяйте шаги 2 и 3, пока центроиды не стабилизируются или не будет достигнуто максимальное число итераций.
Выбор количества кластеров
Выбор количества кластеров
Значение K — критически важный параметр. К распространённым методам выбора K относятся:
- Метод локтя: Постройте график внутрикластерной суммы квадратов (WCSS) для разных значений K и найдите «точку локтя».
- Коэффициент силуэта: Показывает, насколько хорошо разделены кластеры.
Пример набора данных для метода K-средних
Пример набора данных для метода K-средних
Рассмотрим набор данных с точками, распределёнными в двумерном пространстве. Каждая точка имеет:
- X: Координату на горизонтальной оси.
- Y: Координату на вертикальной оси.
Метод K-средних объединит эти точки в кластеры на основе их близости.
Реализация метода K-средних в Python
Реализация метода K-средних в 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-средних
Преимущества метода K-средних
Метод K-средних имеет несколько преимуществ:
- Прост в понимании и реализации.
- Эффективен для больших наборов данных.
- Хорошо работает, когда кластеры чётко определены.
Ограничения метода K-средних
Ограничения метода K-средних
К ограничениям метода K-средних относятся:
- Чувствительность к начальному расположению центроидов.
- Сложности при работе с кластерами несферической формы.
- Чувствительность к выбросам и зашумлённым данным.
Итоги и следующие шаги
Итоги и следующие шаги
В этом уроке мы рассмотрели:
- Принцип работы кластеризации методом K-средних.
- Выбор количества кластеров с помощью таких методов, как метод локтя.
- Реализацию и визуализацию метода K-средних в Python.
Далее мы применим метод K-средних к реальному набору данных, чтобы получить практический опыт.

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