我有一个约有30个功能和最终通过/失败标签的二进制分类问题。我首先训练了一个分类器,以能够预测新实例是通过还是失败,但是现在我想更深入地了解。
我如何根据其特征对这些项目通过或失败的原因进行一些分析?理想情况下,我希望能够显示与每个因素相关的最重要的因素。使这一点复杂化的是,我的功能不一定在统计上相互独立。我应该研究哪种方法,哪些关键字可以为我指明正确的方向?
一些初步想法:使用决策树分类器(ID3或CART),并在树的顶部查看主要因素。我不确定这种方法的鲁棒性,也不清楚如何分配每个因素的重要性(人们只会得到一个有序列表)。
答案 0 :(得分:1)
如果我正确理解您的目标,则可能需要考虑使用Random Forest model。随机森林的优势在于,凭借算法的工作原理,自然地为这些功能提供了重要性。
在Python的scikit-learn中,签出sklearn.ensemble.RandomForestClassifier()
。 feature_importances_
将返回我认为您要查找的“权重”。在documentation中查看示例。
或者,您可以使用R的randomForest包。构建模型后,您可以使用importance()
提取特征重要性值。