LinearSVC.coef_ 中的 n_classes 顺序

Nic*_*ier 5 scikit-learn

我正在与 LinearSVC 合作将文本数据分为 3 类。输入数据是每个单词的 tfidf 分数。我有兴趣了解单词对分类的“贡献”。第一个问题是我可以使用 coef_ 吗?文档指出:

coef_ :数组,形状 = [n_features] 如果 n_classes == 2 否则 [n_classes, n_features]

因此,我假设“n_classes”对应于文档可以分类的 3 个类别中的每一个,而 n_features 是我的 tfidf 特征的系数值。假设是这样,那么 coef_ 中的类的顺序是什么?如何将数组中的每一行与我的一个类相匹配?

谢谢,

缺口

And*_*eus 2

在不深入源码的情况下,我相信您的问题有两个答案:

  1. 班级已排序。因此,如果您有类 ['a', 'b', 'C'],那么您的类顺序将为 ['C','a','b']。(这可能看起来很奇怪,但是在 Python 中创建该列表并对其进行 .sort() 。这就是顺序。)

  2. 有一个几乎没有记录的类成员,LinearSVC().classes_它保存类使用的顺序(请参阅此方法文档)。