27
我試圖讓使用Sklearn的TfidfVectorizer對象的單個文件的TF-IDF向量。我創建基於一些培訓文檔的詞彙量和使用fit_transform訓練TfidfVectorizer。然後,我想爲任何給定的測試文檔找到tf-idf向量。使用Sklearn的TfidfVectorizer變換
from sklearn.feature_extraction.text import TfidfVectorizer
self.vocabulary = "a list of words I want to look for in the documents".split()
self.vect = TfidfVectorizer(sublinear_tf=True, max_df=0.5, analyzer='word',
stop_words='english')
self.vect.fit_transform(self.vocabulary)
...
doc = "some string I want to get tf-idf vector for"
tfidf = self.vect.transform(doc)
的問題是,這將返回n行,其中n是我的文檔字符串大小的矩陣。我希望它只返回一個表示整個字符串的tf-idf的向量。我怎樣才能讓這個字符串看作單個文檔,而不是每個字符都是文檔?另外,我是很新的文本挖掘,所以如果我做錯了什麼概念,那將是巨大的瞭解。任何幫助表示讚賞。
那麼fit_transform和transform之間有什麼區別?我已經閱讀過文檔,但我不太清楚。我們使用fit_transform計算每個項目的出現在文件列表?然後變換...需要那些數,並計算TF-IDF向量的文件列表? – Sterling
@Sterling你使用'fit'或'fit_transform'(見更新)訓練TFIDF改造和'transform'不計數更新申請 – alko