如何在Python中为OLS线性回归解决ValueError

问题描述

我得到一个ValueError,并且我检查了几个关于此的stackoverflow帖子,但没有任何相关的内容。这是我的代码:

X_train,X_test,y_train,y_test=model_selection.train_test_split(X,y,test_size=0.2,random_state=0)

X_train=sm.add_constant(X_train)
model3=sm.OLS(y_train,X_train)
result=model3.fit()
print(result.summary())

X_test = sm.add_constant(X_test)
y_pred = model3.predict(X_test)

ValueError跟踪(最近一次通话最近) 在 1个X_test = sm.add_constant(X_test) ----> 2 y_pred = model3.predict(X_test)

C:\ ProgramData \ Anaconda3 \ lib \ site-> packages \ statsmodels \ regression \ linear_model.py in 378 exog = self.exog 379 -> 380 return np.dot(exog,params) 381 382 def get_distribution(self,params,scale,exog = None,> dist_class = None):

array_function internals> in dot(* args,** kwargs)

ValueError:形状(716,24)和(179,24)不对齐:24(dim 1)!= 179(dim 0)

在训练和测试数据集上添加常量之前,X_trainX_testy_trainy_test的维数是

X_train数据集:(716,24)
y_train数据集:(716,)
交易次数X_test数据集:(179,24)
交易次数y_test数据集:(179,)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)