参考内容: python数据挖掘与机器学习实战.方魏.机械工业出版社.2019.05 机器学习基础:从入门到求职.胡欢武.电子工业出版社.2019.03 网易云课堂: 唐宇迪.python数据分析与机器学习

什么是逻辑回归?

  • 逻辑回归是做回归分析吗?当然不了,你一定要记住:逻辑回归考虑的不在是回归问题了,它是一个经典的的二分类算法。逻辑回归也被称为广义线性回归模型,它与线性回归模型的形式基本上相同,最大的区别就在于它们的因变量不同,如果是连续的,就是多重线性回归;如果是二项分布,就是Logistic回归。
  • 逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证这个求解的模型的好坏。
  • 它的优点有:速度快,适合二分类问题;简单、易于理解,可以直接看到各个特征的权重;能容易地更新模型吸收新的数据。
  • 它的缺点有:对数据和场景的适应能力有局限性,不如决策树算法适应性强。

逻辑回归的主要用途和实例

主要用途

  • 寻找危险因素:寻找某一疾病的危险因素等;
  • 预测:根据模型,预测在不同的自变量情况下,发生某种疾病或某种情况的概率有多大;
  • 判别:实际上跟预测有些类似,也是根据模型,判断某人属于某种疾病或属于某种情况的概率有多大。

实例

  • 垃圾邮件分类实际上就是一个分类问题:或者是一封垃圾邮件,或者不是。
  • 一个在线交易网站判断一次交易是否带有欺诈性:或者是带有欺诈性的交易,或者不是。
  • 判断一个肿瘤是良性的还是恶性的:或者是一个恶性肿瘤,或者不是。

逻辑回归的求解步骤

寻找h函数(即预测函数)

image.png
p(y=1|x;θ)= h**(x)**
p(y=0|x;θ)= 1-h**(x)**

构造J函数(损失函数)

image.png
image.png

想办法使得J函数最小并求得回归参数(θ)

image.png
image.png
image.png
image.png

逻辑回归python实现

需要完成的模块:

  • sigmoid:映射到概率的函数
  • model:返回预测结果值
  • cost: 根据参数计算损失
  • gradient:计算每个参数的梯度方向
  • descent:进行参数更新
  • accuracy:计算精度

sigmoid 函数

image.png
机器学习--逻辑回归(原理) - 图10

  1. def sigmoid(z):
  2. return 1 / (1 + np.exp(-z))
  3. # 验证
  4. nums = np.arange(-10, 10, step =1)
  5. fig, ax = plt.subplots(figsize=(12,4))
  6. ax.plot(nums,sigmoid(nums),'red')

image.png

model 返回预测结果