Как интерпретировать вывод TfidfVectorizer - PullRequest
0 голосов
/ 20 апреля 2019

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

Я использовал функцию TfidfVectorizer из Sklearn.

Я использовал следующий код:

из sklearn.feature_extraction.text import TfidfVectorizer tfidf_vectorizer = TfidfVectorizer (max_df = 0,90, min_df = 2, max_features = 1000, stop_words = 'english') tfidf = tfit_f(combi ['tidy_tweet'])

Ниже выводится:

(0, 302) 0,46871135687055143 (0, 463) 0,5896490179849546 (0, 738) 0,6577413621857342 (1, 879) 0,3938406681, 131) 0,6145629375807904 (1, 600) 0,6835218920644196 (2, 79) 1,0 (3, 557) 0,7040384885805177 (3, 518) 0,44016705593507854 (3, 888) 0,5572995329862621 (4, 566) 1,0 (5, 3 595), 5 (5), 3, 595, 5, 3, 5, 95)858) 0,4743403266916206 (5, 69) 0,4637175931713698 (5, 485) 0,4652198168550412 (6, 121) 0,8067676118019697 (6, 894) 0,5868769751051355 (7, 749) 0,47546741144240784 (7, 9)92) 0,40262612331421974 (7, 283) 0,6221668428341786 (7, 883) 0,20713435439054187 (7, 393) 0,22953868678391207 (7, 432) 0,29836739781603

Я могу понять, что последний столбец - это TF-IDFстолбцы.

1 Ответ

0 голосов
/ 26 апреля 2019

tfidfvectorizer используется для преобразования данных в матрицу терм-документа.
В приведенном выше выводе записи в первом столбце, скажем, (0,302), 0 представляют индекс извлеченного объекта, а 302 - числовое обозначение этого конкретного объекта. Например, рассмотрим простой кадр данных следующим образом:

  col1
0  cat
1  dog
2  egg
3  god
4  cat
5  man
6  dog

Чтобы извлечь функции из вышеуказанных данных,

vect = TfidfVectorizer(stop_words='english',  min_df=0, encoding = 'utf-8')
X = vect.fit_transform(df['col1'].values.astype('U'))

Выходные данные, представленные вышеуказанным кодом, выглядят так:

the document term matrix of data is
  (0, 0)    1.0
  (1, 1)    1.0
  (2, 2)    1.0
  (3, 3)    1.0
  (4, 0)    1.0
  (5, 4)    1.0
  (6, 1)    1.0

Первая запись в первом столбце всех строк (т. Е. 0,1,2 .... 6) - не что иное, как индекс извлеченного элемента. Вторая запись (т. Е. 0,1,2,3) , 0,4,1) представляет числовую запись функции. Вы можете наблюдать это, используя функцию get_feature_names в tfidfvectorizer.

print(vect.get_feature_names()[0])
print(vect.get_feature_names()[1])
print(vect.get_feature_names()[2])
print(vect.get_feature_names()[4])
print(vect.get_feature_names()[3])

Приведенный выше код выдает следующее:

cat
dog
egg
man
god

Это означает, что признак, соответствующий значению 0, это кошка, 1 - собака, 4 - человек ... и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...