tf-idf fonction de poids en utilisant des sklearn.feature_extraction.texte.TfidfVectorizer
cette page: http://scikit-learn.org/stable/modules/feature_extraction.html mentionne:
Que tf–idf est très souvent utilisé pour les fonctions de texte, il y a aussi une autre classe appelée TfidfVectorizer qui combine toutes les option de CountVectorizer et TfidfTransformer dans un modèle unique.
puis j'ai suivi le code et l'utilisation fit_transform() sur mon corpus. Comment faire pour obtenir le poids de chaque fonction calculée par fit_transform()?
J'ai essayé:
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_'
mais cet attribut est manquant.
Grâce
- À en juger par la examles dans la documentation, je dirais que vous êtes censé utiliser la valeur de retour de
vectorizer.fit_transform(corpus)
. - la valeur de retour est un scipy sparse_matrix qui stockent du normalisée en fonction.
Vous devez vous connecter pour publier un commentaire.
Depuis la version 0.15, le tf-idf score de chaque fonctionnalité peut être récupéré via l'attribut
idf_
de laTfidfVectorizer
objet:De sortie:
Tel que discuté dans les commentaires, avant la version 0.15, une solution de contournement consiste à accéder à l'attribut
idf_
par le soi-disant caché_tfidf
(une instance deTfidfTransformer
) de la vectorizer:qui devrait donner le même résultat que ci-dessus.
_
membres.TfidfVectorizer
exposer unidf
attribut directement? Semble raisonnable pour cet usage.Voir aussi cette sur la façon d'obtenir le TF-IDF valeurs de tous les documents:
Je pense que les résultats sont normalisés par le document:
>>>0.4483208731992+0.4483208731992+0.4483208731992+0.6300993445182
0.9999999999997548