【问题标题】:Random Forest feature importance per value of a column in PythonPython中每列值的随机森林特征重要性
【发布时间】:2021-05-13 07:03:18
【问题描述】:

我目前有一个包含大量社区(样本)的数据集。还有一列称为“市政”,其中包含该社区所属的自治市的名称。我做了一个随机森林回归器来根据许多特征预测荷兰的能源消耗(当然“市政”列没有用作特征,也不是一个类)。

Sklearn 有一个特征重要性函数,但这是针对整个训练数据集的。我想知道是否可以查看每个城市的哪些特征对训练模型最重要。我想看看能否找到各个城市的特征重要性之间的空间差异。

首先我想,也许我可以为训练数据中的每个样本查看哪些特征最重要,然后总结来自同一城市的所有样本(社区)。但是我在谷歌上找不到这样的东西。

希望有人能提供帮助。

谢谢!

【问题讨论】:

    标签: python pandas scikit-learn regression random-forest


    【解决方案1】:

    获得训练模型的特征重要性。您不能根据一个列特征来要求重要性特征,因为它会自动使用训练模型的所有特征。

    一个想法是为每一类邻域训练一个模型。然后,您将获得每个类的特征重要性列表并进行比较。当然,只有当不同类的数量相对较少时,您才能这样做。

    【讨论】:

    • 谢谢,我试试看:)
    【解决方案2】:

    第一个:根据您想要的功能分离您的数据,例如:

    data1 = data[np.where(municipality==a)]

    data2 = data[np.where(municipality==b)]

    现在训练您的数据并根据 municipality 的任何内容查看重要性。要比较重要性,只需查看clf.feature_importance 结果并进行比较。

    为了更好的答案,写出更好的问题

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 2021-05-09
      • 1970-01-01
      • 2020-05-26
      • 2019-01-28
      • 2017-10-21
      • 2017-01-06
      • 2019-09-01
      • 2015-05-12
      相关资源
      最近更新 更多