import numpy as np
from sklearn.cluster import KMeans
import pandas as pd
# Создаем синтетические данные (нормализованные от 0 до 1)
# Столбцы: [Экспорт, Импорт, Диверсификация]
data = np.array([
[0.90, 0.20, 0.30], # Регион А
[0.10, 0.80, 0.40], # Регион Б
[0.50, 0.50, 0.90], # Регион В
[0.85, 0.15, 0.25], # Регион Г
[0.20, 0.75, 0.45] # Регион Д
])
# Инициализируем модель K-Means
# Допустим, мы хотим выделить 3 типа регионов
kmeans = KMeans(n_clusters=3, random_state=42)
# Обучаем модель
kmeans.fit(data)
# Получаем результаты
labels = kmeans.labels_
centers = kmeans.cluster_centers_
import matplotlib.pyplot as plt
# Настраиваем цвета для кластеров
colors = ['red', 'blue', 'green']
cluster_names = ['Импортеры', 'Экспортеры', 'Универсалы']
plt.figure(figsize=(10, 6))
# Рисуем только точки регионов
for i in range(3):
# Фильтруем данные: берем только те строки, которые ИИ отнес к кластеру i
points = data[labels == i]
plt.scatter(points[:, 0], points[:, 1], s=150, c=colors[i], edgecolors='black', alpha=0.7, label=f'{cluster_names[i]}')
# Оформление
plt.title('Сегментация регионов РФ (Кластеризация)', fontsize=14)
plt.xlabel('Объем Экспорта (нормализованный)', fontsize=12)
plt.ylabel('Объем Импорта (нормализованный)', fontsize=12)
plt.legend()
plt.grid(True, linestyle='--', alpha=0.5)
plt.show()