import pandas as pd
features = pd.read_excel(r'D:/第5章找決策樹/data/air_features.xlsx', index_col='ID') # 導入數據,并以ID作為索引
features_scaler = 1.0 * (features - features.mean()) / features.std() # 數據標準化
# 開始聚類
from sklearn.cluster import KMeans
model = KMeans(n_clusters=5, random_state=3) # 輸入指定聚類中心數和隨機種子
model.fit(features_scaler) # 模型訓練
# 簡單打印結果
r1 = pd.Series(model.labels_).value_counts() # 統計各個類別的數目
r2 = pd.DataFrame(model.cluster_centers_) # 找出聚類中心
r = pd.concat([r2, r1], axis=1) # 橫向連接(0是縱向),得到聚類中心對應的類別下的數目
r.columns = list(features.columns) + ['類別數目'] # 重命名表頭
print(r)
# 詳細輸出原始數據及對應的類別
r = pd.concat([features, pd.Series(model.labels_, index=features.index)], axis=1)
r.columns = list(features.columns) + ['聚類類別'] # 重命名表頭
r.to_excel(r'D:/第5章找決策樹/data/features_type.xlsx') # 保存結果
from radar_map import plot # 導入自定義繪制乘客分群結果的雷達圖函數
# 調用函數,對模型結果進行可視化繪圖
plot(kmeans_model=model, columns=features.columns)
運行會出現這個
ValueError: The number of FixedLocator locations (6), usually from a call to set_ticks, does not match the number of ticklabels (5).
該怎樣修改呢?






