Читаем Искусственный интеллект. Машинное обучение полностью

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


Пример 2

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

Набор данных содержит информацию о различных признаках опухолей, таких как радиус, текстура, периметр и другие. Для удобства эти данные загружаются из библиотеки `sklearn.datasets`. Каждый образец в наборе данных имеет также метку класса, указывающую, является ли опухоль злокачественной (1) или доброкачественной (0).

Далее применяется метод кластеризации KMeans, который пытается разделить образцы данных на заданное количество кластеров (в данном случае 2 кластера). Модель KMeans обучается на признаках образцов без учета меток классов, так как это задача обучения без учителя. Подробнее данный метод мы будем рассматривать позже.

После обучения модели для каждого образца вычисляется метка кластера, которой он принадлежит. Затем происходит визуализация полученных кластеров на плоскости, используя два из признаков: средний радиус (`mean radius`) и среднюю текстуру (`mean texture`). Каждый образец представлен точкой на графике, а его цвет обозначает принадлежность к одному из двух кластеров.

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

import pandas as pd

from sklearn.datasets import load_breast_cancer

from sklearn.cluster import KMeans

import matplotlib.pyplot as plt

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

breast_cancer_data = load_breast_cancer

# Преобразование данных в DataFrame

data = pd.DataFrame(data=breast_cancer_data.data, columns=breast_cancer_data.feature_names)

# Добавление меток классов в DataFrame

data['target'] = breast_cancer_data.target

# Создание объекта KMeans с 2 кластерами (для злокачественных и доброкачественных опухолей)

kmeans = KMeans(n_clusters=2)

# Обучение модели на данных без меток классов

kmeans.fit(data.drop('target', axis=1))

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

cluster_labels = kmeans.labels_

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

plt.scatter(data['mean radius'], data['mean texture'], c=cluster_labels, cmap='viridis')

plt.xlabel('Mean Radius')

plt.ylabel('Mean Texture')

plt.title('KMeans Clustering')

plt.show




Пример 3

Давайте возьмем набор данных о покупках клиентов в магазине и применим к нему метод кластеризации K-means. В этом примере мы будем использовать набор данных "Mall Customer Segmentation Data", который содержит информацию о клиентах магазина и их покупках.

```python

# Импортируем необходимые библиотеки

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from sklearn.cluster import KMeans

from sklearn.preprocessing import StandardScaler

# Загружаем данные

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

# Посмотрим на структуру данных

print(data.head)

# Определяем признаки для кластеризации (в данном случае возраст и расходы)

X = data[['Age', 'Spending Score (1-100)']].values

# Стандартизируем данные

scaler = StandardScaler

X_scaled = scaler.fit_transform(X)

# Определяем количество кластеров

k = 5

# Применяем метод кластеризации K-means

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

kmeans.fit(X_scaled)

y_pred = kmeans.predict(X_scaled)

# Визуализируем результаты кластеризации

plt.figure(figsize=(8, 6))

plt.scatter(X_scaled[:, 0], X_scaled[:, 1], c=y_pred, cmap='viridis')

plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='x', color='red', s=300, linewidth=5, label='Centroids')

plt.xlabel('Age')

plt.ylabel('Spending Score (1-100)')

plt.title('K-means clustering of Mall Customers')

plt.legend

plt.show

```

В этом коде мы загружаем данные о покупках клиентов, выбираем признаки для кластеризации (в данном случае возраст и расходы), стандартизируем данные, применяем метод кластеризации K-means и визуализируем результаты кластеризации. Каждый кластер обозначен разным цветом, а центроиды кластеров отмечены красными крестами.

В коде мы используем метод кластеризации K-means, который работает следующим образом:

1. Загрузка данных: Сначала мы загружаем данные о покупках клиентов из файла "mall_customers.csv".

2. Выбор признаков: Мы выбираем два признака для кластеризации – "Age" (возраст клиентов) и "Spending Score" (расходы клиентов).

3. Стандартизация данных: Поскольку признаки имеют разные диапазоны значений, мы стандартизируем их с помощью `StandardScaler`, чтобы все признаки имели среднее значение 0 и стандартное отклонение 1.

4. Определение количества кластеров: В данном примере мы выбираем 5 кластеров, но это число можно выбирать исходя из предпочтений или на основе бизнес-задачи.

Перейти на страницу:

Похожие книги

Об интеллекте
Об интеллекте

В книге "Об интеллекте" Джефф Хокинс представляет революционную теорию на стыке нейробиологии, психологии и кибернетики и описывающую систему "память-предсказание" как основу человеческого интеллекта. Автор отмечает, что все предшествующие попытки создания разумных машин провалились из-за фундаментальной ошибки разработчиков, стремившихся воссоздать человеческое поведение, но не учитывавших природу биологического разума. Джефф Хокинс предполагает, что идеи, сформулированные им в книге "Об интеллекте", лягут в основу создания истинного искусственного интеллекта - не копирующего, а превосходящего человеческий разум. Кроме этого книга содержит рассуждения о последствиях и возможностях создания разумных машин, взгляды автора на природу и отличительные особенности человеческого интеллекта.Книга рекомендуется всем, кого интересует устройство человеческого мозга и принципы его функционирования, а также тем, кто занимается проблемами разработки искусственного интеллекта.

Джефф Хокинс , Джеф Хокинс , Сандра Блейксли , Сандра Блэйксли

Зарубежная компьютерная, околокомпьютерная литература / Технические науки / Прочая компьютерная литература / Образование и наука / Книги по IT