TF-idf функция веса с помощью sklearn.функция извлечения.текст.TfidfVectorizer
эта страница:http://scikit-learn.org/stable/modules/feature_extraction.html упоминает:
поскольку TF-idf очень часто используется для текстовых объектов, есть еще один класс под названием TfidfVectorizer что объединяет всех вариант CountVectorizer и TfidfTransformer в одной модели.
затем я следовал коду и использовал fit_transform () в моем корпусе. Как получить вес каждого функция, вычисленная fit_transform ()?
пробовал:
In [39]: vectorizer.idf_
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-39-5475eefe04c0> in <module>()
----> 1 vectorizer.idf_
AttributeError: 'TfidfVectorizer' object has no attribute 'idf_'
но этот атрибут отсутствует.
спасибо
2 ответов
см. также этой о том, как получить значения TF-IDF всех документов:
feature_names = tf.get_feature_names()
doc = 0
feature_index = X[doc,:].nonzero()[1]
tfidf_scores = zip(feature_index, [X[doc, x] for x in feature_index])
for w, s in [(feature_names[i], s) for (i, s) in tfidf_scores]:
print w, s
this 0.448320873199
is 0.448320873199
very 0.448320873199
strange 0.630099344518
#and for doc=1
this 0.448320873199
is 0.448320873199
very 0.448320873199
nice 0.630099344518
Я думаю, что результаты нормализуются документом:
>>>0.4483208731992+0.4483208731992+0.4483208731992+0.6300993445182 0.9999999999997548