问题描述
我有一个用 scikit-learn 训练的 SGDClassifier 模型。我用 .get_feature_names()
提取特征名称,用 .coef_
我将 2 列组合在一个数据框中,如下所示:
feature value
hiroshima 3.918584
wildfire 3.287680
earthquake 3.256817
massacre 3.186762
storm 3.124809
... ...
job -1.696438
song -1.736640
as -1.956571
nowplaying -2.028240
write -2.263968
我想知道如何解释特征的重要性? 正的高值是什么意思? 低负值意味着什么?
解决方法
SGDClassifier 拟合线性模型,意味着决策本质上是基于
SUM_i w_i f_i + b
其中 w_i
是附加到特征 f_i
的权重,因此您可以将这些数字解释为在与其绝对值成比例的比例下对正/负类的字面“投票”。您的分类器所做的就是添加这些权重,然后从您的模型中添加 _intercept
值,并根据符号进行分类。