2016-04-21 39 views
5

Mam zestaw danych testowych i zestaw danych pociągu, jak poniżej. Podałem przykładowe dane z rekordami min, ale moje dane zawierają ponad 1000 rekordów. Tutaj E jest moją zmienną docelową, którą muszę przewidzieć przy użyciu algorytmu. Ma tylko cztery kategorie, takie jak 1,2,3,4. Może przyjmować tylko jedną z tych wartości.Python: Jak korzystać z wielomianowej regresji logistycznej za pomocą programu SKlearn

Szkolenie Zbiór danych: Zbiór danych

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:

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 

Ponieważ E ma tylko 4 kategorie, myślałem, przewidywania to przy użyciu wielomianu regresja logistyczna (1 vs Reszta Logic). Próbuję zaimplementować go przy użyciu Pythona.

wiem logikę, że musimy ustawić te cele w zmiennej i użyć algorytmu przewidzieć każdy z tych wartości:

output = [1,2,3,4] 

Ale siedzę w punkcie, w jaki sposób używać go przy użyciu Pythona (sklearn) do przechodzenia przez te wartości i jaki algorytm powinienem użyć do przewidywania wartości wyjściowych? Każda pomoc będzie bardzo mile widziane

+1

ten poradnik powinien być dobrym miejscem do rozpoczęcia http://scikit-learn.org/stable/auto_examples/exercises/digits_classification_exercise.html – maxymoo

Odpowiedz

5

LogisticRegression może obsługiwać wiele klas 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

można spróbować

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

Czy nie jest to w istocie tak samo jak istniejąca odpowiedź na to pytanie? – ostergaard