что представляет столбец в матрице tfidf?

#python #tf-idf #tfidfvectorizer

#python #tf-idf #tfidfvectorizer

Вопрос:

Я пытаюсь понять результат матрицы TF-IDF. Вот код, который я использую.

 sen1 = TextBlob("This is a sample")
d1 = sen1.words
from sklearn.feature_extraction.text import TfidfVectorizer
tfvectorizer = TfidfVectorizer()
tfidf= TfidfVectorizer(tokenizer=identity_tokenizer, stop_words='english', lowercase=False)    
tf = tfidf.fit_transform(d1).todense()
  

Итак, я пытаюсь понять полученную таким образом матрицу tf. Ниже приведено прикрепленное изображение матрицы tf.введите описание изображения здесь

Может кто-нибудь, пожалуйста, помочь мне, почему у меня есть 7 столбцов для корпуса из 4 слов? Представляют ли строки количество слов.

Из того, что я изучаю в разных ресурсах, «Результатом является матрица оценок tf-idf с одной строкой на документ и таким количеством столбцов, сколько разных слов в наборе данных». Но я не могу проверить это на основе результата, который я получаю здесь.

Ответ №1:

Я могу воспроизвести ваш результат. Переменной d1 является [‘This’, ‘is’, ‘a’, ‘sample’]. И это означает, что sklearn интерпретирует это как 4 документа, а затем использует символы в качестве слов.

Вы можете проверить следующим образом.

tf = tfidf.fit(d1)

tf.get_feature_names()

[‘T’, ‘e’, ‘h’, ‘l’, ‘m’, ‘p’, ‘s’]