我有一个用scikit-learn训练的SGDClassifier模型。我用.get_feature_names()
提取特征名,用.coef_
提取系数
我像这样在一个数据框架中组合这两列:
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
值,并基于符号进行分类。