使用scikit从计数数据框开始学习tfidf矢量化器

ADJ*_*ADJ 5 python nlp tf-idf scikit-learn

我有一个pandas数据框,其中包含一系列文档的单词数.我可以申请sklearn.feature_extraction.text.TfidfVectorizer退回一个期限 - 文件矩阵吗?

import pandas as pd

a = [1,2,3,4]
b = [1,3,4,6]
c = [3,4,6,1]

df = pd.DataFrame([a,b,c])
Run Code Online (Sandbox Code Playgroud)

如何在df中获得tfidf版本的计数?

JAB*_*JAB 5

像这样:

from sklearn.feature_extraction.text import TfidfTransformer
tfidf =TfidfTransformer(norm=u'l2', use_idf=True, smooth_idf=True, sublinear_tf=False)
data =tfidf.fit_transform(df.values)
Run Code Online (Sandbox Code Playgroud)

这将返回tfidf值的稀疏矩阵.您可以将它们变成密集的并将它们放回到这样的数据框中:

pd.DataFrame(data.todense())
Run Code Online (Sandbox Code Playgroud)