如何推导出二元分类问题中的主要影响因素

Posted

技术标签:

【中文标题】如何推导出二元分类问题中的主要影响因素【英文标题】:How to derive the top contributing factors in a binary classification problem 【发布时间】:2019-06-24 03:41:48 【问题描述】:

我有一个包含大约 30 个特征和最终通过/失败标签的二元分类问题。我首先训练了一个分类器,使其能够预测新实例是否会通过或失败,但现在我想更深入地了解。

我如何才能根据这些项目的特征得出一些关于为什么这些项目通过或失败的分析?理想情况下,我希望能够显示与每个因素相关的权重的主要影响因素。使这一点复杂化的是,我的特征不一定在统计上彼此独立。我应该研究什么样的方法,什么样的关键词会给我指明正确的方向?

一些初步想法:使用决策树分类器(ID3 或 CART)并查看树的顶部以查找最重要的因素。我不确定这种方法有多稳健,我也不清楚如何分配每个因素的重要性(只会得到一个有序列表)。

【问题讨论】:

您好@adrix,您使用哪个库来开发模型? 我可以在任何 python 或 R 中工作:scikit-learn、MLLib、pytorch 等。不过我最初一直在 scikit-learn 中工作 【参考方案1】:

如果我正确理解您的目标,您可能需要考虑Random Forest model。随机森林的优势在于通过算法的工作原理自然地为特征提供重要性。

在 Python 的 scikit-learn 中,查看 sklearn.ensemble.RandomForestClassifier()feature_importances_ 将返回我相信您正在寻找的“权重”。查看documentation 中的示例。

或者,您可以使用 R 的 randomForest 包。构建模型后,可以使用importance()提取特征重要性值。

【讨论】:

以上是关于如何推导出二元分类问题中的主要影响因素的主要内容,如果未能解决你的问题,请参考以下文章

如何解读logistic回归分析

SPSS二元logistics回归结果分析

分类问题MINST数据集与二元分类器

使用 sklearn 中的 OneVsRestClassifier 将自定义的二元分类调整为多类分类

脑外伤急救后迟发性颅脑损伤影响因素分析案例

如何在spss进行logistic单因素回归分析