Logistic回归的python代码

本文介绍了如何使用Python实现逻辑回归算法,包括梯度上升法、随机梯度上升法及其改进版。通过加载数据集、定义sigmoid函数,以及梯度上升算法,展示了逻辑回归在二分类问题中的应用。最后,绘制了最佳拟合曲线进行可视化。
摘要由CSDN通过智能技术生成
from numpy import *

'''
    逻辑回归用于分类和预测,是先采用线性回归作为基础,然后采用sigmoid函数
        对所有特征(X0~Xn)做线性回归:z = W0X0 + W1X1 + ...+ WnXn + S(s为一个不依赖于特征的数值)
        为了判断分类,以z作为输入,采用sigmoind函数:f(z)=1/(1+exp(-z))

    梯度算法,不断迭代寻求最优参数(W0,W1,W2...Wn):
        W:=W+a*梯度,a为步长
        W:=W+a*(X的转置矩阵)*error向量
        其中,X是所有样本的集合,error是所有样本标签的差异向量,这种方法由于取用样本全集,计算代价高。

    随机梯度算法,一次仅用一个样本点来更新回归系数:
        所有回归系数置为1
        对数据集中每个样本:
            计算该样本梯度
            系数=系数_old + 步长*梯度
        返回回归系数

    改进的随机梯度算法,相比于随机梯度算法,给定一个迭代次数,步长alpha逐步减少,样本上采取随机选择方式:
        所有回归系数置mei为1
        给定迭代次数R,重复R次:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值