Python Term Frequency vectorizer

时间:2017-02-15 16:44:49

标签: python scikit-learn tf-idf

在Pythons的软件包scikit-learn的TfidfVectorizer的帮助下,我们可以轻松地将文档列表转换为具有<term>-frequency-inverse-document-frequency功能的数据集,其中term是单词出现在文件中。

在Python中的任何地方都是TfVectorizer-TfidfVectorizer的类似物,它会产生<term>-frequency个特征,即特征值不会被逆文档频率加权吗?

我更喜欢Python解决方案而不是其他编程语言编写的解决方案,但如果你知道Java中任何易于使用的实现,你也可以提及它。

1 个答案:

答案 0 :(得分:1)

是。它也是scikit-learn,被称为CountVectorizer

import numpy as np
from sklearn.feature_extraction.text import CountVectorizer

data = ['this is sample 1', 'how about sample two', 'make three samples']
vectorizer = CountVectorizer()

transformed_data = vectorizer.fit_transform(data)

print (zip(vectorizer.get_feature_names(), np.ravel(transformed_data.sum(axis=0))))

输出:

[(u'about', 1),
 (u'how', 1),
 (u'is', 1),
 (u'make', 1),
 (u'sample', 2),
 (u'samples', 1),
 (u'this', 1),
 (u'three', 1),
 (u'two', 1)]