在尝试区分两个文本类(即正面还是负面情绪等)时,是否可以使用tfidf(Python中的tfidfvectorizer)找出哪个单词最重要?例如,哪些词对于识别肯定的类别最重要,然后分别对识别否定的类别最有用?

最佳答案

您可以让scikit学习繁重的工作-在您的二叉树上训练一个随机森林,提取分类器的特征重要性排名并使用它来获得最重要的单词:

clf = RandomForestClassifier()
clf.fit(data, labels)

importances = clf.feature_importances_
np.argsort(importances)[::-1]

feature_names = vectorizer.get_feature_names()
top_words = []

for i in xrange(100):
    top_words.append(feature_names[indices[i]])


请注意,这只会告诉您最重要的单词-而不是每个类别的单词。要说出每个单词对每个班级的看法,您可以对单个单词进行分类并查看其分类。

另一种选择是获取所有正/负数据样本,从中删除您尝试理解的词,然后看这如何影响样本的分类。

08-25 05:06