2015-05-31 92 views
1

所以我想在一些文檔上訓練樸素貝葉斯算法,如果我以字符串的形式存在文檔,下面的代碼將運行良好。但問題是我經歷了一系列預處理步驟,這些步驟不止是停用詞刪除,詞形化等,而是有一些自定義轉換,它返回一個ngram列表,其中n可以[1,2,3]取決於在文本的上下文中。 所以現在,因爲我有ngram的列表而不是代表文檔的字符串,我很困惑,我怎樣才能表示與CountVectorizer的輸入相同。 有什麼建議嗎?Python:從列表中創建術語文檔矩陣

將文檔作爲字符串類型的文檔數組正常工作的代碼。

count_vectorizer = CountVectorizer(binary='true') 
data = count_vectorizer.fit_transform(docs) 

tfidf_data = TfidfTransformer(use_idf=False).fit_transform(data) 
classifier = BernoulliNB().fit(tfidf_data,op) 

回答

相關問題