我对Python还比较陌生,我正在尝试创建一个多元线性回归模型,该模型有两个预测变量和一个依赖变量。在做这方面的研究时,我发现Scikit提供了一个类来做这件事。我试图为我的变量创建一个模型,我得到了以下消息:
Shape of passed values is (3, 1), indices imply (2, 1)
我使用的代码是:
from sklearn import linear_model
data = pd.read_csv('data.csv',delimiter=',',header=0)
SEED_VALUE = 12356789
np.random.seed(SEED_VALUE)
data_train, data_test = train_test_split(data, test_size=0.3, random_state=SEED_VALUE)
print('Train size: {}'.format(data_train.shape[0]))
print('Test size: {}'.format(data_test.shape[0]))
data_train_X = data_train.values[:,0:2] #predictor variables
data_train_Y = data_train.values[:,2].astype('float') # dependant
model = linear_model.LinearRegression()
np.random.seed(SEED_VALUE)
model.fit(data_train_X, data_train_Y)
coef = pd.DataFrame([model.intercept_, *model.coef_], ['(Intercept)', *data_train_X.columns], columns=['Coefficients'])
coef
我在model.fit(data_train_X, data_train_Y)
行中得到了错误。我在网上搜索了使用Scikit方法的不同方法,我发现其他人使用相同的代码没有错误,所以我不知道我的错误可能在哪里
非常感谢大家
数据文件如下:
"retardation","distrust","degree"
2.80,6.1,44
3.10,5.1,25
2.59,6.0,10
3.36,6.9,28
2.80,7.0,25
3.35,5.6,72
2.99,6.3,45
2.99,7.2,25
2.92,6.9,12
3.23,6.5,24
3.37,6.8,46
2.72,6.6, 8
1条答案
按热度按时间des4xlb01#
如果你也能提供数据的输入,那就太好了,但即使没有,也很可能是因为你使用了文件中的
index
列。你应该删除它,这样就没事了。如果您能给予您使用的数据示例(列),将能够进一步检查它。
我用你提供的数据重新运行你的代码,它没有显示任何
model.fit(data_train_X, data_train_Y)
行的错误:)