【发布时间】:2014-02-20 03:14:42
【问题描述】:
1 - 使用 A = np.array([x1,x2,x3]) 修复了 How I plot the linear regression 中的错误。
所以我决定增加 x1、x2 和 x3 中的元素数量并继续使用How I plot the linear regression 中的示例,现在我得到了错误 “ValueError:解包的值太多”。 Numpy 不能用这么多数字计算?
>>> x1 = np.array([3,2,2,3,4,5,6,7,8])
>>> x2 = np.array([2,1,4.2,1,1.5,2.3,3,6,9])
>>> x3 = np.array([6,5,8,9,7,0,1,2,1])
>>> y = np.random.random(3)
>>> A = np.array([x1,x2,x3])
>>> m,c = np.linalg.lstsq(A,y)[0]
Traceback (most recent call last):
File "testNumpy.py", line 18, in <module>
m,c = np.linalg.lstsq(A,y)[0]
ValueError: too many values to unpack
2 - 我还将我的版本与Multiple linear regression with python 中定义的版本进行了比较。哪一个是正确的?为什么他们在这个例子中使用转置?
谢谢,
【问题讨论】:
-
请发布整个问题。如果您的其他问题被删除,那么您实际上想要实现的目标就没有任何痕迹
-
错误不是来自 NumPy。 Python 它告诉您
np.linalg.lstsq(A,y)[0]返回的值超过了您期望的两个值 (m, c)。 -
如果发布的上一个问题的答案解决了该问题中提出的问题,那么您最好接受该答案。随着时间的推移,你会发现如果你不感谢他们或不承认他们的努力,人们对你的帮助就会减少(这也让其他人知道不要浪费时间试图弄清楚发布的答案是否足够)。
标签: python numpy math regression linear-regression