0Pricing
Learn AI with Python · Урок

Проект по кластеризации методом K-средних

Применение метода к реальному набору данных

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

Проект по кластеризации K-Means

Проект по кластеризации K-Means

В этом проекте мы применим кластеризацию K-Means к набору данных из реального мира: для сегментации клиентов. Цель — сгруппировать клиентов на основе их моделей расходов.

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

Обзор набора данных

Обзор набора данных

Набор данных содержит следующие столбцы:

  • Идентификатор клиента: уникальный идентификатор каждого клиента.
  • Возраст: возраст клиента.
  • Годовой доход: годовой доход в тысячах долларов.
  • Оценка расходов: оценка, присвоенная на основе поведения клиента и особенностей его расходов (1–100).

Шаг 1: импорт набора данных и библиотек

Шаг 1: импорт набора данных и библиотек

Начнём с импорта необходимых библиотек и загрузки набора данных:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())

Шаг 2: Предварительная обработка данных

Шаг 2: Предварительная обработка данных

Мы выберем релевантные признаки для кластеризации и при необходимости нормализуем данные. В этом проекте мы будем использовать Годовой доход и Оценку расходов:

# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])

Шаг 3: определение оптимального количества кластеров

Шаг 3: определение оптимального количества кластеров

Мы используем метод локтя, чтобы найти оптимальное количество кластеров, построив график суммы квадратов расстояний внутри кластеров (WCSS) для разных значений K:

wcss = []
for i in range(1, 11):
    kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
    kmeans.fit(X)
    wcss.append(kmeans.inertia_)

plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()

Шаг 4: Применение кластеризации K-Means

Шаг 4: Применение кластеризации K-Means

На основе метода локтя мы выбираем оптимальное число кластеров (например, K=5) и выполняем fit модели K-Means:

kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)

# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())

Шаг 5: визуализация кластеров

Шаг 5: визуализация кластеров

Мы можем отобразить кластеры в двумерном пространстве, чтобы увидеть, насколько хорошо они разделены:

plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()

Шаг 6: Интерпретация кластеров

Шаг 6: Интерпретация кластеров

Каждый кластер представляет группу клиентов со схожими моделями расходов. Например:

  • Кластер 1: высокий доход, высокие расходы.
  • Кластер 2: низкий доход, низкие расходы.
  • Кластер 3: средний доход, высокие расходы.

Проблемы кластеризации в реальном мире

Проблемы кластеризации в реальном мире

Несмотря на широкие возможности кластеризации, её применение в реальных условиях связано с такими проблемами, как:

  • Многомерные наборы данных.
  • Зашумлённые или неполные данные.
  • Содержательная интерпретация результатов кластеризации.

Итоги и следующие шаги

Итоги и следующие шаги

В этом проекте мы:

  • Исследовали набор данных из реального мира.
  • Применили кластеризацию методом K-Means и визуализировали результаты.
  • Интерпретировали кластеры, чтобы понять поведение клиентов.

Далее мы изучим методы снижения размерности, такие как PCA и t-SNE.

Проект по кластеризации методом K-средних — иллюстрация 10

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

Урок «Проект по кластеризации методом 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 структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 5.

Сколько времени занимает урок «Проект по кластеризации методом K-средних»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Learn AI with Python?

Да. Каждый урок Learn AI with Python включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

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