【问题标题】:Finding label-specific top features for non-linear classifier为非线性分类器寻找特定于标签的顶级特征
【发布时间】:2019-06-14 11:04:43
【问题描述】:

是否有任何函数可以给出随机森林/XG Boost 分类器中每个标签的主要特征? classifier.feature_importances_ 仅提供分类器整体的顶级特征。

寻找类似于 classifier.coef_ 的东西,它为 sklearn 中的 SVM 和朴素贝叶斯分类器提供标签特定的顶级功能。

【问题讨论】:

    标签: python scikit-learn classification random-forest xgboost


    【解决方案1】:
    import pandas as pd
    feature_importances = pd.DataFrame(rf.feature_importances_,
                                   index = X_train.columns,
                          columns=['importance']).sort_values('importance',ascending=False)
    

    试试这个!

    Or 1 vs Rest 也是一个不错的选择,但需要很多时间。

    【讨论】:

      【解决方案2】:

      首先,随机森林/Xgboost 甚至一个简单的决策树/任何树集成都是一个固有的多类分类模型。因此,它将预测多类输出,而无需在二元分类器之上使用任何包装器(1 vs 1 / 1 vs Rest)(这是逻辑回归/SVM/SGDClassifier 所做的)。

      因此,您可以单独获得整体多类分类的特征重要性,而不是单个标签的特征重要性。

      如果您真的想知道各个标签的特征重要性,请使用 onevsRest wrapper 和 decisionTree/RandomForest/Xgboost 作为估计器。 这不是推荐的方法,因为与单个决策树相比,结果可能不是最优的。

      一些例子here

      【讨论】:

        猜你喜欢
        • 2019-03-09
        • 1970-01-01
        • 2016-08-20
        • 2011-07-06
        • 2011-07-26
        • 2021-07-18
        • 2018-05-26
        • 1970-01-01
        • 2021-09-28
        相关资源
        最近更新 更多