sklearn / CountVectorizer: подгонка, затем преобразование с другим входным корпусом - PullRequest
0 голосов
/ 24 мая 2018

Я использую CountVectorizer из sklearn python lib для векторизации корпуса из файлов с input='filename' опцией для инициации 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)

это обычно делается, когда CountVectorizer инициализируется с input='content', но я не 'Не знаю, как я могу указать новый тип ввода.

Любая идея сделать это или обходное решение?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Вы можете изменить значение 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)

Я не знаю, есть ли какие-либо последствия для этого, но, поскольку это публичный атрибут, я думаю, что вы можете изменитьего значение.

0 голосов
/ 24 мая 2018

Простой обходной путь может заключаться в том, чтобы записать каждый элемент в вашем списке в отдельный файл, а затем передать список имен файлов в объект CountVectorizer.

...