机器学习实战之Logistic回归

1 算法概述
Logistic的目标函数为:这里写图片描述,当目标函数大于0.5时,认为是类别1,当目标函数小于0.5时被归为0类。所以,这是一种典型的二分类。
求目标函数实际上主要是求回归系数θ(权重)。通常的做法是:①将θ代入到一个代价函数J(θ)中,通过下降法,最小二乘法等方法最小化J(θ),从而找到θ;②将θ代入到一个似然函数中L(θ),使似然函数L(θ)达到最大,从而找到θ。
2 实现
1)使用梯度上升找最佳权重

#梯度上升算法-计算回归系数
def gradAscent(dataMatIn, classLabels):
    dataMatrix = mat(dataMatIn)             #convert to NumPy matrix
    labelMat = mat(classLabels).transpose() #A.transpose()表示对A矩阵的转置
    m,n = shape(dataMatrix)
    alpha = 0.001
    maxCycles = 500 #迭代次数
    weights = ones((n,1))
    for k in range(maxCycles):              #heavy on matrix operations
        h = sigmoid(dataMatrix*weights)     #预测值
        error = (labelMat - h)              #误差计算
        weights = weights + alpha * dataMatrix.transpose()* error #权重更新
    return weights

2)分类

def classifyVector(inX, weights):
    prob = sigmoid(sum(inX*weights))
    if prob > 0.5: return 1.0
    else: return 0.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值