Python 为非线性分类器寻找特定于标签的顶部特征

Python 为非线性分类器寻找特定于标签的顶部特征,python,scikit-learn,classification,random-forest,xgboost,Python,Scikit Learn,Classification,Random Forest,Xgboost,在随机林/XG Boost分类器中,是否有任何函数提供每个标签的顶部特征?classifier.feature\u importances\u仅为整个分类器提供顶级特征 寻找类似于sklearn中SVM和Naive Bayes分类器的标签特定顶级功能的分类器.coef。首先,Random Forest/Xgboost甚至简单的决策树/任意树集合是一种固有的多类分类模型。因此,它将预测多类输出,而无需在二元分类器上使用任何包装器(1对1/1对Rest)(逻辑回归/SVM/SGDClassizer就

在随机林/XG Boost分类器中,是否有任何函数提供每个标签的顶部特征?
classifier.feature\u importances\u
仅为整个分类器提供顶级特征


寻找类似于sklearn中SVM和Naive Bayes分类器的标签特定顶级功能的分类器.coef。

首先,Random Forest/Xgboost甚至简单的决策树/任意树集合是一种固有的多类分类模型。因此,它将预测多类输出,而无需在二元分类器上使用任何包装器(1对1/1对Rest)(逻辑回归/SVM/SGDClassizer就是这样做的)

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

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

一些例子

试试这个

或1对休息也是一个不错的选择,但需要很多时间

import pandas as pd
feature_importances = pd.DataFrame(rf.feature_importances_,
                               index = X_train.columns,
                      columns=['importance']).sort_values('importance',ascending=False)