2019-09-01 梯度下降回归

import numpy as np
from sklearn.linear_model import SGDRegressor
X = 2 * np.random.rand(100,1)
y = 4 + 3 * X +np.random.randn(100,1) 

import  matplotlib.pyplot as plt 
plt.scatter(X,y)
plt.show()
#梯度下降回归
sgd_reg = SGDRegressor(max_iter = 100) #最大迭代次数
sgd_reg.fit(X,y.ravel())

print(sgd_reg.predict(1.5))   #预测
print("w0= ",sgd_reg.intercept_)
print("w1=",sgd_reg.coef_)
>>>
[8.52039601]
w0=  [3.99348169]
w1= [3.01794288]

画个图

line_x = np.linspace(0,2,100)
line_y = sgd_reg.intercept_ + sgd_reg.coef_ * line_x
#默认生成的是(1,100)的行向量
line_y.reshape(100,) #把line_y由列向量变成行向量
plt.scatter(X,y)
plt.plot(line_x,line_y,'r--')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 学习深度学习已经一段时间了,但是学习过程中总觉得缺了点什么,无从动手编程。因此,我还是希望使用写文章的方式来...
    yjy239阅读 6,763评论 0 7
  • 线性回归及梯度下降 参考资料:网址 本文会讲到: (1) 线性回归的定义 (2) 单变量线性回归 (3) cost...
    raincoffee阅读 3,616评论 0 1
  • 确保算法能收敛以及选择合适的学习速率α。 对于随机梯度下降算法,为了检查算法是否收敛,沿用之前定义的cost函数。...
    奈何qiao阅读 6,662评论 0 0
  •   Torch的封装的还是前馈神经网络最核心的梯度计算,然后迭代实现梯度下降,达到参数学习的结果。本主题通过一个例...
    杨强AT南京阅读 4,483评论 0 2
  • 居浣花溪数年,赋闲数年,却有很多理由阻碍我一个人在这样的静静的春光无限美的初春,走出房门,独自浸润于如诗如画的浣花...
    明月朗星阅读 2,880评论 1 4

友情链接更多精彩内容