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 (将#修改为@)