逻辑回归

h(x)>=0.5, 即>=0时, 预测y=1

h(x)<0.5, 即<0时,  预测y=0

则将预测问题转化为对的求解问题——用梯度下降算法:


梯度下降算法求代码如下:

ef sigmoid(z):
    return 1.0/(1+exp(-z))
    

def gradDescent(returnMat, labelVec, iterations=150):
    m=len(returnMat)
    n=len(returnMat[0])
    theta=ones(n)
    for j in iterations:
        randomIndex=range(m)   
        for i in range(m):
            alpha=4/(1.0+i+j)+0.01     %alpha每次减少1/(j+i),这样当j《max(i)时,alpha就不是严格下降的   
            index=int(random.uniform(0, len(randomIndex)))             %这里通过随机选取样本来更新回归系数,这种方法将减少周期性的波动。
            h=sigmoid(sum(theta*returnMat[index]))
            theta=theta-alpha*(h-labelVec[index])*returnMat[index]
            del(randomIndex[index])
    return theta



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值