如何解决Python中每个列值的随机森林特征重要性
我目前有一个包含大量社区(样本)的数据集。还有一个名为“自治市”的列,其中包含社区所属的自治市的名称。我做了一个随机森林回归器,根据许多特征来预测荷兰的能源消耗(当然,“城市”列没有用作特征,也不是一个类)。
Sklearn 有一个特征重要性函数,但这是针对整个训练数据集的。我想知道是否有可能看到每个自治市哪些特征对训练模型最重要。我想看看我是否能找到各个城市特征重要性之间的空间差异。
首先我想,也许我可以看到训练数据中的每个样本哪些特征最重要,然后总结来自同一个自治市的所有样本(社区)。但是我在谷歌上找不到这样的东西。
希望有人能帮忙。
谢谢!
解决方法
获得训练模型的特征重要性。不能根据某一列特征要求重要性特征,因为它会自动使用训练模型的所有特征。
一个想法是为每一类社区训练一个模型。然后您将获得每个类的特征重要性列表并进行比较。当然,只有在不同类的数量相对较少的情况下才能这样做。
,第一个:根据您想要的功能分离您的数据,例如:
data1 = data[np.where(municipality==a)]
data2 = data[np.where(municipality==b)]
现在训练您的数据并查看基于 municipality
的重要性。并比较重要性只需查看 clf.feature_importance
结果并进行比较。
为了更好的答案写更好的问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。