机器学习笔记——logistics的python实现

本文介绍了Logistic回归的原理和Python实现,包括Sigmod函数、梯度上升算法,并通过生成随机数据展示了完整的Python代码,讨论了添加x0列的原因和算法优化的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于logistics回归,能利用回归的方法实现对目标数据的分类(0或1,这取决于sigmod函数的特性),是一种非常有用的分类方法,下面对其实现过程进行介绍。

参考书籍

参考书籍:人民邮电出版社——图灵程序设计丛书《机器学习实战》

方法优缺点

优点:计算代价不高,易于理解和实现
缺点:容易欠拟合,分类精度不高

适用于数值型和标称型数据

sigmod函数

要用连续回归的方法实现二值型数据输出,就要借助这个sigmod函数,同时肯定不能随意的使用一个函数来进行操作,这个函数要满足一个条件,参数输入后输出的结果为0或者1,这里使用的是如下的函数:

1 1 + e − z \frac{1}{1+e^{-z}} 1+ez1

可以观察一下这个函数,其图形如下:
在这里插入图片描述
可以看到在x=0时,函数值为0.5;在 x → + ∞ x\to+\infty x+时,取值接近1,在 x → − ∞ x\to-\infty x时,取值接近0。那么通过将特征值与系数相乘转换为z,则可将样本映射在此连续函数上,映射至区间[0,1],若 g ( z ) &gt; 0.5 g(z)&gt;0.5 g(z)>0.5,则分类为1;若 g ( z ) &lt; 0.5 g(z)&lt;0.5 g(z)<0.5,则分类为0。

其中特征映射至连续函数的过程如下:

z = w 0 x 0 + w 1 x 1 + . . . + w n x n z=w_0x_0+w_1x_1+...+w_nx_n z=w0x0+w1x1+...+wnxn

那么下一步要考虑的问题就是如何确定最佳系数 w i w_i wi,如何在最大的概率下将样本进行正确的分类,这就要用到梯度上升算法了,有兴趣可以搜索一下论坛中的文章,论坛中有对梯度上升算法的证明及通俗理解的讲解,这里不做过多的赘述。

梯度上升算法

梯度上升算法的公式如下:

w : = w + ▽ w g ( w x ) w :=w+\bigtriangledown_w g(wx) w:=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值