sklearn / CountVectorizer:拟合然后用不同的输入语料库进行变换

时间:2018-05-24 10:50:26

标签: python input scikit-learn corpus countvectorizer

我正在使用sklearn python lib中的CountVectorizer将带有input='filename'选项的语料库矢量化为init CountVectorizer

from sklearn.feature_extraction.text import CountVectorizer
corpus1=['file_name1','file_name2',...]
count_vectorizer = CountVectorizer(input='filename')
MAT1 = count_vectorizer.fit_transform(corpus1)

然后我需要使用模型转换一个新的语料库但是在numpy.array(['str1','str2'])

corpus2 = numpy.array(['str1','str2'])
# ideally
MAT2 = count_vectorizer(input='content').transform(corpus2)

当使用input='content'初始化CountVectorizer时,这可以通常完成,但我不知道如何指定新类型的输入。

有任何想法可以做到这一点或解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

一个简单的解决方法可能是将列表中的每个项目写入单独的文件中,然后将文件名称列表传递给CountVectorizer对象。

答案 1 :(得分:0)

您可以在训练后更改count_vectorizer.input值。

from sklearn.feature_extraction.text import CountVectorizer

corpus1=['file_name1','file_name2',...]
count_vectorizer = CountVectorizer(input='filename')
MAT1 = count_vectorizer.fit_transform(corpus1)

count_vectorizer.input = 'content'
corpus2 = numpy.array(['str1','str2'])
MAT2 = count_vectorizer.transform(corpus2)

我不知道这样做是否有任何影响,但是,由于它是一个公共属性,我认为你可以改变它的价值。