CountVectorizer nicht drucken Wortschatz
Habe ich installiert python 2.7, numpy 1.9.0, scipy 0.15.1 und scikit-learn-0.15.2.
Nun, wenn ich den folgenden Code in python:
train_set = ("The sky is blue.", "The sun is bright.")
test_set = ("The sun in the sky is bright.",
"We can see the shining sun, the bright sun.")
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
print vectorizer
CountVectorizer(analyzer=u'word', binary=False, charset=None,
charset_error=None, decode_error=u'strict',
dtype=<type 'numpy.int64'>, encoding=u'utf-8', input=u'content',
lowercase=True, max_df=1.0, max_features=None, min_df=1,
ngram_range=(1, 1), preprocessor=None, stop_words=None,
strip_accents=None, token_pattern=u'(?u)\\b\\w\\w+\\b',
tokenizer=None, vocabulary=None)
vectorizer.fit_transform(train_set)
print vectorizer.vocabulary
None.
Eigentlich sollte es ausgedruckt habe, die folgenden:
CountVectorizer(analyzer__min_n=1,
analyzer__stop_words=set(['all', 'six', 'less', 'being', 'indeed', 'over',
'move', 'anyway', 'four', 'not', 'own', 'through', 'yourselves', (...) --->
For count vectorizer
{'blue': 0, 'sun': 1, 'bright': 2, 'sky': 3} ---> for vocabulary
Den obigen code aus dem blog:
http://blog.christianperone.com/?p=1589
Könnten Sie mir bitte helfen warum erhalte ich so ein Fehler. Da das Vokabular nicht indiziert ist richtig ich bin nicht in der Lage, um voranzukommen im Verständnis des Konzepts der TF-IDF. Ich bin ein Neuling für python, so dass jede Hilfe wäre sehr geschätzt.
Arc.
InformationsquelleAutor Archana | 2015-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihnen fehlt ein Unterstrich, versuchen Sie es auf diese Weise:
Wenn Sie die ipython-shell, Sie können verwenden Sie die Registerkarte Fertigstellung, und Sie finden leichter die Methoden und Attribute von Objekten.
Im obigen habe ich auch gefragt, wie kommt es, dass meine stop-Wörter=None in CountVectorize das nicht der Fall sein sollte.
Der Standardwert für die stop_words ist Keine. Sie können den vectorizer wie diese: vectorizer = CountVectorizer(stop_words='english'), wenn Sie wollen, verwenden Sie die eingebaute englische Stopp-Wörter.
Danke. Ich dachte, die stop-Wörter wurden eingebaut in der Funktion.
Eine Klärung hat die vocabulary_ Funktion erzeugen der index-Begriffe in alphabetischer Reihenfolge. d.h. im obigen Beispiel 'blau' wird mit 0 und 1 gegeben ist "hell" der nächste Begriff in alphabetischer Reihenfolge?
InformationsquelleAutor Balint Domokos
Versuchen, mit den
vectorizer.get_feature_names()
Methode. Es gibt die Namen der Spalten in der Reihenfolge angezeigt, in derdocument_term_matrix
.InformationsquelleAutor Selva