rgl*_*enn 4 python tf-idf scikit-learn
我试图删除在我的词汇中出现一次的单词以减少我的词汇量.我正在使用sklearn TfidfVectorizer(),然后在我的数据框上使用fit_transform函数.
tfidf = TfidfVectorizer()
tfs = tfidf.fit_transform(df['original_post'].values.astype('U'))
Run Code Online (Sandbox Code Playgroud)
我首先想到的是tfidf矢量化器中的预处理器字段,或者在机器学习之前使用预处理包.
任何进一步实施的提示或链接?
你正在寻找min_dfparam(最低频率),从scikit-learn的文档TfidfVectorizer:
min_df:float在范围[0.0,1.0]或int中,默认值= 1
构建词汇表时,忽略文档频率严格低于给定阈值的术语.该值在文献中也称为截止值.如果是float,则参数表示文档的比例,整数绝对计数.如果词汇表不是None,则忽略此参数.
# remove words occuring less than 5 times
tfidf = TfidfVectorizer(min_df=5)
Run Code Online (Sandbox Code Playgroud)
你也可以删除常用词:
# remove words occuring in more than half the documents
tfidf = TfidfVectorizer(max_df=0.5)
Run Code Online (Sandbox Code Playgroud)
你也可以删除这样的停用词:
tfidf = TfidfVectorizer(stop_words='english')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3096 次 |
| 最近记录: |