Вводить матрицу частот в терминах документа в TfidfVectorizer ()?

1

Я придумываю придуманный пример мешка слов из трех документов (я демонстрирую, как работает tf-idf с матрицей частот в документе), и я хочу преобразовать матрицу лука в матрицу tf-idf. У меня на самом деле нет текстовых данных, только номер, который я составил в моем примере? Как я могу использовать это для вывода tf-idf? Я получаю сообщение об ошибке "Объект numpy.ndarray" не имеет атрибута "lower" в последней строке (и я предполагаю, что это потому, что fit_transform ожидает текстовые данные. Можно ли каким-либо образом указать или переопределить это?

bow = np.array([[15,0,5,0,20], [20,30,0,25,0], [15,10,10,20,15]])
vectorizer = TfidfVectorizer()
vectorizer.fit_transform(bow)
Теги:
scikit-learn
tfidfvectorizer
tf-idf

1 ответ

2
Лучший ответ

Вы можете использовать TfidfTransformer вместо TfidfVectorizer.

from sklearn.feature_extraction.text import TfidfTransformer
import numpy as np

bow = np.array([[15,0,5,0,20], [20,30,0,25,0], [15,10,10,20,15]])
transformer = TfidfTransformer()
transformer.fit_transform(bow)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню