2016-04-21 45 views
5

Ho un set di dati di test e un set di dati del treno come di seguito. Ho fornito dati di esempio con record min, ma i miei dati hanno oltre 1000 di record. Qui E è la mia variabile target che ho bisogno di prevedere usando un algoritmo. Ha solo quattro categorie come 1,2,3,4. Può prendere solo uno qualsiasi di questi valori.Python: Come utilizzare la regressione logistica multinomiale utilizzando SKlearn

Formazione Dataset:

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 

prova Dataset:

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 

Poiché E ha solo 4 categorie, ho pensato di prevedere ciò utilizzando multinomiale Regressione logistica (1 vs Resto Logic). Sto cercando di implementarlo usando python.

so la logica che abbiamo bisogno di fissare gli obiettivi in ​​una variabile e utilizzare un algoritmo per prevedere uno di questi valori:

output = [1,2,3,4] 

Ma io sono bloccato in un punto su come usarlo con python (sklearn) per scorrere questi valori e quale algoritmo dovrei usare per prevedere i valori di uscita? Qualsiasi aiuto sarebbe molto apprezzato

+1

questo tutorial dovrebbe essere un buon punto di partenza http://scikit-learn.org/stable/auto_examples/exercises/digits_classification_exercise.html – maxymoo

risposta

5

LogisticRegression in grado di gestire più classi out-of-the-box.

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

Si potrebbe provare

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

Non è questo essenzialmente lo stesso della risposta esistente a questa domanda? – ostergaard