0Pricing
Python Academy · Урок

Кластеризация методом K-средних

Пошаговое изучение метода

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

Кластеризация методом K-средних

Кластеризация методом K-средних

Метод K-средних — один из самых популярных алгоритмов кластеризации. Он разделяет данные на заранее заданное число кластеров (K), минимизируя внутрикластерные расстояния.

Он итеративно подбирает наилучшее распределение точек по кластерам и центроиды.

Кластеризация методом K-средних — иллюстрация 1

Как работает метод K-средних

Как работает метод K-средних

Метод K-средних выполняется в следующие этапы:

  1. Инициализируйте K случайных центроидов.
  2. Отнесите каждую точку данных к ближайшему центроиду.
  3. Пересчитайте центроиды как среднее значение всех точек в кластере.
  4. Повторяйте шаги 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-средних — иллюстрация 10

Часто задаваемые вопросы

Урок «Кластеризация методом 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 — локальная установка не требуется.

Все уроки этого курса

  1. Знакомство с алгоритмами кластеризации
  2. Кластеризация методом K-средних
  3. Проект по кластеризации методом K-средних
  4. Основы снижения размерности
  5. Применение снижения размерности
← Назад к Python Academy