我正在使用scikit-learn中的逻辑回归和线性SVC来对文档进行分类,分为由标签0和标签1表示的两个类别。我使用TFIDF向量化器进行特征选择,并且已经使用TFIDF向量化器的转换函数从测试文档中提取了所有非零特征。现在我想知道某个特定特征是用于标签1还是标签0。
基本上,如果我的分类器给出的答案是标签0,我想知道它是基于哪些特征做出这个答案的。
回答:
您可以使用get_feature_names()
函数来提取特征名称。您将得到一个从特征索引到特征名称的映射数组。您可以在这里阅读更多相关信息这里。
这个示例解释了如何打印特征名称。
您可以从这个链接获取相应的相关性值。跳转到标题为:理解tf-idf矩阵的部分。您会看到它使用了feature_names()
来提取顶级值。
编辑:不同的分类器有不同的方法来提取特征相关性。您可以使用scikit-learn中的SelectFromModel根据所选的分类器提取特征。您可以使用它的get_support
函数来获取特征索引。关于此的示例在这里。