python 使用Scikit-learn误差的多元线性回归

ruyhziif  于 2022-11-28  发布在  Python
关注(0)|答案(1)|浏览(115)

我对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
des4xlb0

des4xlb01#

如果你也能提供数据的输入,那就太好了,但即使没有,也很可能是因为你使用了文件中的index列。你应该删除它,这样就没事了。
如果您能给予您使用的数据示例(列),将能够进一步检查它。
我用你提供的数据重新运行你的代码,它没有显示任何model.fit(data_train_X, data_train_Y)行的错误:)

相关问题