2016-04-21 120 views
5

我有一個測試數據集和訓練數據集如下。我用min記錄提供了一個樣本數據,但是我的數據超過了1000條記錄。這裏E是我需要用算法預測的目標變量。它只有1,2,3,4這四類。它可以只採用這些值中的任何一個。Python:如何使用SKlearn使用多項式邏輯迴歸

訓練數據集:

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 

測試數據集:

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 

由於E具有僅4個類別,我想預測此使用多項Logistic迴歸(1比休息邏輯)的。我試圖用python實現它。

我知道,我們需要一個變量來設定這些指標,並使用算法來預測這些值的邏輯:

output = [1,2,3,4] 

但我停留在如何使用Python使用一個點(sklearn)來循環這些值,我應該使用什麼算法來預測輸出值?任何幫助將不勝感激

+1

本教程應該是開始http://scikit-learn.org/stable/auto_examples/exercises/digits_classification_exercise.html – maxymoo

回答

5

LogisticRegression可以處理多個類開箱即用。

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

你可以嘗試

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

的好地方是不是這個本質這個問題的現有答案是否一樣? – ostergaard