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

How to derive the top contributing factors in a binary classification problem

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

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

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

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

在 Python 的 scikit-learn 中,查看 sklearn.ensemble.RandomForestClassifier()feature_importances_ 会 return "weights" 我相信你正在寻找。查看 documentation 中的示例。

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