2016-04-21 119 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