当前位置:网站首页>机器学习——逻辑回归
机器学习——逻辑回归
2022-08-05 10:55:00 【Ding Jiaxiong】
8. 逻辑回归
机器学习中的一种分类模型,逻辑回归是一种分类算法
解决二分类问题的利器
8.1 应用场景
广告点击率
是否为垃圾邮件
是否患病
金融诈骗
虚假账号
8.2 原理
逻辑回归中,其输入值是什么
如何判断逻辑回归的输出
8.2.1 输入
8.2.2 激活函数
sigmod函数
判断标准
- 回归的结果输入到sigmoid函数当中
- 输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值
8.2.3 逻辑回归最终的分类
通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)
8.3 损失以及优化
8.3.1 损失
逻辑回归的损失,称之为对数似然损失
8.3.2 优化
- 使用梯度下降优化算法,去减少损失函数的值
- 更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率
8.4 API
8.4.1 sklearn.linear_model.LogisticRegression(solver=‘liblinear’, penalty=‘l2’, C = 1.0)
solver可选参数:{‘liblinear’, ‘sag’, ‘saga’,‘newton-cg’, ‘lbfgs’}
- 默认: ‘liblinear’;用于优化问题的算法
- 对于小数据集来说,“liblinear”是个不错的选择,而“sag”和’saga’对于大型数据集会更快
- 对于多类问题,只有’newton-cg’, ‘sag’, 'saga’和’lbfgs’可以处理多项损失;“liblinear”仅限于“one-versus-rest”分类
penalty:正则化的种类
C:正则化力度
8.4.2 LogisticRegression方法相当于 SGDClassifier(loss=“log”, penalty=" ")
SGDClassifier实现了一个普通的随机梯度下降学习。而使用LogisticRegression实现了SAG小批量梯度下降
8.5 案例
癌症分类预测-良/恶性乳腺癌肿瘤预测
8.6 分类评估方法
8.6.1 混淆矩阵
- 在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)

8.6.2 精确率(Precision)与召回率(Recall)
精确率
- 预测结果为正例样本中真实为正例的比例
召回率
- 真实为正例的样本中预测结果为正例的比例(查得全,对正样本的区分能力)
8.6.3 F1-score

反映了模型的稳健型
8.6.4 分类评估报告api
sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )
- y_true:真实目标值
- y_pred:估计器预测目标值
- labels:指定类别对应的数字
- target_names:目标类别名称
- return:每个类别精确率与召回率
8.6.5 ROC曲线与AUC指标
TPR与FPR
TPR = TP / (TP + FN)
- 所有真实类别为1的样本中,预测类别为1的比例
FPR = FP / (FP + TN)
- 所有真实类别为0的样本中,预测类别为1的比例
ROC曲线
- ROC曲线的横轴就是FPRate,纵轴就是TPRate,当二者相等时,表示的意义则是:对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的,此时AUC为0.5

AUC指标
AUC的概率意义是随机取一对正负样本,正样本得分大于负样本的概率
AUC的最小值为0.5,最大值为1,取值越高越好
AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器
0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值
- 最终AUC的范围在[0.5,1]之间,越接近1越好
AUC计算API
from sklearn.metrics import roc_auc_score
sklearn.metrics.roc_auc_score(y_true, y_score)
- 计算ROC曲线面积,即AUC值
- y_true:每个样本的真实类别,必须为0(反例),1(正例)标记
- y_score:预测得分,可以是正类的估计概率、置信值或者分类器方法的返回值
总结
- AUC只能用来评价二分类
- AUC非常适合评价样本不平衡中的分类器性能
8.7 ROC曲线的绘制
总的ROC曲线绘制出来了,AUC就定了,分对的概率也能求出来了
8.7.1 绘制ROC曲线的意义
很明显,不断地把可能分错的情况扣除掉,从概率最高往下取的点,每有一个是负样本,就会导致分错排在它下面的所有正样本,所以要把它下面的正样本数扣除掉
8.7.2 AUC——Area Under roc Curve
ROC曲线的积分,也是ROC曲线下面的面积
边栏推荐
猜你喜欢

MySQL 中 auto_increment 自动插入主键值

Huawei's lightweight neural network architecture GhostNet has been upgraded again, and G-GhostNet (IJCV22) has shown its talents on the GPU

电气工程的标准是什么

5G NR 系统消息

今天告诉你界面控件DevExpress WinForms为何弃用经典视觉样式

012年通过修补_sss_提高扩散模型效率

Opencv图像缩放和平移

Microcontroller: temperature control DS18B20

.NET深入解析LINQ框架(六:LINQ执行表达式)

反射修改jsessionid实现Session共享
随机推荐
化繁为简!阿里新产亿级流量系统设计核心原理高级笔记(终极版)
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
Nature:猪死亡1小时后,器官再次运转
拓朴排序例题
Opencv图像缩放和平移
How OpenHarmony Query Device Type
数据可视化(一)
深入理解 Istio 流量管理的超时时间设置
【翻译】混沌网+SkyWalking:为混沌工程提供更好的可观察性
什么是 DevOps?看这一篇就够了!
软件测试之集成测试
What are the standards for electrical engineering
Google启动通用图像嵌入挑战赛
The fuse: OAuth 2.0 four authorized login methods must read
Ali's new launch: Microservices Assault Manual, all operations are written out in PDF
Use KUSTO query statement (KQL) to query LOG on Azure Data Explorer Database
双因子与多因子身份验证有什么区别?
【心里效应】98 个著名的心理效应
一张图看懂 SQL 的各种 join 用法!
2022杭电杯超级联赛(5)


