如何解决ValueError:形状399,1和2,不对齐:1dim 1!= 2dim 0
我正在尝试使用美国数据集中的社区构建和运行多元回归模型。但是,即使X和Y变量的形状相同,我也不确定为什么会出现此错误。
我的代码:
X1 = crime["pctWPubAsst"].values
y1 = crime["ViolentCrimesPerPop"].values
# Reshaping our variables
X1 = X1.reshape(-1,1)
y1 = y1.reshape(-1,1)
X_train,X_test,y_train,y_test = train_test_split(X1,y1,test_size=0.2,random_state=40)
linreg = LinearRegression()
linreg.fit(X_train,y_train)
y_pred = linreg.predict(X_test)
print("R2: {}".format(regr.score(X_test,y_test)))
rmse = np.sqrt(mean_squared_error(y_test,y_pred))
print("Root Mean Squared Error: {}".format(rmse))
plt.scatter(X1,y1)
plt.plot(X_test,y_pred,color="black",linewidth=3)
plt.show()
我遇到的错误:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-47-77bd9073c3bd> in <module>
15 y_pred = linreg.predict(X_test)
16
---> 17 print("R2: {}".format(regr.score(X_test,y_test)))
18 rmse = np.sqrt(mean_squared_error(y_test,y_pred))
19 print("Root Mean Squared Error: {}".format(rmse))
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/base.py in score(self,X,y,sample_weight)
406 from .metrics import r2_score
407 from .metrics.regression import _check_reg_targets
--> 408 y_pred = self.predict(X)
409 # XXX: Remove the check in 0.23
410 y_type,_,_ = _check_reg_targets(y,None)
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/base.py in predict(self,X)
219 Returns predicted values.
220 """
--> 221 return self._decision_function(X)
222
223 _preprocess_data = staticmethod(_preprocess_data)
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/base.py in _decision_function(self,X)
204 X = check_array(X,accept_sparse=['csr','csc','coo'])
205 return safe_sparse_dot(X,self.coef_.T,--> 206 dense_output=True) + self.intercept_
207
208 def predict(self,X):
~/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/extmath.py in safe_sparse_dot(a,b,dense_output)
140 return ret
141 else:
--> 142 return np.dot(a,b)
143
144
<__array_function__ internals> in dot(*args,**kwargs)
ValueError: shapes (399,1) and (2,) not aligned: 1 (dim 1) != 2 (dim 0)
我的变量的形状
X_test =(399,1) y_test =(399,1)
X_train =(1595,1) y_train =(1595,1)
X1 =(1994,1) y1 =(1994,1)
谢谢,感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。