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

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

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)