Оценить:
 Рейтинг: 0

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

Год написания книги
2024
Теги
<< 1 2 3 4 5 6 7 8 9 ... 31 >>
На страницу:
5 из 31
Настройки чтения
Размер шрифта
Высота строк
Поля

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

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

colors = ['navy', 'turquoise']

lw = 2

for color, i, target_name in zip(colors, [0, 1], target_names):

plt.scatter(X_pca[y == i, 0], X_pca[y == i, 1], color=color, alpha=.8, lw=lw,

label=target_name)

plt.legend(loc='best', shadow=False, scatterpoints=1)

plt.title('PCA of Breast Cancer Wisconsin dataset')

plt.xlabel('Principal Component 1')

plt.ylabel('Principal Component 2')

plt.show()

```

Этот код загружает набор данных Breast Cancer Wisconsin, стандартизирует признаки, применяет метод главных компонент (PCA) для снижения размерности до 2 компонент и визуализирует результаты. В результате получаем двумерное представление данных о раке груди, которое помогает нам лучше понять структуру и взаимосвязи между признаками.

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

В коде мы выполняем следующие шаги:

1. Загрузка данных: Мы загружаем набор данных о раке груди и разделяем его на признаки (X) и метки классов (y).

2. Стандартизация признаков: Перед применением PCA признаки стандартизируются, чтобы среднее значение каждого признака было равно 0, а стандартное отклонение равнялось 1. Это необходимо для обеспечения одинаковой значимости всех признаков.

3. Применение PCA: Мы создаем экземпляр PCA с параметром `n_components=2`, чтобы снизить размерность данных до двух главных компонент.

4. Преобразование данных: С помощью метода `fit_transform()` мы преобразуем стандартизированные признаки (X_scaled) в новое двумерное пространство главных компонент (X_pca).

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
<< 1 2 3 4 5 6 7 8 9 ... 31 >>
На страницу:
5 из 31