查找非线性分类器的标签特定的主要特征

时间:2019-01-21 04:25:28

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

在Random Forest / XG Boost分类器中,是否有任何功能可以赋予每个标签的主要功能? classifier.feature_importances_仅提供分类器整体的主要功能。

正在寻找类似于classifier.coef_的东西,这些东西为sklearn中的SVM和Naive Bayes分类器提供了标签特定的主要功能。

2 个答案:

答案 0 :(得分:0)

首先,Random Forest / Xgboost甚至是简单的DecisionTree / any Tree集合都是固有的多类分类模型。因此,它将在二元分类器之上(而不是logistic回归/ SVM / SGDClassifier会执行的操作)预测多类输出而无需使用任何包装器(1 vs 1/1 vs Rest)。

因此,对于单独的整体多类分类而不是单个标签,就可以获得功能重要性。

如果您真的想知道各个标签的功能重要性,请使用带有决策树/ RandomForest / Xgboost的onevsRest wrapper作为估计量。 不建议使用这种方法,因为与单个决策树相比,结果可能不理想。

一些示例here

答案 1 :(得分:0)

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

尝试一下!

或者1 vs休息也是一个不错的选择,但是要花费很多时间。