2016-03-24 10 views
-1

Ich versuche, die skitlearn Paket für PCA .In der Dokumentation Webseite hier gegeben zu verwenden http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.htmlwählen k in PCA Python skitlearn

es wird gesagt, dass, wenn n_components == ‚mle‘, dann wird mle verwendet finden die Anzahl der Hauptkomponenten, aber wenn ich meinen Code

X_reduced = PCA(n_components=mle).fit_transform(self.X) 

es gibt eine Fehlermeldung ausgeführt werden sagen, dass

globalen Namen ‚MLE‘ ist nicht definiert

Wie kann ich angeben, dass mle-Methode verwendet werden muss.

Antwort

1

Setzen Sie mle in Anführungszeichen, wie es in der Dokumentation erwähnt wird.

X_reduced = PCA(n_components='mle').fit_transform(self.X) 

Die Sache ist, wenn Sie mle statt ‚MLE‘ sagen, es Variable bezieht, die nicht in Ihrem Fall definiert ist.

+0

"Put mle in Anführungszeichen wie das Dokument sagt" wäre mehr wie es. Obwohl Sie möglicherweise einige Erläuterungen hinzufügen möchten, warum ein NameError ohne die Anführungszeichen ausgelöst wird. –

+1

Änderungen nach Ihrem Vorschlag vorgenommen. Vielen Dank. –