【问题标题】:Feature importance calculation for every features to every tree in Random Forest随机森林中每棵树的每个特征的特征重要性计算
【发布时间】:2019-09-01 20:50:33
【问题描述】:

我使用python库sklearn.ensemble.RandomForestClassifier。 我想知道所有树的每个特征的特征重要性。假设,我有P 特征和M 树。 我想计算PxM 矩阵,其中每个特征的特征重要性都计算到每棵树。 Here 是 sklearn 用于随机森林特征重要性的源代码。在这种方法中,我认为all_importances 变量是PxM 矩阵。但是如何访问该变量?

提前致谢。

【问题讨论】:

    标签: python-3.x scikit-learn random-forest decision-tree


    【解决方案1】:

    您可以使用.estimators_ 访问各个树,然后调用feature_importances_

    这是一个例子:

    from sklearn.ensemble import RandomForestClassifier
    from sklearn.datasets import make_classification
    
    X, y = make_classification(n_samples=1000, n_features=4,
                               n_informative=2, n_redundant=0,
                               random_state=0, shuffle=False)
    clf = RandomForestClassifier(n_estimators=5, max_depth=2,
                                 random_state=0)
    clf.fit(X, y)
    
    feature_imp_ = [tree.feature_importances_.T for tree in clf.estimators_]
    

    输出:

    [array([0.02057642, 0.96636638, 0.        , 0.01305721]),
     array([0.86128406, 0.        , 0.13871594, 0.        ]),
     array([0.00471007, 0.98648234, 0.        , 0.00880759]),
     array([0.02730208, 0.97269792, 0.        , 0.        ]),
     array([0.65919044, 0.34080956, 0.        , 0.        ])]
    

    【讨论】:

      猜你喜欢
      • 2021-05-09
      • 2021-05-13
      • 2021-05-23
      • 2021-08-29
      • 2019-01-09
      • 2015-03-07
      • 2021-09-09
      • 2015-05-12
      • 1970-01-01
      相关资源
      最近更新 更多