2017-02-15 72 views
0

藉助Pythons的scikit-learn軟件包中的TfidfVectorizer,我們可以輕鬆地將文檔列表轉換爲具有<term>-frequency-inverse-document-frequency功能的數據集,其中term是出現在文檔中的單詞。Python Term Frequency vectorizer

Python中的任何地方TfidfVectorizer的TfVectorizer類似物會產生<term>-frequency特徵,即特徵的值不會被逆文檔頻率加權嗎?

我更喜歡使用其他編程語言編寫的Python解決方案,但如果您知道Java中的任何易於使用的實現,您還可以提到它。

回答

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'] 
cnt_vec = 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)]