我目前有一个系统设置,我从旧帖子/类别进行训练,并尝试预测新帖子的类别。我正在使用带有TfidfVectorizer
和LinearSVC
的管道来训练数据集并将其存储在pickle中,然后我通过加载pickle并使用加载的pickle中的predict
进行分类来处理新帖子新帖子。目前,我正在努力争取一些标签,我不知道为什么。
我希望提供一些关于每个分类标签的新帖子中触发的单词的输出,以便我可以看到为什么在对训练集分类新数据时选择了某个标签,但我找不到办法这样做。
我知道我可以在训练时输出矢量图中的顶级功能,但是如何输出原因为什么选择某个标签而不是另一个?
答案 0 :(得分:1)
在语料库词汇表的每个单词的SVM训练阶段,您将学习每个类的权重。
然后,在推理期间,您计算类权重与要分类的实例的向量描述之间的点积。该算法返回产生最高点积分数的类。因此,您可以通过检查实例的权重(coef_
属性)来估计事物的工作方式。
我同意其他方法,如树木更容易理解。