n_classes 在 LinearSVC.coef_ 中订购

n_classes order in LinearSVC.coef_

我正在使用 LinearSVC 将文本数据分类为 3 类。输入数据是每个单词的 tfidf 分数。我有兴趣查看单词对分类所做的 "contribution"。第一个问题是我可以为此使用 coef_ 吗?文档指出:

coef_ : array, shape = [n_features] if n_classes == 2 else [n_classes, n_features]

所以,我假设 "n_classes" 对应于文档可以分类的 3 个 类 中的每一个,而 n_features 是我的系数值tfidf 功能。假设是这样的话,那么 coef_ 中 类 的顺序是什么?如何将数组中的每一行与我的 类?

之一匹配

谢谢,

尼克

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

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

  2. 有一个几乎没有记录的 class 成员 LinearSVC().classes_,它保存着 class 使用的顺序(参见 this method documentation)。