2017-09-11 1 views
0

Ich habe aa verschachtelt Python-Liste in folgendem FormatPython-Liste und sklearn HashingVectorizer

npes = [['a','b'], ['d','e'],['f','g']] 

Ich brauche diese Liste Vectorizer jedoch mit HashingVectorizer() Ich kann nicht verstehen, wie ich diese Liste mit vectorizer.fit_transform verarbeiten soll

vectorizer = HashingVectorizer() 
Xc = vectorizer.fit_transform(npes) 

Die oben gibt dem folgenden Fehler

AttributeError: 'list' object has no attribute 'lower' 

woul Wer weiß, wie man das macht?

+1

Ich weiß nicht, über die sklearn HashingVectorizer, aber die Funktion 'lower' ein Kapital zu Beginn dreht einer Zeichenfolge in einen Kleinbuchstaben. Das bedeutet, dass Ihr Skript die Elemente von "npes" als "Strings" interpretiert, aber stattdessen sind sie wieder "Listen". Vielleicht sollten Sie die Liste vor dem Vektorisieren abflachen? – offeltoffel

Antwort

2

npes ist eine Liste von Listen und die vectorizer nimmt keine Liste von Listen als Parameter. Also die Liste glätten und es als Parameter dh

npes = [['a','b'], ['d','e'],['f','g']] 
vectorizer = HashingVectorizer() 
Xc = vectorizer.fit_transform(sum(npes, [])) 

senden Wenn Sie numpy verwenden dann npes = np.ravel(npes)

Verwandte Themen