2017-03-11 2 views
1

Ich versuche, das CountVectorizer-Modul mit Sci-Kit Learn zu verwenden. Von dem, was ich gelesen habe, scheint es, dass es auf einer Liste von Sätzen verwendet werden kann, wie zum Beispiel:Wie vektorisiert man eine Liste von Wörtern python?

['Dies ist das erste Dokument.', 'Dies ist das zweite zweite Dokument.', 'Und das dritte. ',' Ist das das erste Dokument? ']

Gibt es jedoch eine Möglichkeit, eine Sammlung von Wörtern in Listenform zu vektorisieren, wie zum Beispiel [[' this ',' is ',' text ',' document ' , '', '', '', '', '', '', '', '', '', '', '', '', '', '' sind ',' dritte ']?

Ich versuche, jede Liste auf einen Satz zu konvertieren ' '.join(wordList), aber ich bin erhalte eine Fehlermeldung:

TypeError: sequence item 13329: expected string or Unicode, generator found

, wenn ich versuche zu laufen:

vectorizer = CountVectorizer(min_df=50) 
ratings = vectorizer.fit_transform([' '.join(wordList)]) 

Dank!

Antwort

0

Ich glaube, Sie brauchen, um dies zu tun:

counts = vectorizer.fit_transform(wordList) # sparse matrix with columns corresponding to words 
words = vectorizer.get_feature_names() # array with words corresponding to columns 

Schließlich [['this', 'is', 'text', 'document', 'to', 'analyze']]

sample_idx = 1 
sample_words = [words[i] for i, count in 
       enumerate(counts.toarray()[sample_idx]) if count > 0] 
zu erhalten
Verwandte Themen