考虑下面的例子。代表文件的重要词语是“Bob”和“Sara”。但是对于max_features
,输出往往显示频繁的单词。当语料库很大时,情况会变得更糟。我们怎么能只得到重要的词语呢
from sklearn.feature_extraction.text import TfidfVectorizer
import pandas as pd
corpus = [
'hi, my name is Bob.',
'hi, my name is Sara.'
]
vectorizer = TfidfVectorizer(max_features=2)
X = vectorizer.fit_transform(corpus).todense()
df = pd.DataFrame(X, columns=vectorizer.get_feature_names())
输出:
,hi,is
0,0.7071067811865475,0.7071067811865475
1,0.7071067811865475,0.7071067811865475
如果增加“最大”功能:
你可以看到sara和bob真的很重要,因为他们的tfidf更高,而另一个更小且相等,因为这两个句子都重复了有意义的内容
请注意,正如在here中一样。如
max_features
所示: “如果不是没有,那么建立一个词汇表,它只考虑在语料库上按词频排序的最前面的Max特征。”因此,它可以像以前的例子那样删除更有用的词。p>也许您对选项
max_df
或min_df
更感兴趣:也许最好尝试不同的方法,直到你对正在发生的事情有所了解
从另一个角度来看,删除一些停止词也是一件好事
相关问题 更多 >
编程相关推荐