用梯度下降法实现线性回归

本文介绍了如何在Python中使用sklearn库的SGDRegressor函数实现Huber损失的梯度下降法回归,通过一个实例演示了数据处理、模型训练和预测的过程,并展示了模型的截距和斜率。
摘要由CSDN通过智能技术生成

sklearn 的 SGDRegressor()函数用于实现梯度下降法的回归分析。

# coding=utf-8
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
# 设置文字
plt.rcParams['font.sans-serif']='SimHei'
# 创建数据矩阵
X,y = [],[]
X=[[123],[150],[87],[102]]
y=[[250],[320],[160],[220]]
X=np.array(X)
y=np.array(y)
# 创建模型
model=linear_model.SGDRegressor(loss="huber", penalty="l2", max_iter=5000)
model.fit(X, y.ravel())

SGDRegressor(loss=‘huber’, max_iter=5000)

# 预测值
y2=model.predict(X)
print(y2)

[264.56192582 322.63285163 187.13402473 219.39565018]

# 画图
plt.axis([80,160,150,350])
plt.scatter(X,y,color='y', marker='o')
plt.plot(X,y2,'g-') #画拟合线
plt.legend(['预测值','真实值'])
plt.show()

在这里插入图片描述

print("截距:",model.intercept_) #截距
print("斜率:",model.coef_) #斜率

截距: [0.0165971]
斜率: [2.15077503]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值