sap*_*ico 5 machine-learning feature-selection scikit-learn logistic-regression coefficients
我正在使用Logistic回归(在scikit中)来解决二进制分类问题,并且我有兴趣能够解释每个单独的预测.更确切地说,我有兴趣预测正类的概率,并测量每个特征对该预测的重要性.
使用系数(Betas)作为衡量重要性通常是一个坏主意,如此回答,但我还没有找到一个好的选择.
到目前为止,我发现的最好的是以下3个选项:
所有选项(使用贝塔,蒙特卡罗和"留一出")对我来说似乎都是糟糕的解决方案.
实际问题:在决策时,使用线性分类器解释每个要素的重要性的最佳方法是什么?
快速注释#1:对于随机森林这是微不足道的,我们可以简单地使用prediction + bias分解,正如在这篇博文中精美地解释的那样.这里的问题是如何使用线性分类器(如Logistic回归)进行类似的操作.
如果您想了解特定决策中特征的重要性,为什么不逐步模拟decision_function(由 scikit-learn 提供,以便您可以测试是否获得相同的值)?线性分类器的决策函数很简单:
intercept_ + coef_[0]*feature[0] + coef_[1]*feature[1] + ...
那么特征i的重要性就是coef_[i]*feature[i]。当然,这类似于查看系数的大小,但由于它与实际特征相乘,而且它也是在幕后发生的事情,因此它可能是您最好的选择。