我正在尝试将CountVectorizer模块与Sci-kit Learn一起使用。从我阅读的内容来看,似乎可以在句子列表中使用它,例如:

[“这是第一个文档。”,“这是第二个第二文档。”,“还有第三个文档。”,“这是第一个文档吗?”]

但是,有一种方法可以向量化列表形式的单词集合,例如[['this','is','text','document','to','analyze'],['and', 'this','is','the','second'],['and','this','and','that','are','third']?

我正在尝试使用' '.join(wordList)将每个列表转换为一个句子,但出现错误:


  TypeError:序列项13329:期望的字符串或Unicode,生成器
  发现


当我尝试运行时:

vectorizer = CountVectorizer(min_df=50)
ratings = vectorizer.fit_transform([' '.join(wordList)])


谢谢!

最佳答案

我想您需要这样做:

counts = vectorizer.fit_transform(wordList)  # sparse matrix with columns corresponding to words
words = vectorizer.get_feature_names()  # array with words corresponding to columns


最后,获取[['this', 'is', 'text', 'document', 'to', 'analyze']]

sample_idx = 1
sample_words = [words[i] for i, count in
                enumerate(counts.toarray()[sample_idx]) if count > 0]

07-27 20:05