logistic回归

一.二项logistic回归模型:

  1.  现有样本x,它的预测值为0或1,预测为1的概率为p,使事件的对数几率

    等于x的线性模型预测值:

         ,这样得到   ;

    这个函数称为logistic函数;

图像如下:

    

        线性函数的值接近正无穷,概率值接近1;线性函数的值接近负无穷,概率值接近0;

    这个模型就是logistic模型;

        对于二分类,我们设置一个阀值,例如0.5,大于0.5,分类为1,小于0.5,分类为0;

2.模型的参数估计:

        对于一个样本:

            

    似然函数:

        

    对数似然:

        

    对数似然最大,求出参数theta;

    梯度上升,求梯度:

        

        参数求解:

            

        转化为矩阵形式:

            

            其中:

                

           

    3.loss函数:

        

        对数似然的相反数;

        4.代码如下:

from numpy import *

def sigmoid(inX):
    return 1.0/(1+exp(-inX))

def gradAscent(dataMatIn, classLabels):
    dataMatrix = mat(dataMatIn)             #convert to NumPy matrix
    labelMat = mat(classLabels).transpose() #convert to NumPy matrix
    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)     #matrix mult
        error = (labelMat - h)              #vector subtraction
        weights = weights + alpha * dataMatrix.transpose()* error   #矩阵相乘
    return weights

     二.多项logistic回归:

            






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值