逻辑回归及案例分析

逻辑回归简介

学习目标:

1.知道逻辑回归的应用场景

2.复习逻辑回归应用到的数学知识

【了解】应用场景

逻辑回归是解决二分类问题的利器

【熟悉】数学知识

【知道】sigmoid函数

【理解】概率

【理解】极大似然估计

核心思想:

设模型中含有待估参数w,可以取很多值。已经知道了样本观测值,从w的一切可能值中(选出一个使该观察值出现的概率为最大的值,作为w参数的估计值,这就是极大似然估计。(顾名思义:就是看上去那个是最大可能的意思)

举个例子:

假设有一枚不均匀的硬币,出现正面的概率和反面的概率是不同的。假定出现正面的概率为𝜃, 抛了6次得到如下现象 D = {正面,反面,反面,正面,正面,正面}。每次投掷事件都是相互独立的。 则根据产生的现象D,来估计参数𝜃是多少?

P(D|𝜃) = P {正面,反面,反面,正面,正面,正面} = P(正面|𝜃) P(正面|𝜃) P(正面|𝜃) P(正面|𝜃) P(正面|𝜃) P(正面|𝜃) ​ =𝜃 *(1-𝜃)*(1-𝜃)𝜃*𝜃*𝜃 = 𝜃4(1 − 𝜃)

问题转化为:求此函数的极大值时,估计𝜃为多少

【知道】对数函数

逻辑回归原理

学习目标1.理解逻辑回归算法的原理

2.知道逻辑回归的损失函数

【理解】原理

逻辑回归概念 Logistic Regression

• 一种分类模型,把线性回归的输出,作为逻辑回归的输入。

• 输出是(0, 1)之间的值

• 基本思想

  1. 利用线性模型 f(x) = wx + b 根据特征的重要性计算出一个值

  2. 再使用 sigmoid 函数将 f(x) 的输出值映射为概率值

    1. 设置阈值(eg:0.5),输出概率值大于 0.5,则将未知样本输出为 1 类

    2. 否则输出为 0 类

3.逻辑回归的假设函数 h(w) = sigmoid(wx + b )

线性回归的输出,作为逻辑回归的输入

在逻辑回归中,当预测结果不对的时候,我们该怎么衡量其损失呢?

我们来看下图(下图中,设置阈值为0.6),

那么如何去衡量逻辑回归的预测结果与真实结果的差异?

【知道】损失函数

逻辑回归API

学习目标:

1.知道逻辑回归的API

2.动手实现癌症分类案例

【知道】API介绍

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

solver损失函数优化方法:

训练速度:liblinear 对小数据集场景训练速度更快,sag 和 saga 对大数据集更快一些。 2 正则化:

  1. newton-cg、lbfgs、sag、saga 支持 L2 正则化或者没有正则化

  2. 2liblinear 和 saga 支持 L1 正则化

penalty:正则化的种类,l1 或者 l2

C:正则化力度

默认将类别数量少的当做正例

【实践】癌症分类案例

  • 数据介绍

(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤相关的医学特征,

最后一列表示肿瘤类型的数值。

(2)包含16个缺失值,用”?”标出。

(3)2表示良性,4表示恶性

数据描述

(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤

相关的医学特征,最后一列表示肿瘤类型的数值。

(2)包含16个缺失值,用”?”标出。

  • 案例分析

1.获取数据 2.基本数据处理 2.1 缺失值处理 2.2 确定特征值,目标值 2.3 分割数据 3.特征工程(标准化) 4.机器学习(逻辑回归) 5.模型评估
  • 代码实现

# 0.导包 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score import numpy as np ​ # 1.加载数据 data =pd.read_csv('breast-cancer-wisconsin.csv') # print(data.info()) # 2.数据处理 # 2.1 缺失值 data =data.replace(to_replace='?',value=np.NAN) data=data.dropna() ​ # 2.2 获取特征和目标值 X = data.iloc[:,1:-1] y = data['Class'] ​ # 2.3 数据划分 x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=22) # 3.特征工程(标准化) pre =StandardScaler() x_train=pre.fit_transform(x_train) x_test=pre.transform(x_test) ​ # 4.模型训练 model=LogisticRegression() model.fit(x_train,y_train) ​ # 5.模型预测和评估 y_predict =model.predict(x_test) print(y_predict) print(accuracy_score(y_test,y_predict)) ​

分类评估方法

学习目标:

1.理解混淆矩阵的构建方法

2.掌握精确率,召回率和F1score的计算方法

3.知道ROC曲线和AUC指标

【理解】混淆矩阵

混淆矩阵作用在测试集样本集中:

  1. 真实值是正例的样本中,被分类为正例的样本数量有多少,这部分样本叫做真正例(TP,True Positive)

  2. 真实值是正例的样本中,被分类为假例的样本数量有多少,这部分样本叫做伪反例(FN,False Negative)

  3. 真实值是假例的样本中,被分类为正例的样本数量有多少,这部分样本叫做伪正例(FP,False Positive)

  4. 真实值是假例的样本中,被分类为假例的样本数量有多少,这部分样本叫做真反例(TN,True Negative)

True Positive :表示样本真实的类别

Positive :表示样本被预测为的类别

例子:

样本集中有 6 个恶性肿瘤样本,4 个良性肿瘤样本,我们假设恶性肿瘤为正例,则:

模型 A:预测对了 3 个恶性肿瘤样本,4 个良性肿瘤样本

  1. 真正例 TP 为:3

  2. 伪反例 FN 为:3

  3. 伪正例 FP 为:0

  4. 真反例 TN:4

  5. 精准率:3/(3+0) = 100%

模型 B:预测对了 6 个恶性肿瘤样本,1个良性肿瘤样本

  1. 真正例 TP 为:6

  2. 伪反例 FN 为:0

  3. 伪正例 FP 为:3

  4. 真反例 TN:1

  5. 精准率:6/(6+3) = 67%

我们会发现:TP+FN+FP+TN = 总样本数量

【掌握】Precision(精确率)

精确率也叫做查准率,指的是对正例样本的预测准确率。比如:我们把恶性肿瘤当做正例样本,则我们就需要知道模型对恶性肿瘤的预测准确率。

例子:

样本集中有 6 个恶性肿瘤样本,4 个良性肿瘤样本,我们假设恶性肿瘤为正例,则:

模型 A:预测对了 3 个恶性肿瘤样本,4 个良性肿瘤样本

  1. 真正例 TP 为:3

  2. 伪反例 FN 为:3

  3. 假正例 FP 为:0

  4. 真反例 TN:4

  5. 精准率:3/(3+0) = 100%

模型 B:预测对了 6 个恶性肿瘤样本,1个良性肿瘤样本

  1. 真正例 TP 为:6

  2. 伪反例 FN 为:0

  3. 假正例 FP 为:3

  4. 真反例 TN:1

  5. 精准率:6/(6+3) = 67%

【掌握】Recall(召回率)

召回率也叫做查全率,指的是预测为真正例样本占所有真实正例样本的比重。例如:我们把恶性肿瘤当做正例样本,则我们想知道模型是否能把所有的恶性肿瘤患者都预测出来。

例子:

样本集中有 6 个恶性肿瘤样本,4 个良性肿瘤样本,我们假设恶性肿瘤为正例,则:

模型 A:预测对了 3 个恶性肿瘤样本,4 个良性肿瘤样本

  1. 真正例 TP 为:3

  2. 伪反例 FN 为:3

  3. 假正例 FP 为:0

  4. 真反例 TN:4

  5. 精准率:3/(3+0) = 100%

  6. 召回率:3/(3+3)=50%

模型 B:预测对了 6 个恶性肿瘤样本,1个良性肿瘤样本

  1. 真正例 TP 为:6

  2. 伪反例 FN 为:0

  3. 假正例 FP 为:3

  4. 真反例 TN:1

  5. 精准率:6/(6+3) = 67%

  6. 召回率:6/(6+0)= 100%

【掌握】F1-score

如果我们对模型的精度、召回率都有要求,希望知道模型在这两个评估方向的综合预测能力如何?则可以使用 F1-score 指标。

样本集中有 6 个恶性肿瘤样本,4 个良性肿瘤样本,我们假设恶性肿瘤为正例,则:

模型 A:预测对了 3 个恶性肿瘤样本,4 个良性肿瘤样本

  1. 真正例 TP 为:3

  2. 伪反例 FN 为:3

  3. 假正例 FP 为:0

  4. 真反例 TN:4

  5. 精准率:3/(3+0) = 100%

  6. 召回率:3/(3+3)=50%

  7. F1-score:(2*3)/(2*3+3+0)=67%

模型 B:预测对了 6 个恶性肿瘤样本,1个良性肿瘤样本

  1. 真正例 TP 为:6

  2. 伪反例 FN 为:0

  3. 假正例 FP 为:3

  4. 真反例 TN:1

  5. 精准率:6/(6+3) = 67%

  6. 召回率:6/(6+0)= 100%

  7. F1-score:(2*6)/(2*6+0+3)=80%

【知道】ROC曲线和AUC指标

ROC 曲线

ROC 曲线:我们分别考虑正负样本的情况:

  1. 正样本中被预测为正样本的概率,即:TPR (True Positive Rate)

  2. 负样本中被预测为正样本的概率,即:FPR (False Positive Rate)

ROC 曲线图像中,4 个特殊点的含义:

  1. (0, 0) 表示所有的正样本都预测为错误,所有的负样本都预测正确

  2. (1, 0) 表示所有的正样本都预测错误,所有的负样本都预测错误

  3. (1, 1) 表示所有的正样本都预测正确,所有的负样本都预测错误

  4. (0, 1) 表示所有的正样本都预测正确,所有的负样本都预测正确

绘制 ROC 曲线

假设:在网页某个位置有一个广告图片或者文字,该广告共被展示了 6 次,有 2 次被浏览者点击了。每次点击的概率如下:

样本是否被点击预测点击概率
110.9
200.7
310.8
400.6
500.5
600.4

根据预测点击概率排序之后:

样本是否被点击预测点击概率
110.9
310.8
200.7
400.6
500.5
600.4

绘制 ROC 曲线:

阈值:0.9

  1. 原本为正例的 1、3 号的样本中 3 号样本被分类错误,则 TPR = 1/2 = 0.5

  2. 原本为负例的 2、4、5、6 号样本没有一个被分为正例,则 FPR = 0

阈值:0.8

  1. 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1

  2. 原本为负例的 2、4、5、6 号样本没有一个被分为正例,则 FPR = 0

阈值:0.7

  1. 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1

  2. 原本为负类的 2、4、5、6 号样本中 2 号样本被分类错误,则 FPR = 1/4 = 0.25

阈值:0.6

  1. 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1

  2. 原本为负类的 2、4、5、6 号样本中 2、4 号样本被分类错误,则 FPR = 2/4 = 0.5

阈值:0.5

  1. 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1

  2. 原本为负类的 2、4、5、6 号样本中 2、4、5 号样本被分类错误,则 FPR = 3/4 = 0.75

阈值 0.4

  1. 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1

  2. 原本为负类的 2、4、5、6 号样本全部被分类错误,则 FPR = 4/4 = 1

(0, 0.5)、(0, 1)、(0.25, 1)、(0.5, 1)、(0.75, 1)、(1, 1)

由 TPR 和 FPR 构成的 ROC 图像为:

AUC 值
  1. 我们发现:图像越靠近 (0,1) 点则模型对正负样本的辨别能力就越强

  2. 我们发现:图像越靠近 (0, 1) 点则 ROC 曲线下面的面积就会越大

  3. AUC 是 ROC 曲线下面的面积,该值越大,则模型的辨别能力就越强

  4. AUC 范围在 [0, 1] 之间

  5. 当 AUC= 1 时,该模型被认为是完美的分类器,但是几乎不存在完美分类器

AUC 值主要评估模型对正例样本、负例样本的辨别能力.

分类评估报告api
sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None ) ''' y_true:真实目标值 y_pred:估计器预测目标值 labels:指定类别对应的数字 target_names:目标类别名称 return:每个类别精确率与召回率 '''
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:预测得分,可以是正例的估计概率、置信值或者分类器方法的返回值

【实践】电信客户流失预测

学习目标:

1.了解案例的背景信息

2.知道案例的处理流程

3.动手实现电信客户流失案例的代码

数据集介绍

  • 流失用户指的使用过产品因为某些原因不再使用该产品。随着产品的更新迭代,都会存在一定的流失情况,这时正常现象。流失用户的比例和变化趋势能够反映该产品当前是否存在问题以及未来的发展趋势。

  • 当用户群体庞大时,有限的人力和精力不能为每个用户都投入大量的时间。如果公司可以预测哪些用户可能提前流失,这样就能将主要精力聚焦于这些用户,实施有效的用户挽留策略,提高用户粘性。

  • 本项目旨在通过分析特征属性确定用户流失的原因,以及哪些因素可能导致用户流失。建立预测模型来判断用户是否流失,并提出用户流失预警策略。

  • 具体数据说明如下:数据集中总计7043条数据,21个特征字段,最终分类特征为Churn:用户是否流失,具体内容如下所示:

customerID:用户ID

gender:性别

SeniorCitizen:是否是老人

Partner:是否有伴侣

Dependents:是否有需要抚养的孩子

tenure:任职

PhoneService:是否办理电话服务

MultipleLines:是否开通了多条线路

InternetService:是否开通网络服务和开通的服务类型(光纤、电话拨号)

TechSupport:是否办理技术支持服务

OnlineBackup:是否办理在线备份服务

OnlineSecurity:是否办理在线安全服务

DeviceProtection:是否办理设备保护服务

StreamingTV:是否办理电视服务

StreamingMovies:是否办理电影服务

Contract:签订合约的时长

PaperlessBilling:是否申请了无纸化账单

PaymentMethod:付款方式(电子支票、邮寄支票、银行自动转账、信用卡自动转账)

MonthlyCharges:月消费

TotalCharges:总消费

Churn:用户是否流失

处理流程

1、数据基本处理

查看数据的基本信息

对类别数据数据进行one-hot处理

查看标签分布情况

2、特征筛选

分析哪些特征对标签值影响大

初步筛选出对标签影响比较大的特征,形成x、y

3、模型训练

模型训练

交叉验证网格搜索等

4、模型评估

精确率

Roc_AUC指标计算

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

M2FP在智能零售中的应用:顾客行为分析

M2FP在智能零售中的应用:顾客行为分析 🧩 M2FP 多人人体解析服务 在智能零售场景中,理解顾客的行为模式是提升运营效率与用户体验的关键。传统监控系统仅能提供“是否有人”或“移动轨迹”的粗粒度信息,难以深入洞察用户的实际动…

M2FP模型在无人机监控中的应用实践

M2FP模型在无人机监控中的应用实践 🚁 无人机监控场景下的视觉解析需求 随着无人机技术的普及,其在安防巡检、交通管理、应急搜救等领域的应用日益广泛。然而,传统目标检测仅能提供“人”这一粗粒度标签,难以满足精细化行为分析的…

隐私合规考量:GDPR下用户文本处理的匿名化策略

隐私合规考量:GDPR下用户文本处理的匿名化策略 随着人工智能技术在语言服务领域的广泛应用,AI驱动的中英翻译系统正逐步渗透至企业级应用、跨境通信与个人数据交互场景。然而,在提供高效便捷翻译能力的同时,如何确保用户输入文本…

M2FP模型在虚拟偶像中的应用:实时形象控制

M2FP模型在虚拟偶像中的应用:实时形象控制 🌟 引言:虚拟偶像时代的技术需求 随着虚拟偶像产业的快速发展,高精度、低延迟的形象控制技术成为构建沉浸式交互体验的核心。传统动作捕捉系统依赖昂贵硬件和复杂标定流程,难…

10款开源翻译工具测评:CSANMT镜像部署速度快1倍

10款开源翻译工具测评:CSANMT镜像部署速度快1倍 🌐 AI 智能中英翻译服务 (WebUI API) 在多语言内容爆发式增长的今天,高质量、低延迟的自动翻译能力已成为开发者和内容创作者的核心需求。尽管市面上已有众多开源翻译方案,但在实际…

M2FP模型优化:减少模型大小的5种方法

M2FP模型优化:减少模型大小的5种方法 📌 背景与挑战:M2FP 多人人体解析服务的轻量化需求 M2FP (Mask2Former-Parsing) 是基于 ModelScope 平台构建的先进多人人体解析模型,专为高精度语义分割任务设计。它能够对图像中多个个体的…

M2FP模型在教育培训中的应用:学生专注度监测

M2FP模型在教育培训中的应用:学生专注度监测 📌 引言:从人体解析到教育智能化的跨越 在现代智慧教育场景中,如何客观、实时地评估学生的课堂参与度与专注状态,一直是教育技术领域的核心挑战。传统的考勤签到或问卷调查…

跨平台应用:将M2FP集成到移动端的实践

跨平台应用:将M2FP集成到移动端的实践 📌 业务场景与技术挑战 在智能健身、虚拟试衣、AR互动等移动应用场景中,精准的人体解析能力正成为核心功能模块。传统方案多依赖云端大模型或GPU加速推理,导致响应延迟高、部署成本大&#x…

M2FP模型在智能健身镜中的人体识别应用

M2FP模型在智能健身镜中的人体识别应用 📌 引言:智能健身镜的感知核心——精准人体解析 随着AI驱动的智能硬件快速发展,智能健身镜正从概念产品走向家庭普及。这类设备的核心能力之一,是能够实时理解用户的身体姿态与动作细节&a…

负载均衡部署方案:多实例支撑高并发翻译请求

负载均衡部署方案:多实例支撑高并发翻译请求 🌐 AI 智能中英翻译服务(WebUI API)的架构背景 随着全球化业务的不断扩展,企业对高质量、低延迟的中英翻译需求日益增长。传统的单体翻译服务在面对突发流量或大规模用户请…

如何提升翻译自然度?CSANMT达摩院架构深度解析

如何提升翻译自然度?CSANMT达摩院架构深度解析 引言:从“能翻”到“翻得自然”的跨越 在跨语言交流日益频繁的今天,机器翻译早已不再是简单的词对词替换。用户不再满足于“看得懂”的译文,而是追求地道、流畅、符合语境表达习惯的…

M2FP模型服务化:RESTful API设计

M2FP模型服务化:RESTful API设计 🧩 M2FP 多人人体解析服务 在智能视觉应用日益普及的今天,人体语义分割已成为虚拟试衣、动作分析、安防监控等场景的核心技术之一。M2FP(Mask2Former-Parsing)作为ModelScope平台上领先…

为什么你的翻译模型总报错?锁定依赖版本是关键解决方案

为什么你的翻译模型总报错?锁定依赖版本是关键解决方案 📌 技术背景:AI 智能中英翻译服务的落地挑战 在当前多语言内容爆炸式增长的背景下,高质量的中英智能翻译服务已成为企业出海、学术交流和跨语言信息处理的核心基础设施。尽管…

M2FP模型在影视特效中的应用:绿幕替代技术

M2FP模型在影视特效中的应用:绿幕替代技术 🎬 影视制作新范式:从绿幕到AI人体解析 传统影视特效制作中,绿幕抠像(Chroma Keying)是实现人物与虚拟背景合成的核心技术。然而,绿幕拍摄存在诸多限制…

基于M2FP的智能健身镜:实时动作纠正系统

基于M2FP的智能健身镜:实时动作纠正系统 🧩 M2FP 多人人体解析服务:构建智能健身感知的视觉基石 在智能健身设备快速发展的今天,用户对“精准反馈”和“个性化指导”的需求日益增长。传统健身镜仅能提供视频播放与基础计时功能&am…

M2FP模型性能优化:推理速度提升3倍的7个技巧

M2FP模型性能优化:推理速度提升3倍的7个技巧 📖 背景与挑战:M2FP 多人人体解析服务的工程瓶颈 在当前计算机视觉应用中,多人人体解析(Multi-person Human Parsing)已成为智能零售、虚拟试衣、动作分析等场景…

M2FP模型在工业检测中的创新应用

M2FP模型在工业检测中的创新应用 🧩 M2FP 多人人体解析服务:从算法到落地的工程实践 在智能制造与工业视觉检测快速发展的背景下,传统基于规则或简单分类模型的检测手段已难以满足复杂场景下的精细化需求。近年来,语义分割技术凭借…

企业知识管理升级:内部资料AI翻译归档全流程

企业知识管理升级:内部资料AI翻译归档全流程 在跨国协作日益频繁的今天,企业内部积累的大量中文技术文档、会议纪要、产品说明等资料亟需高效、准确地转化为英文,以便全球团队共享与使用。然而,传统人工翻译成本高、周期长&#x…

基于M2FP的智能广告牌:互动式内容推送系统

基于M2FP的智能广告牌:互动式内容推送系统 在人工智能与计算机视觉技术飞速发展的今天,传统静态广告牌正逐步被智能化、交互化的数字媒体所取代。如何让广告内容“读懂”观众,并实时做出个性化响应?本文将介绍一种基于 M2FP 多人人…

为何选择CSANMT?深度解析达摩院翻译模型技术优势

为何选择CSANMT?深度解析达摩院翻译模型技术优势 🌐 AI 智能中英翻译服务(WebUI API) 在跨语言交流日益频繁的今天,高质量、低延迟的机器翻译已成为企业出海、学术研究与日常沟通的核心需求。传统的统计机器翻译&…