2016-04-21 12 views
5

Ich habe einen Testdatensatz und Zugdatensatz wie folgt. Ich habe eine Beispieldaten mit min Aufzeichnungen zur Verfügung gestellt, aber meine Daten haben mehr als 1000 von Aufzeichnungen. Hier ist E meine Zielvariable, die ich mit einem Algorithmus vorhersagen muss. Es hat nur vier Kategorien wie 1,2,3,4. Es kann nur einen dieser Werte annehmen.Python: Verwendung der multinomialen logistischen Regression mit SKlearn

Trainingsdaten:

A B C D E 
1 20 30 1 1 
2 22 12 33 2 
3 45 65 77 3 
12 43 55 65 4 
11 25 30 1 1 
22 23 19 31 2 
31 41 11 70 3 
1 48 23 60 4 

Test-Datensatz:

A B C D E 
11 21 12 11 
1 2 3 4 
5 6 7 8 
99 87 65 34 
11 21 24 12 

Da E nur vier Kategorien hat, dachte ich an diese mit Multinomiale logistische Regression der Vorhersage (1 vs Erholung Logic). Ich versuche es mit Python zu implementieren.

weiß, dass ich die Logik, dass wir diese Ziele in einer Variablen festlegen müssen und einen Algorithmus verwenden jeder dieser Werte vorherzusagen:

output = [1,2,3,4] 

Aber ich bin an einem Punkt fest, wie man es verwenden Python (sklearn), um diese Werte zu durchlaufen und welchen Algorithmus sollte ich verwenden, um die Ausgabewerte vorherzusagen? Jede Hilfe würde sehr geschätzt werden

+1

dieses Tutorial sollte ein guter Platz sein http://scikit-learn.org/stable/auto_examples/exercises/digits_classification_exercise.html – maxymoo

Antwort

5

LogisticRegression kann mehrere Klassen Out-of-the-Box behandeln.

X = df[['A', 'B', 'C', 'D']] 
y = df['E'] 
lr = LogisticRegression() 
lr.fit(X, y) 
preds = lr.predict(X) # will output array with integer values. 
1

könnten Sie versuchen,

LogisticRegression(multi_class='multinomial',solver ='newton-cg').fit(X_train,y_train) 
+0

zu starten Ist das nicht im Wesentlichen das gleiche wie die bestehende Antwort auf diese Frage? – ostergaard

Verwandte Themen