我正在尝试将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]