linear regression(线性回归) 代码python

本文介绍了如何使用Python进行线性回归分析,通过实例代码详细展示了数据预处理、模型训练及预测过程,帮助读者理解线性回归算法的应用。
摘要由CSDN通过智能技术生成
import random
def data():#生成数据
    x_list=[]
    y_list=[]
    w=int(random.random()*10)
    b=int(random.random()*10)
    for i in range(1000):
       x=random.random()*10
       y=w*x+b
       x_list.append(x)
       y_list.append(y)
    return x_list,y_list

def predict(x,w,b):#预测值
    y=w*x+b
    return y

def gradient(x_batch,y_batch,lr,w,b):#w b 的更新
    loss=0
    ave_w=0
    ave_b=0
    for i in range(len(x_batch)):#一个bacthsize的数据进行更新w,b
        loss+=0.5*(y_batch[i]-predict(x_batch[i],w,b))**2#计算一个batch中的loss总和
        ave_w+=(-y_batch[i]+predict(x_batch[i],w,b))*x_batch[i]#计算一个batch中的w导数总和
        ave_b+=(-y_batch[i]+predict(x_batch[i],w,b))#计算一个batch中的b导数总和
    loss/=len(x_batch)
    ave_w/=len(x_batch)#w平均梯度
    ave_b/=len(x_batch)#b的平均梯度
    w-=lr*ave_w#梯度下降
    b-=lr*ave_b#梯度下降
    return w,b,loss

def train(batch):#训练到一定精度内或者1000次迭代结束 这里采用1000次迭代效果
    x_l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值