Untitled
unknown
plain_text
a year ago
1.3 kB
3
Indexable
from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA import matplotlib.pyplot as plt import seaborn as sns # Подготовка данных features = ['MO_dealer_monthly_ton_GZPN', 'KP_dealer_monthly_ton_GZPN', 'total_monthly_ton_dil'] df_clustering = df[features].dropna() # Удаляем пропущенные значения # Стандартизация признаков scaler = StandardScaler() df_scaled = scaler.fit_transform(df_clustering) # Применяем KMeans kmeans = KMeans(n_clusters=4, random_state=42) # Выбираем 4 кластера для примера df_clustering['cluster'] = kmeans.fit_predict(df_scaled) # Применяем PCA для уменьшения размерности до 2D для визуализации pca = PCA(n_components=2) df_pca = pca.fit_transform(df_scaled) df_clustering['pca1'] = df_pca[:, 0] df_clustering['pca2'] = df_pca[:, 1] # Визуализация plt.figure(figsize=(10, 8)) sns.scatterplot(x='pca1', y='pca2', hue='cluster', data=df_clustering, palette='viridis') plt.title('Визуализация кластеров клиентов') plt.xlabel('PCA Component 1') plt.ylabel('PCA Component 2') plt.legend(title='Cluster') plt.show()
Editor is loading...
Leave a Comment