ValueError:形状(50,6)和(50,6)未对齐:6(dim 1)!= 50(dim 0)
Posted
技术标签:
【中文标题】ValueError:形状(50,6)和(50,6)未对齐:6(dim 1)!= 50(dim 0)【英文标题】:ValueError: shapes (50,6) and (50,6) not aligned: 6 (dim 1) != 50 (dim 0) 【发布时间】:2020-07-26 02:38:48 【问题描述】:我不断收到此错误:
ValueError: shapes (50,6) and (50,6) not aligned: 6 (dim 1) != 50 (dim 0)".
有人对如何“对齐”这些矩阵有任何建议吗?我正在使用 Python 3.5.1。
real_x = data.iloc[:,0:4].values
real_y= data.iloc[:,4].values
le = LabelEncoder()
real_x[:,3] = le.fit_transform(real_x[:,3])
oneHE = OneHotEncoder(categorical_features=[3])#categorical features col 3
real_x = oneHE.fit_transform(real_x).toarray()
real_x = real_x[:,1:]
training_x,test_x,training_y,test_y = train_test_split(real_x,real_y,test_size=0.2,random_state=0)
MLR = LinearRegression()
MLR.fit(training_x,training_y)
Pred_y = MLR.predict(test_x)
real_x = np.append(arr=np.ones((50,1)).astype(int),values=real_x, axis=1)
x_opt= real_x[:,[0,1,2,3,4]]
reg_OLS = sm.OLS(endog=real_x, exog=x_opt).fit()
m = reg_OLS.summary()
real_x.shape
(50, 6)
x_opt.shape
(50, 5)
我尝试重塑它们,但它再次显示错误
x_opt.reshape(50,6)
ValueError: cannot reshape array of size 250 into shape (50,6)
这是完整的错误
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-15-02d59637cd4f> in <module>()
----> 1 m = reg_OLS.summary()
ValueError: shapes (50,6) and (50,6) not aligned: 6 (dim 1) != 50 (dim 0)
【问题讨论】:
哪些矩阵? 究竟在哪里弹出错误?这对于可能的受访者来说是有用的信息 - 可以安全地省略讲故事的细节。请发布完整的错误跟踪。 您好,感谢您的回复,我已经更新了我的问题 【参考方案1】:OLS 仅适用于单变量因变量 (endog
),您的 endog 是多变量的。
statsmodels 目前没有对多变量 LS 版本的适当支持。
linearmodels
包中实现了多个多元 LS 模型。
https://pypi.org/project/linearmodels/
OLS 可以估计多变量 endog 的 params
,但其他结果统计信息不可用。这就是为什么它总结起来而不是模型创建或拟合的原因。
【讨论】:
我正在从 Youtube 学习它,讲师能够执行此代码 不知道教练在做什么,也许她/他有一个 1-dim endog。在任何情况下,它都不适用于 statsmodels OLS。以上是关于ValueError:形状(50,6)和(50,6)未对齐:6(dim 1)!= 50(dim 0)的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:x 和 y 必须具有相同的第一维,但具有形状 (6,) 和 (8,) [重复]
TF2.6:ValueError:模型无法保存,因为尚未设置输入形状
ValueError:检查目标时出错:预期dense_6的形状为(46,),但数组的形状为(1,)
ValueError:检查目标时出错:预期activation_6 的形状为(70,)但得到的数组形状为(71,)
ValueError:检查目标时出错:预期activation_6具有形状(无,2)但得到的数组具有形状(5760,1)