Размер шрифта
-
+

Искусственный интеллект. Машинное обучение - стр. 32

```python

import matplotlib.pyplot as plt

# Визуализация кластеров

plt.scatter(iris.data[:, 0], iris.data[:, 1], c=labels, cmap='viridis')

plt.xlabel('Sepal length')

plt.ylabel('Sepal width')

plt.title('Clusters')

plt.show()

```

Этот код создает график, на котором каждый объект данных представлен точкой, а цвет точек указывает на принадлежность к кластеру. Таким образом, мы можем визуально оценить результаты кластеризации.

Таким образом, мы можем выполнить кластеризацию набора данных Iris с помощью метода k-средних и визуализировать результаты, чтобы лучше понять структуру данных.


Пример 2

Давайте рассмотрим другую задачу кластеризации с использованием набора данных "Mall Customer Segmentation", который содержит информацию о клиентах торгового центра. Наша цель будет состоять в кластеризации клиентов на основе их характеристик для выделения различных сегментов клиентов.

Описание задачи:

Набор данных "Mall Customer Segmentation" содержит информацию о клиентах торгового центра, такую как пол, возраст, доход и оценка расходов. Наша задача – разбить клиентов на кластеры на основе этих характеристик.

Описание хода решения:

1. Загрузка данных: Мы загрузим набор данных и посмотрим на его структуру и характеристики.

2. Предварительная обработка данных: Если необходимо, мы выполним предварительную обработку данных, такую как масштабирование функций или заполнение пропущенных значений.

3. Кластеризация: Мы применим выбранный метод кластеризации (например, k-средних или иерархическую кластеризацию) к данным о клиентах.

4. Визуализация результатов: Мы визуализируем результаты кластеризации, чтобы лучше понять структуру различных сегментов клиентов.

Давайте приступим к кодированию.

Для начала давайте загрузим набор данных "Mall Customer Segmentation" и изучим его структуру:

```python

import pandas as pd

# Загрузка данных

data = pd.read_csv('mall_customers.csv')

# Вывод первых нескольких строк данных для ознакомления

print(data.head())

```

После загрузки данных мы можем выполнить предварительную обработку, если это необходимо. В данном случае данные уже предобработаны и готовы к кластеризации.

Теперь давайте приступим к кластеризации. Для этого воспользуемся методом кластеризации k-средних:

```python

from sklearn.cluster import KMeans

# Инициализация модели k-средних

kmeans = KMeans(n_clusters=5, random_state=42)

# Обучение модели на данных

kmeans.fit(data)

# Получение меток кластеров для каждого клиента

labels = kmeans.labels_

```

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

```python

import matplotlib.pyplot as plt

# Визуализация кластеров

plt.scatter(data['Age'], data['Annual Income (k$)'], c=labels, cmap='viridis')

plt.xlabel('Age')

plt.ylabel('Annual Income (k$)')

plt.title('Clusters of Mall Customers')

plt.show()

```

Этот код создает график, на котором каждый клиент представлен точкой, а цвет точек указывает на принадлежность к кластеру. Таким образом, мы можем визуально оценить результаты кластеризации и выделить различные сегменты клиентов в торговом центре.


Иерархическая кластеризация

Это метод, который строит иерархию кластеров, представляющую собой древовидную структуру, называемую дендрограммой. Принцип работы этого метода заключается в постепенном объединении ближайших кластеров до тех пор, пока все объекты не окажутся в единственном кластере.

Страница 32