python实现正规⽅程线性回归相对于不是很⼤的数据来说,正规⽅程相对于梯度下降运算更加的简便
直接上核⼼公式
代码实现:
import numpy as np
import matplotlib.pyplot as plt
x=[[400],[450],[484],[500],[510],[525],[540],[549],[558],[590],[610],[640],[680],[750],[900]]
y=[[80],[89],[92],[102],[121],[160],[180],[189],[199],[203],[247],[250],[259],[289],[356]]
plt.plot(x,y,'ks')
end=[[0],[0]]
for i in range(len(x)):
x[i].insert(0,1)
x=np.mat(x)#转成矩阵
y=np.mat(y)
end=np.mat([0,0])
end=end.T#矩阵转逆
end=(x.T*x).I*x.T*y
A().tolist()#矩阵转成列表
print(end)
X=[400,900]
Y=[]
Y.append(end[0][0]+end[1][0]*X[0])
Y.append(end[0][0]+end[1][0]*X[1])正则化的最小二乘法曲线拟合python
plt.plot(X,Y,'g-')
plt.show()
结果
[[-173.50754254952682], [0.6238329654896275]]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论