gpt4 book ai didi

python - numpy.linalg.lstsqr 错误

转载 作者:行者123 更新时间:2023-12-01 03:51:08 27 4
gpt4 key购买 nike

我有两个矩阵,model_con 和observed_con。 model_con 为 15x1096,并填充了从 0 到大约 5 的浮点值。observed_con 的大小为 1096,浮点值在大致相同的范围内。当我运行此代码时:

for j in range(1000):
N = []
for i in range(800):
N.append(randint(0,1095))
Cs = model_con[:,N]
Os = observed_con[N]
k = np.linalg.lstsq(Cs,Os)[0]

我收到错误:

numpy.linalg.linalg.LinAlgError: Incompatible dimensions

最佳答案

正如您所写,Cs 的形状为 (15,800),Os 的形状为 (800,)。但 lstsq 要求 Os 的形状为 (15,),因为您试图找到 Cs x = Os 的最小二乘解(最小化 ||Cs x - Os||^2 over x)。如果将 800 更改为 15,您会发现不会出现任何错误,但我不知道您到底要解决什么问题。

在文档中,a(在本例中为 Cs)具有形状 (M,N),b(或 Os)具有形状 (M,)。

http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.html

关于python - numpy.linalg.lstsqr 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com