快速了解——逻辑回归及模型评估方法

一、逻辑回归

应用场景:解决二分类问题

1、sigmoid函数

        1. 公式:

        2. 作用:把 (-∞,+∞) 映射到 (0, 1)

        3. 数学性质:单调递增函数,拐点在x=0,y=0.5的位置

        4. 导函数公式:f ′(x) = f(x) (1 – f(x))

2、相关概念

        概率:事件发生的可能性

        联合概率:两个或多个随机变量同时发生的概率

        条件概率:表示事件A在另外一个事件B已经发生条件下的发生概率,P( A | B )

        极大似然估计:根据 观测到的结果 来估计模型算法中的未知参数,即通过极大化概率事                                         件,来估计最优参数

        对数函数:如果a^b = N (a > 0,b != 1),那么 b 叫做以 a 为底 N 的对数。

                         性质:(a,M,N > 0)

3、概念

        一种分类模型,把线性回归的输出,作为逻辑回归的输入,输出是(0, 1)之间的值

4、假设函数

5、损失函数:对数似然损失

   工作原理:真实类别对应的位置,概率值越大越好

6、API

sklearn.linear_model.LogisticRegression ( solver = ' liblinear ',penalty = ' l2 ',C = 1.0 )

solver:损失函数优化方法( liblinear 对小数据集场景训练速度更快,sag 和 saga 对大数据集更                 快一些。)
penalty:正则化的种类,L1 或者 L2
C:正则化力度

tips:默认将类别数量少的当做正例,sag、saga 支持 L2 正则化或者没有正则化,liblinear 和           saga 支持 L1 正则化

二、模型评估

1、混淆矩阵


真正例 TP:True Positive,伪反例 FN:False Negative

伪正例 FP:False Positive,真反例 TN:True Negative

TP + FN + FP + TN = 总样本数量

1. 导包:from sklearn.metrics import confusion_matrix

2. 使用:result = confusion_matrix ( y_true,y_pred1,labels = labels)

from sklearn.metrics import confusion_matrix

result = confusion_matrix ( y_true,y_pred1,labels = labels)

2、精确率 ( Precision )

        概述:查准率,对正例样本的预测准确率

        计算方法:

        1. 导包:from sklearn.metrics import precision_score

        2. 使用:result = precision_score(y_true,y_pred1,pos_label = ' 恶性 ' )

from sklearn.metrics import precision_score

result = precision_score(y_true,y_pred1,pos_label = ' 恶性 ' )

3、召回率 ( Recall )

        概述:查全率,指的是预测为真正例样本占所有真实正例样本的比重

        计算方法:

        1. 导包:from sklearn.metrics import recall_score

        2. 使用:result = recall_score(y_true,y_pred1,pos_label = ' 恶性 ' )

from sklearn.metrics import recall_score

result = recall_score(y_true,y_pred1,pos_label = ' 恶性 ' )

4、F1- score

        概述:对模型的精度 (Precision)、召回率 (Recall) 都有要求,评估综合预测能力 ( 精确率和                       召回率 的调和平均数 )

        计算方法:

        1. 导包:from sklearn.metrics import f1_score

        2. 使用:result = f1_score ( y_true,y_pred1,pos_label = ' 恶性 ' )

from sklearn.metrics import f1_score

result = f1_score ( y_true,y_pred1,pos_label = ' 恶性 ' )

5、ROC 曲线

        真正率(TPR):正样本中被预测为正样本的概率(True Positive Rate)

        假正率(FPR):负样本中被预测为正样本的概率(False Positive Rate),FP / FP + TN

        概述:(Receiver Operating Characteristic curve)是一种常用于 评估 分类模型 性能 的可视化工具。ROC曲线以模型的 真正率TPR 为纵轴,假正率FPR 为横轴,它将模型在 不同阈值下的表现以曲线的形式展现出来。

6、AUC 曲线下面积

        概述:ROC曲线的优劣可以通过曲线下的面积(AUC)来衡量,AUC越大表示分类器 性能越好

        当AUC <= 0.5 时,表示分类器的性能等同于随机猜测

        当AUC = 1时,表示分类器的性能完美,能够完全正确地将正负例分类。

点(0, 0) :所有的负样本都预测正确,所有的正样本都预测错误,相当于点的 (FPR值0, TPR值0)

点(1, 0) :所有的负样本都预测错误,所有的正样本都预测错误。相当于点的 (FPR值1, TPR值0)                    即最不好的效果

点(1, 1):所有的负样本都预测错误,所有的正样本都预测正确。相当于点的 (FPR值1,TPR值1)

点(0, 1):所有的负样本都预测正确,所有的正样本都预测正确。相当于点的 (FPR值0,TPR值1)                  即最好的效果

        API

        1.导包:from sklearn.metrics import roc_auc_score

        2. 使用:sklearn.metrics.roc_auc_score ( y_true,y_score )

                       y_true:每个样本的真实类别,必须为0 ( 反例 ),1 ( 正例 )标记

                       y_score:预测得分,可以是正例的估计概率、置信值或者分类器方法的返回值

from sklearn.metrics import roc_auc_score

sklearn.metrics.roc_auc_score ( y_true,y_score )

7、EDA(探索性数据分析)

        概述:围绕目标值进行分析,找到和目标值相关性比较强的特征

8、分类评估报告

     sklearn.metrics.classification_report ( y_true,y_pred,labels = [ ],target_names = None ) 

     y_true:真实目标值
     ​y_pred:估计器预测目标值
     ​labels:指定类别对应的数字
     ​target_names:目标类别名称
​     return:每个类别精确率与召回率

sklearn.metrics.classification_report ( y_true,y_pred,labels = [ ],target_names = None ) 

     样本不均衡问题处理思路:希望 0、1 标签样本占比 1:1,方案:class_weight = ' balanced '

特征编码:处理类别型数据,做 one - hot 编码:churn_pd = pd.get_dummies ( churn_pd )

churn_pd = pd.get_dummies ( churn_pd )

模型保存:1. 导包:import joblib

                  2. 保存: joblib.dump ( estimator,' . / 文件名.pth ' )

import joblib

joblib.dump ( estimator,' . / 文件名.pth ' )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/318912.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python新年文字烟花简单代码

简单的Python新年烟花代码示例&#xff1a; import random import timedef create_firework():colors [红色, 橙色, 黄色, 绿色, 蓝色, 紫色]flashes [爆裂, 闪光, 旋转, 流星, 喷射]color random.choice(colors)flash random.choice(flashes)print(f"发射一枚{color…

imgaug库指南(22):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

汽车雷达:实时SAR成像的实现

摘要: 众所周知,点云成像是目前实现汽车雷达感知最流行的方案,尤其是采用多级联实现的4D点云成像雷达,这是目前最有希望实现产品落地的技术方案之一。 今天重点分享关于汽车雷达SAR成像相关技术内容,这也证实了4D点云成像雷达并不一定就是汽车雷达成像唯一的方案,在业内…

CPU告警不用愁,用C语言编写CPU使用率限制程序

现在云服务已经深入千家万户了&#xff0c;不仅商用&#xff0c;私用也很多。很多云服务厂商也都有配套的服务器安全模块&#xff0c;可以检测网络流量异常、内存占用量和CPU占用率&#xff0c;并且允许人工设置告警阈值。例如&#xff0c;CPU持续大于90%10分钟&#xff0c;那么…

14、强化学习Soft Actor-Critic算法:推导、理解与实战

基于LunarLander登陆器的Soft Actor-Critic强化学习&#xff08;含PYTHON工程&#xff09; Soft Actor-Critic算法是截至目前的T0级别的算法了&#xff0c;当前正在学习&#xff0c;在此记录一下下。 其他算法&#xff1a; 07、基于LunarLander登陆器的DQN强化学习案例&#…

微信小程序(三)页面配置与全局配置

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 页面导航栏的属性配置全局页面注册配置全局导航栏配置样式版本 源码&#xff1a;(标准的json是不能加注释的&#xff0c;但为了方便理解咱做个违背标准的决定) 页面&#xff1a;index.json {//这里是页面的配置文件&am…

LAMA Inpaint:大型掩模修复

文章目录 一、大掩模修复&#xff08;LaMa&#xff09;简介二、大掩模修复&#xff08;LaMa&#xff09;的主要方法三、快速傅里叶卷积的修补网络四、损失函数五、训练中的动态掩膜生成 一、大掩模修复&#xff08;LaMa&#xff09;简介 LaMa方法的提出背景&#xff1a;现代图…

py连接sqlserver数据库报错问题处理。20009

报错 pymssql模块连接sqlserver出现如下错误&#xff1a; pymssql._pymssql.OperationalError) (20009, bDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (passwordlocalhost)\n) 解决办法&#xff1a; 打…

【蓝桥杯日记】第一篇——系统环境的搭建

目录 前言 环境相关文件 学生机环境-Web应用开发环境&#xff08;第十五届大赛&#xff09; 学生机环境-Java编程环境&#xff08;第十五届大赛&#xff09; 学生机环境-C/C编程环境&#xff08;第十五届大赛&#xff09; 学生机环境-Python编程环境 &#xff08;第十五届…

【数据结构】八大排序之计数排序算法

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.计数排序简介及思想 二.计数排序代码实现 三.计数排序复杂度分析 &#x1f4cc;时间复杂度 &#x1f4cc;空间复杂度 结语 一.计数排序简介及思想 计数排序(Cou…

一个月带你手撕LLM理论与实践,并获得面试or学术指导!

大家好&#xff0c;我是zenRRan&#xff0c;是本号的小号主。 从该公众号的名字就能看出&#xff0c;运营已经好多年了&#xff0c;这些年当中直接或间接帮助很多同学从NLP入门到进阶&#xff0c;理论到实践&#xff0c;学校到企业&#xff0c;本科到硕士甚至博士。 每天习惯性…

【K12】Python写分类电阻问题的求解思路解析

分压电阻类电路问题python程序写法 一个灯泡的电阻是20Ω&#xff0c;正常工作的电压是8V&#xff0c;正常工作时通过它的电流是______A。现在把这个灯泡接到电压是9V的电源上&#xff0c;要使它正常工作&#xff0c;需要给它______联一个阻值为______的分压电阻。 解决思想 …

深度学习基本介绍-李沐

目录 AI分类&#xff1a;模型分类&#xff1a;广告案例&#xff1a; bilibili视频链接&#xff1a;https://www.bilibili.com/video/BV1J54y187f9/?p2&spm_id_frompageDriver&vd_sourcee6a6e7fec41c59c846c142eb5ef1da0b AI分类&#xff1a; 模型分类&#xff1a; 图…

初识 Elasticsearch 应用知识,一文读懂 Elasticsearch 知识文集(3)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

《现代C++语言核心特性解析》笔记草稿

仅供学习记录之用&#xff0c;谢绝转发 第1章 新基础类型&#xff08;C11&#xff5e;C20&#xff09; 1.1 整数类型long long 更多笔记 “在C中应该尽量少使用宏&#xff0c;用模板取而代之是明智的选择。C标准中对标准库头文件做了扩展&#xff0c;特化了long long和unsi…

【AIGC】Controlnet:基于扩散模型的文生图的可控性

前言 controlnet可以让stable diffusion的生图变得可控。 文章连接&#xff1a;https://arxiv.org/pdf/2302.05543.pdf 摘要 冻结了stable diffusion的预训练模型并重用它的预训练编码层神经网络结构与零初始化卷积层连接&#xff0c;从零开始逐渐增加参数&#xff0c;并确…

python入门,数据容器:set集合

set最大的特点就是不支持重复元素&#xff0c;可以进行元素的去重处理&#xff0c;但不有序&#xff0c;不保证元素顺序正确 所以就不能使用下标索引的访问 1.集合的定义 集合的定义使用的是大括号{ } 对ok这个字符串进行了去重 2.add添加新元素 3.remove移除元素 4.pop随机…

鸿蒙Harmony--AppStorage--应用全局的UI状态存储详解

无所求必满载而归&#xff0c;当你降低期待&#xff0c;降低欲望&#xff0c;往往会得到比较好的结果&#xff0c;把行动交给现在&#xff0c;用心甘情愿的态度&#xff0c;过随遇而安的生活&#xff0c;无论结果如何&#xff0c;都是一场惊喜的获得! 目录 一&#xff0c;定义 …

浅析Linux进程地址空间

前言 现代处理器基本都支持虚拟内存管理&#xff0c;在开启虚存管理时&#xff0c;程序只能访问到虚拟地址&#xff0c;处理器的内存管理单元&#xff08;MMU&#xff09;会自动完成虚拟地址到物理地址的转换。基于虚拟内存机制&#xff0c;操作系统可以为每个运行中的进程创建…

DHCP中继【新华三】

理论【DHCP服务器可以对其直连的网段中的pc&#xff0c;分配其IP地址等服务&#xff0c;但是&#xff0c;对于跨网段进行分配IP地址&#xff0c;需要中间有DHCP中继进行传达&#xff0c;由DHCP中继指定DHCP服务器的位置&#xff0c;可以很好的对其跨网段分配IP地址起到指引的作…