You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib报shape mismatch错误:随机森林特征重要性绘图失败如何解决

错误原因分析

这个错误和数据集体量没有关系,完全是代码逻辑错误导致,核心问题有两个:

  • 绘图时传入的标签和特征重要性维度不匹配:你调用plt.barh时第一个参数用了df.columns,你的df包含id、points、isAvailable、frequency、Score共5个列,而你训练随机森林仅用了3个特征,rf.feature_importances_的长度等于训练用的特征数量,两者长度不一致就会触发形状不匹配报错。
  • 实际训练的特征和你预期的不一致:你贴出的rf.feature_importances_输出是长度为4的数组,说明你实际运行代码时传入的训练特征是4个,和你写的['points','isAvailable', 'frequency']3个特征不符,大概率是运行时list_of_columns多写了一个字段,比如误把id列加进去了。
修复方案

先核对训练特征列表list_of_columns,确认只包含你要分析的3个目标特征,之后修改绘图代码,使用训练用的特征列表作为标签即可:

plt.barh(list_of_columns, rf.feature_importances_)
plt.xlabel("特征重要性得分")
plt.ylabel("特征名称")
plt.show()

内容的提问来源于stack exchange,提问作者n.mathfreak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 17:54:04