如何修复python中的sklearn多元线性回归ValueError(样本数不一致:[2,1])

2024-04-25 00:30:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我让我的线性回归完美地与一个单一的功能。自从尝试使用两个之后,我得到了以下错误:ValueError:找到了样本数不一致的输入变量:[2,1]

第一个print语句将打印以下内容: (2,6497)(1,6497)

然后代码在train\u test\u split阶段崩溃。你知道吗

有什么想法吗?你知道吗

feat_scores = {}
X = df[['alcohol','density']].values.reshape(2,-1)   
y = df['quality'].values.reshape(1,-1)

print (X.shape, y.shape)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

print (X_train.shape, y_train.shape)
print (X_test.shape, y_test.shape)

reg = LinearRegression()
reg.fit(X_train, y_train)

reg.predict(y_train)

Tags: test功能df错误train线性语句reg
1条回答
网友
1楼 · 发布于 2024-04-25 00:30:38

你错过了这一行

X = df[['alcohol','density']].values.reshape(2,-1)   
y = df['quality'].values.reshape(1,-1)

不要将数据重塑为(2,6497)(1,6497),而是必须将其命名为(6497,2)(6497,)

Sklearn直接获取数据帧/序列。所以你可以给

X = df[['alcohol','density']]
y = df['quality']

而且,只能使用X值进行预测,因此

reg.predict(X_train)

或者

reg.predict(X_test)

相关问题 更多 >