CDA140702

2023-12-14   阅读量: 5882

制作雷达图报错

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

该怎样修改呢?

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 2 关注作者 收藏

评论(2)

ermutuxia
2023-12-15

看下你的features.columns取值是什么

print(features.columns)

0.0000 0 0 回复
ermutuxia
2023-12-15

上面提示说你的刻度线标签和刻度线根数不一样

0.0000 0 0 回复

推荐帖子


    暂无数据

推荐课程