我有一个具有教育,经验,加入月份等功能的数据集,而我的预测是一个人是否接受要约。我创建了一些使用sk-learning SVM,Randomforest等的模型。我的目标是了解,哪些功能在确定此人是否加入中起着至关重要的作用。我认为这是一个分类问题。

创建模型后,我获得了model.coeffc_(如sklearn中所示),该模型提供了有关每个特征系数的值。
假设我在12月获得0.0028,我怎么能解释这个月对一个人是否加入有影响。它可能会影响,加入的人,而不是拒绝的人。有可能吧?那么,每个特征的这些系数值如何确定类别(尤其是哪个类别)?

在回归中,可以说12月的0.028值会影响值的增长,-0.028会影响值的减少。但是,如何将这种想法用于分类呢?请提供一些宝贵的见解。

最佳答案

回归和分类之间没有太大区别。正值将始终与分类为正类的机会增加相关,而负值则有可能成为负样本的可能性(我认为您的所有特征都是正的,否则就失去了任何意义)。但是,请注意,在分类和回归中,如果一个权重大于另一个权重,则一个特征更为重要,这是不正确的。有许多方面会改变这种行为,特别是特征值的比例,方差,通常-特征值的分布。

简而言之。如果您的特征是正值,则该特征的符号会显示该特征与哪个类别的相关性更高。线性模型(例如线性SVM,而非RF)中的一般分类步骤为

cl(x) = sign( SUM_i coef_i x_i )


因此,您可以看到,如果x_i为正,则coef_i的符号要么上升(对于正数),要么下降(对于负数)。但是,如果您有例如cl(x) = 1coef_1 = 1,这并不意味着第二个特征更为重要,这可能是由于第二个特征值更小这一事实的结果,例如,特征1可能是人的身高以厘米(例如180cm)为单位,而另一个特征为二进制(0或1),因此

x_1 * coef_1 = 180 * 1 = 180 = 1 * 180 = x_2 * coef_2


每个功能的实际重要性是机器学习社区中称为“功能重要性”或“功能选择方法”的整个研究领域。有许多这样的方法,但没有一个方法是“最好的”。

07-24 09:38
查看更多