【阿里天池云-龙珠计划】python机器学习小记
<task01: 基于sklearn的Logistic Regression分类实现>
一、逻辑回归算法原理及应用介绍
二、入门Demo
三、基于鸢尾花(iris)数据集的逻辑回归分类实践
【写在前面】
接触机器学习也有一年多了,基本都是自学的野路子
借这个天池云龙珠计划的机会好好整理下各种常用算法模型思路以备忘,也给读者抛砖引玉
感谢群主提供的学习机会@AI蜗牛车,群KOL@老表
顺便推荐一下群众的公众号:AI蜗牛车,对上手机器学习很有帮助👍
那么我们开始吧~~
1. 逻辑回归算法原理及应用介绍
1.1. 逻辑回归的介绍
逻辑回归(Logistic regression,简称LR)是一个分类模型,并且广泛应用于各个领域之中。
其最为突出的两点就是其模型简单(部署快!)和模型的可解释性强(用于学术研究的因子分析 & 企业内数分的归因)。
优劣势:
- 优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低;
- 缺点:容易欠拟合,分类精度可能不高
1.2. 逻辑回归的算法原理
逻辑回归主要用于两分类问题(也可用于多分类,准确性有损失),所以利用了Logistic函数(或称为Sigmoid函数,也常见于神经网络的激活函数),函数形式为:
l o g i ( z ) = 1 1 + e − z logi(z)=\frac{1}{1+e^{-z}} logi(z)=1+e−z1
其对应的函数图像可以表示如下:
import matplotlib.pyplot as plt
x = np.arange(-5,5,0.01)
y = 1/(1+np.exp(-x))
plt.plot(x,y)
plt.xlabel('z')
plt.ylabel('y')
plt.grid()
plt.show()
通过上图我们可以发现 Logistic 函数是单调递增函数,并且在z=0的时候取值为0.5,并且 l o g i ( ⋅ ) logi(\cdot) logi(⋅)函数的取值范围为 ( 0 , 1 ) (0,1) (0,1)。
而回归的基本方程为 z = w 0 + ∑ i N w i x i z=w_0+\sum_i^N w_ix_i z=w0+∑iNwixi,
将回归方程写入其中为:
p = p ( y = 1 ∣ x , θ ) = h θ ( x , θ ) = 1 1 + e − ( w 0 + ∑ i N w i x i ) p = p(y=1|x,\theta) = h_\theta(x,\theta)=\frac{1}{1+e^{-(w_0+\sum_i^N w_ix_i)}} p=</