2016-08-11 5 views
0

Ich versuche, in Python 3.5 zu modellieren und folge einem Beispiel, das unter here gefunden werden kann.name 'classification_model' ist nicht definiert

Ich habe alle erforderlichen Bibliotheken von sklearn importiert.

Allerdings bekomme ich den folgenden Fehler.

Code:

from sklearn.linear_model import LogisticRegression 
    from sklearn.cross_validation import KFold #For K-fold cross validation 
    from sklearn.ensemble import RandomForestClassifier 
    from sklearn.tree import DecisionTreeClassifier, export_graphviz 
    from sklearn import metrics 

outcome_var = 'Loan_Status' 
model = LogisticRegression() 
predictor_var = ['Credit_History'] 
classification_model(model, loan,predictor_var,outcome_var) 

Wenn ich den obigen Code, den ich die folgende Fehlermeldung aus: Nameerror: name 'classification_model' nicht

Ich bin nicht sicher festgelegt, wie dieses Problem zu beheben als ich versucht habe, sklearn und alle Unterbibliotheken zu importieren.

P.S. Ich bin neu in Python, daher versuche ich herauszufinden, grundlegende Schritte

Antwort

0

Es scheint, dass dieser Code aus this tutorial kam.

Das Problem ist genau so, wie der Fehler beschreibt. classification_model ist derzeit undefiniert. Sie müssen diese Funktion selbst erstellen, bevor Sie sie aufrufen können. Schauen Sie sich this Teil dieses Tutorials an, damit Sie sehen können, wie es definiert ist. Viel Glück!

+0

Gibt es eine eingebautes Paket, für das Modell zu schaffen . (Wie R) –

+0

Ich bin mir nicht sicher, was du meinst. 'model' wird mit der Klasse' LogisticRegression() 'erstellt, die Teil des sklearn-Pakets ist. Ich bin mit sklearn nicht sehr vertraut, aber das Tutorial von Anfang bis Ende zu verfolgen, scheint die beste Wahl zu sein. –

0

Abhängig von den genauen Details dieses kann nicht sein, was Sie wollen, aber ich habe noch nie ein Problem mit

import sklearn.linear_model as sk 

logreg = sk.LogisticRegressionCV() 
logreg.fit(predictor_var,outcome_var) 

Das heißt, Sie müssen explizit Training und Test-Set trennen, aber mit Anpassung an eine Ausbildung set (der Prozess in der letzten Zeile meines Codes), können Sie dann die in der Dokumentation [1] beschriebenen Methoden verwenden.

Zum Beispiel herauszufinden, welche Werte (wie viele habe ich richtig erhalten) Sie auf unsichtbare Daten mit der .score Methode erhalten

[1] http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegressionCV.html

+0

Beachten Sie, dass LogisticRegressionCV am Ende Ihre Kreuzvalidierung zur Auswahl eines geeigneten Regularisierungsparameters durchführt. –