vectorizer我自己的文本数据

时间:2016-10-31 23:37:14

标签: python machine-learning scikit-learn vectorization

我正在尝试对一些我拥有的文本文档进行矢量化。 准备fit()方法。

我对此进行了相当多的搜索,并根据我看到的所有内容看起来这是正确的代码

from sklearn.feature_extraction.text import TfidfVectorizer

filenames = ['aa.txt','bb.txt','cc.txt']

vectorizer = TfidfVectorizer()

X = vectorizer.fit_transform(filenames)

print ("feature names - ")
print (vectorizer.get_feature_names())

我希望将文件中的文字看作我的功能名称 但相反,这就是我所看到的

feature names - 
['aa', 'bb', 'cc', 'txt']

我可以从文档中看到这一点 - "如果'filename',作为参数传递给fit的序列应该是一个文件列表,需要读取以获取要分析的原始内容。 "

1 个答案:

答案 0 :(得分:0)

该矢量化程序的默认选项是接受实际的文本数据,而不是文件名 - 它将其解释为包含功能名称中显示的“单词”的3个“句子”列表。

如在好的手册http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html中所见,您应该将其初始化为TfidfVectorizer(input ='filename')以从文件中读取任何内容。