为非线性分类器寻找特定于标签的***特征
Posted
技术标签:
【中文标题】为非线性分类器寻找特定于标签的***特征【英文标题】:Finding label-specific top features for non-linear classifier 【发布时间】:2019-06-14 11:04:43 【问题描述】:是否有任何函数可以给出随机森林/XG Boost 分类器中每个标签的主要特征? classifier.feature_importances_
仅提供分类器整体的***特征。
寻找类似于 classifier.coef_
的东西,它为 sklearn 中的 SVM 和朴素贝叶斯分类器提供标签特定的***功能。
【问题讨论】:
【参考方案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。
【讨论】:
以上是关于为非线性分类器寻找特定于标签的***特征的主要内容,如果未能解决你的问题,请参考以下文章