当我尝试将矩阵计算从八度转换为numpy时,我绝对是在扯我。特别是在多元回归方面。
我的任意数据如下,其中数组“ x”是我的输入值:
x = [
[1, 1 ,2],
[1, 3 ,4],
[1, 5 ,6],
[1, 7, 8],
[1, 9 ,10],
[1, 11 ,12]]
'y'是我的输出值(简称为和):
y = [[3],[7],[11],[15],[19],[23]]
在Octave中,以下代码将计算正确的系数(其中pinv(A)
用于计算矩阵A的Moore-Penrose伪逆):
pinv (x' * x) * x' * y'
在numpy中,我正在执行以下操作:
x = np.array(x)
y = np.array(y)
x_T = (x.transpose())
x_theta = (inv(np.dot(x_T,x)))
x_theta = np.dot(x_theta,x_T)
x_theta = np.dot(x_theta,y)
但是这输出:
[[-330.5],[36.875],[-3.875]]
这显然是不正确的。假设我只是简单,但任何帮助将不胜感激。
非常感谢!
答案 0 :(得分:0)
将其发布为答案,这样您的问题就不会仍然没有答案-在np.linalg.pinv
(在八度中使用pinv
的地方)使用index.js:205 Uncaught TypeError: Cannot read property 'shape' of undefined
(伪反函数)。