热线电话:13121318867

登录
2023-12-14 阅读量: 7438
制作雷达图报错

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).

该怎样修改呢?

0.0000
2
关注作者
收藏
评论(2)

发表评论