我遇到了逻辑回归分析的问题。正在从csv文件中读取数据,该文件的大小为(2039,7)。
前6列包含输入(即6个功能),第7列包含我想要预测的输出。该程序运行没有错误,但问题是当我运行我的程序时,我得到太多的系数和截距。对于系数,我得到一个大小的数组(1239,6),对于截距,我得到一个1239长的数字列表。我想我应该得到6个系数(每个特征一个)和一个截距。
此外,回归模型的准确性过低。任何关于我做错的想法都将不胜感激。代码如下。
import pandas
import numpy
from sklearn import cross_validation
from sklearn.linear_model import LogisticRegression
filename = '1.csv'
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
dataframe = pandas.read_csv(filename, names=names)
array = dataframe.values
X = array[:,0:6]
Y = numpy.asarray(array[:,6], dtype="|S6")
test_size = 0.33
seed = 7
X_train, X_test, Y_train, Y_test = cross_validation.train_test_split(X, Y, test_size=test_size, random_state=seed)
model = LogisticRegression()
model.fit(X_train, Y_train)
result = model.score(X_test, Y_test)
print(result*100.0)
print(model.coef_.shape)
print(model.intercept_.shape)