【问题标题】:Random Forest "Feature Importance"随机森林“特征重要性”
【发布时间】:2021-05-09 13:09:37
【问题描述】:

我目前正在研究随机森林分类器。随机森林分类器的参数之一是“Criterion”,它有 2 个选项:Gini 或 Entropy。基尼值低是首选,熵值高是首选。默认情况下,gini 是随机森林分类器的标准。

sklearn 提供了一个名为feature_importances_ 的属性,我们在其中获取所提供的属性/特征的值。通过使用我们可以选择一些特征并使用“阈值和SelectFromModel”消除一些特征

我的疑问是,这些feature_importances_ 的计算依据是什么?假设默认标准“Gini”可用。如果我假设feature_importances_ 是“Gini Importances”,则首选低值,但在特征重要性方面,首选高值

【问题讨论】:

    标签: scikit-learn random-forest


    【解决方案1】:

    features_importances_ 总是输出特征的重要性。 值越大,特征越重要,不要考虑基尼或熵标准,没关系。标准用于构建模型。训练模型后应用特征重要性,您只需“分析”并观察哪些值与您的训练模型更相关。

    此外,您会看到所有 features_importances_ 的总和为 1,因此重要性也被视为百分比。

    由于 RandomForest 是由几棵树组成的,因此对所有树的特征重要性进行平均。

    【讨论】:

    • 如果我使用“SelectFromModel”只选择最重要的特征并忽略不太重要的特征,那么模型只使用选定的特征构建,对吧?
    • 没错!你完全正确!更重要的是,当您减少特征时,您可能会获得更小的准确度。然后,您必须评估您更喜欢哪种模型:1) 95% 的准确率和 100 个特征或 2) 90% 的准确率和 5 个特征。 (这些当然是发明的数字)。根据您的问题/应用,您应该决定哪些模型更适合。
    猜你喜欢
    • 2021-08-29
    • 2015-05-12
    • 1970-01-01
    • 2020-05-26
    • 2017-10-21
    • 2019-01-28
    • 1970-01-01
    • 2021-05-13
    • 2016-11-06
    相关资源
    最近更新 更多