当前位置: 首页 > news >正文

机器学习补充

一、数据抽样

  • 数据预处理阶段:对数据集进行抽样可以帮助减少数据量,加快模型训练的速度/减少计算资源的消耗,特别是当数据集非常庞大时,比如设置sample_rate=0.8.
  • 平衡数据集:通过抽样平衡正负样本,提升模型性能。
  • 模型验证阶段:可以通过对数据集进行抽样来生成训练集和验证集,用于评估模型的泛化能力。
  • 快速原型开发:在快速原型开发阶段,可以对数据集进行抽样,以便更快地构建和验证模型的基本功能。
  • 改善数据分布状态?

阶段所在:

  • 数据探索阶段:在数据探索阶段,可以对数据集进行初步的抽样,以了解数据的基本特征、分布情况和缺失情况,帮助确定后续数据处理的方向。
  • 数据预处理阶段:在数据预处理阶段,对数据集进行抽样可以帮助简化数据、处理缺失值、处理异常值、进行特征工程等,为模型训练做准备。
  • 模型训练阶段:在模型训练阶段,数据抽样可以用于生成训练集、验证集和测试集,以及处理类别不平衡等问题,有助于提高模型的性能和泛化能力。
  • 模型验证阶段:在模型验证阶段,可以通过数据抽样生成不同的训练集和验证集,用于评估模型的性能,调参和改进模型。

二、评估指标

1. 特征重要性(Feature Importance)

决策树和基于树的模型

  • Gini重要性(基尼重要性):
  • 在决策树、随机森林和梯度提升树(如XGBoost、LightGBM)中,特征的重要性可以通过特征在树的分裂中所贡献的Gini指数减少量来衡量。
  • 每个特征的重要性是其在所有树中所贡献的Gini指数减少量的平均值。
  • 信息增益:
  • 类似于Gini重要性,信息增益衡量的是一个特征在树的分裂中所贡献的信息熵减少量。

2、回归系数

Ex:回归和逻辑回归

3、递归特征消除(Recursive Feature Elimination, RFE)

  • RFE是一种特征选择方法,通过递归地训练模型并消除最不重要的特征,直到剩下所需数量的特征。

4. 基于模型的特征选择(Model-based Feature Selection)

  • 使用模型的特征选择方法(如Lasso、Ridge回归等),这些方法通过正则化来选择重要特征。

5. 互信息(Mutual Information)

  • 互信息衡量的是两个变量之间的依赖关系。特征和目标变量之间的互信息越大,说明该特征对目标变量的区分能力越强。

6. P值(p-value)

  • 在统计学中,P值用于检验特征变量与目标变量之间的相关性。较低的P值表示该特征对目标变量有显著影响。

7. 信息增益比(Information Gain Ratio)

  • 信息增益比是信息增益的改进版本,考虑了特征的固有值。它在决策树算法(如C4.5)中常用。

8. F值(ANOVA F-value)

  • F值用于分析方差(ANOVA),衡量特征与目标变量之间的线性关系。较高的F值表示特征对目标变量有显著影响。

9. Permutation Importance(置换重要性)

  • 通过随机打乱特征值并观察模型性能的变化来评估特征重要性。特征值被打乱后模型性能下降越多,说明该特征越重要。

三、分箱的目的和优势

数据简化:

  • 分箱可以将连续变量转换为分类变量,从而简化数据的处理和分析。例如,将年龄从一个连续变量分成几个年龄段(如"0-18岁"、“19-35岁”、“36-50岁”、“50岁以上”)。

处理噪声:

  • 通过分箱,可以减少数据中的噪声。特别是对于有很多离散值的变量,分箱可以平滑数据,减少极端值对分析的影响。

特征工程:

  • 分箱是特征工程中的常用方法,尤其是在信用评分和风险管理中。分箱后的变量可以用于计算WOE和IV,从而帮助选择和转换特征。

提高模型稳定性:

  • 分箱可以提高模型的稳定性,特别是在处理小样本数据时。通过将数据分箱,可以减少过拟合的风险。

分箱的方法

等宽分箱(Equal-width Binning):

  • 将数据按等宽度划分为若干个区间。例如,如果数据范围是0到100,分成5个等宽区间,每个区间的宽度是20。

等频分箱(Equal-frequency Binning):

  • 将数据按等频率划分为若干个区间,每个区间包含相同数量的数据点。例如,如果有100个数据点,分成5个等频区间,每个区间包含20个数据点。

自定义分箱(Custom Binning):

  • 根据业务需求或数据分布,自定义分箱的边界。例如,信用评分中可能根据违约率的变化来定义分箱边界。

四、KS值(Kolmogorov-Smirnov 统计量)

是评估分类模型性能的一个重要指标,特别是在信用评分和金融风险管理领域。它衡量了模型区分正类和负类样本的能力。具体来说,KS值表示正类样本的累积分布函数(CDF)与负类样本的累积分布函数之间的最大差异。

KS曲线是两条线,其横轴是阈值,纵轴是TPR与FPR。两条曲线之间之间相距最远的地方对应的阈值,就是最能划分模型的阈值。

KS值是MAX(TPR - FPR),即两曲线相距最远的距离。

KS值的计算步骤

预测概率排序:

  • 按照模型输出的预测概率对样本进行排序。

计算累积分布函数(CDF):

  • 计算正类样本(如违约客户)的累积分布函数。
  • 计算负类样本(如非违约客户)的累积分布函数。

计算最大差异:

  • 计算正类样本和负类样本的累积分布函数之间的最大差异,这个差异即为KS值。

KS值的解释

  • KS值越大,模型区分正类和负类样本的能力越强。
  • KS值越小,模型区分正类和负类样本的能力越弱。
  • 一般来说,KS值在0.4到0.7之间表示模型性能较好;0.7以上表示模型性能非常好;低于0.3表示模型性能较差。

四、WOE编码

在信用评分和风控模型中,WOE编码是一种常用的特征工程方法,它将原始特征转换为一个新的特征,以增强模型的解释性和预测性能。对各个特征进行 WOE 编码的主要目的是将原始特征转换为一个反映特征与目标变量(如违约与否)之间关系的数值。

WOE 编码的步骤

分箱(Binning):

  • 首先,将连续变量或分类变量分成若干个区间(bins)。分箱可以是等频分箱、等宽分箱或基于业务逻辑的分箱。
  • 例如,将年龄分成 [18-25][26-35][36-45][46-55][56+] 这样的区间。

计算每个分箱的好坏比率:

  • 对于每个分箱,计算该分箱中好客户(未违约)和坏客户(违约)的比例。
  • 例如,某个分箱中有 100 个客户,其中 80 个是好客户,20 个是坏客户,那么好客户的比例是 80%,坏客户的比例是 20%。

计算 WOE 值:

  • 对于每个分箱,计算其 WOE 值。WOE 的公式如下:
    [
    WOE = \ln \left( \frac{\text{好客户比例}}{\text{坏客户比例}} \right)
    ]
  • 如果某个分箱的好客户比例为 80%,坏客户比例为 20%,则其 WOE 值为:
    [
    WOE = \ln \left( \frac{0.8}{0.2} \right) = \ln (4) \approx 1.386
    ]

将原始特征替换为 WOE 编码:

  • 将每个样本的原始特征值替换为其所在分箱的 WOE 值。
  • 例如,如果一个客户的年龄在 [26-35] 区间,并且该区间的 WOE 值为 0.5,那么该客户的年龄特征将被替换为 0.5。

为什么使用 WOE 编码

线性关系:

  • WOE 编码后的特征与目标变量之间通常具有更线性的关系,这对线性模型(如逻辑回归)非常有利。

处理缺失值:

  • WOE 编码可以自然地处理缺失值,通过将缺失值视为一个单独的分箱来计算其 WOE 值。

减少数据噪音:

  • 通过分箱,WOE 编码可以减少数据中的噪音,使得模型更加稳定。

模型解释性:

  • WOE 值具有明确的业务含义,便于解释模型的结果。

五、比较坏账率

比较坏账率(Bad Rate Comparison)是指在不同的数据集或不同的时间段内,对目标变量(通常是二分类问题中的坏账率,即负样本率)进行比较,以评估模型的稳定性和数据分布的变化。坏账率是指在某个数据集或某个时间段内,目标变量为负类(坏账)的样本所占的比例。

比较坏账率的目的

评估模型性能:

  • 通过比较不同数据集(如训练集、验证集、测试集)或不同时间段内的坏账率,可以评估模型在不同数据集上的表现是否一致,从而判断模型的稳定性和泛化能力。

监控数据分布变化:

  • 坏账率的变化可能反映了数据分布的变化。如果坏账率在不同时间段内有显著变化,可能需要重新训练模型或进行特征工程。

识别潜在问题:

  • 通过比较坏账率,可以识别数据中的潜在问题,如数据泄露、数据偏差等,从而采取相应的措施进行修正。

 

相关文章:

机器学习补充

一、数据抽样 数据预处理阶段:对数据集进行抽样可以帮助减少数据量,加快模型训练的速度/减少计算资源的消耗,特别是当数据集非常庞大时,比如设置sample_rate0.8.平衡数据集:通过抽样平衡正负样本,提升模型…...

机器学习——RNN、LSTM

RNN 特点:输入层是层层相关联的,输入包括上一个隐藏层的输出h1和外界输入x2,然后融合一个张量,通过全连接得到h2,重复 优点:结构简单,参数总量少,在短序列任务上性能好 缺点&#x…...

Java项目学习(员工管理)

新增、员工列表、编辑员工整体代码流程与登录基本一致。 1、新增员工 RestController RequestMapping("/admin/employee")EmployeeController 类中使用了注解 RestController 用于构建 RESTful 风格的 API,其中每个方法的返回值会直接序列化为 JSON 或…...

视觉SLAM14精讲——相机与图像3.3

视觉SLAM14精讲 三维空间刚体运动1.0三维空间刚体运动1.1三维空间刚体运动1.2李群与李代数2.1相机与图像3.1相机与图像3.2 视觉SLAM14精讲——相机与图像3.3 视觉SLAM14精讲相机投影流程双目相机模型 相机投影流程 至此,有关相机三维刚体变换的所有因素已经汇集。…...

【路径规划】基于粒子群结合遗传算法实现机器人栅格地图路径规划

研究方法: 基于粒子群优化算法结合遗传算法的机器人栅格地图路径规划是一种智能算法的应用。它将粒子群优化算法和遗传算法相结合,以寻找最优路径规划解决方案。 研究路线: 理论研究:了解粒子群优化算法和遗传算法的基本原理,并掌握相关的路径规划理论知识。 算法设计:…...

内容安全复习 9 - 身份认证系统攻击与防御

文章目录 基于生物特征的身份认证系统概述基于生物特征的身份认证 人脸活体检测检测方法未解决问题 基于生物特征的身份认证系统概述 作用:判别用户的身份、保障信息系统安全。 是识别操作者身份的过程,要保证其**物理身份(现实&#xff0…...

Python-gui开发之Pycharm+pyside6/Pyqt6环境搭建

Python-gui开发之Pycharm+pyside6/Pyqt6环境搭建 软件版本一、软件安装1、Python安装2、Pycharm安装3、pyside6或pyqt6安装①安装pyside6②安装PyQt6和pyqt6-tools二、Pycharm项目配置1、插件安装2、新建项目以及环境配置3、包管理安装三、在Pycharm中配置PySide61、pyside6 Qt…...

大数据开发语言Scala入门 ,如何入门?

Ai文章推荐 1 作为程序员,开发用过最好用的AI工具有哪些? 2 Github Copilot正版的激活成功,终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手,帮助你提高写代码效率 5 Jetbrains的…...

【人机交互 复习】第1章 人机交互概述

人机交互的知识点碎,而且都是文字,过一遍脑子里什么都留不下,但是背时间已经来不及了,最好还是找题要题感吧,加深印象才是做对文科的关键 一、概念 1.人机交互(Human-Computer Interaction,HCI)&#xff1…...

HCIP-HarmonyOS Device Developer 课程大纲

一:系统及应用场景介绍 1 -(3 课时) - HarmonyOS 系统介绍;HarmonyOs 定义;HarmonyOS 特征; - 统一 OS,弹性部署;硬件互助,资源共享;一次开发,多…...

蓝桥杯 经典算法题 查找两个总和为特定值的索引

题目: 给定一个数组,找到两个总和为特定值的索引。 例如给定数组 [1, 2, 3, -2, 5, 7],给定总和 7,则返回索引 [1, 4]。 若有多组符合情况则输出索引对中小索引最小的一组。 题解: 本题可以通过暴力枚举,枚举每两…...

Java | Leetcode Java题解之第169题多数元素

题目: 题解: class Solution {public int majorityElement(int[] nums) {int count 0;Integer candidate null;for (int num : nums) {if (count 0) {candidate num;}count (num candidate) ? 1 : -1;}return candidate;} }...

十大机器学习算法深入浅出

本栏目涉及对于回归算法、聚类算法、决策树、随机森林、神经网络、贝叶斯算法、支持向量机等十大机器学习算法的笔记 下面是笔记大纲,具体内容可查看**“十大机器学习算法深入浅出”**专栏,内容持续更新,欢迎订阅专栏和专注我! 1…...

【论文笔记】Parameter-Effificient Transfer Learning for NLP

题目:Parameter-Effificient Transfer Learning for NLP 阅读 文章目录 0.摘要1.引言2 Adapter tuning for NLP3 实验3.1 参数/性能平衡3.2 讨论 4.相关工作 0.摘要 克服微调训练不高效的问题,增加一些adapter模块,思想就是固定原始的网络中的参数&…...

Qt异常处理

初步警告:异常安全功能不完整!一般情况下应该可以工作,但类仍然可能泄漏甚至崩溃。 Qt本身不会抛出异常。而是使用错误码, 但是C可能会抛出异常。此外,有些类有用户可见的错误消息,例如QIODevice::errorString()或QSqlQuery::lastError()。这…...

【ElasticSearch】ElasticSearch实战

初步检索 检索 ES 信息 1)、GET /_cat/nodes:查看所有节点 127.0.0.1 44 83 1 0.01 0.01 0.00 dilm * 1b06a843b8e3 *代表主节点 2)、GET /_cat/health:查看健康状况 1718265331 07:55:31 elasticsearch yellow 1 1 4 4 0 0…...

48-3 内网渗透 - 令牌操纵

访问令牌操纵 Windows 操作系统的访问控制模型是其安全性的重要组成部分,主要由访问令牌(Access Token)和安全描述符(Security Descriptor)构成。访问令牌是访问者持有的,而安全描述符则由被访问对象持有。通过对比访问令牌和安全描述符的内容,Windows 可以判断访问者是…...

架构师之 Kafka 核心概念入门

Kafka 核心概念 作为架构师,理解 Kafka 的核心概念至关重要。这些概念是构建高效、可靠的 Kafka 系统的基础。 以下是需要掌握的 Kafka 核心概念及其详细说明: 1. Topic 定义:Topic 是 Kafka 中用于存储和分类消息的逻辑命名空间。每个 Topic 代表一类数据流, 例如日志、…...

Redis通用命令详解

文章目录 一、Redis概述1.1 KEYS:查看符合模板的所有 key1.2 DEL:删除一个指定的 key1.3 EXISTS:判断 key 是否存在1.4 EXPIRE:给一个 key 设置有效期,有效期到期时该 key 会被自动删除1.5 TTL:查看一个 ke…...

物联网设备安装相关知识整理

拓扑图 对于ADAM-4150先接设备的整体的供电。 ADAM-4150就涉及到几个电子元器件的连接,一个是485-232的转换器,一个是将RS-232转换为USB的转接口,因为现在的计算机很多都去掉了RS-232接口而使用USB接口。 4150右侧有个拨码,分别两…...

React实现H5手势密码

监测应用进入前后台 在JavaScript中,监听H5页面是否在前台或后台运行,主要依赖于Page Visibility API。这个API在大多数现代浏览器中都是支持的,包括苹果的Safari和谷歌的Chrome(也就基本覆盖了Android和iOS平台)。下…...

[leetcode hot 150]第十五题,三数之和

题目: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复…...

视频AI分析定时任务思路解析

序言: 最近项目中用到视频ai分析,由于sdk涉及保密,不便透露,仅对定时任务分析的思路作出分享,仅供参考。 1、定时任务 由于ai服务器的性能上限,只能同时对64个rtsp流分析一种算法,或者对8个rts…...

tcp 粘包和拆包 及 解决粘包方案

什么是粘包和拆包 .TCP 是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的 socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使…...

【2024泰迪杯】B 题:基于多模态特征融合的图像文本检索20页论文及Python代码

【2024泰迪杯】B 题:基于多模态特征融合的图像文本检索20页论文及Python代码 相关链接 【2024泰迪杯】A 题:生产线的故障自动识别与人员配置 Python代码实现 【2024泰迪杯】B 题:基于多模态特征融合的图像文本检索Python代码实现 【2024泰迪…...

华为设备telnet 远程访问配置实验简述

一、实验需求: 1、AR1模拟电脑telnet 访问AR2路由器。 二、实验步骤: 1、AR1和AR2接口配置IP,实现链路通信。 2、AR2配置AAA模式 配置用户及密码 配置用户访问级别 配置用户telnet 访问服务 AR2配置远程服务数量 配置用户远程访问模式为AAA 配置允许登录…...

在HTML中,如何正确使用语义化标签?

在HTML中&#xff0c;使用语义化标签可以使得网页结构更加清晰和易于理解。以下是一些正确使用语义化标签的方法&#xff1a; 使用合适的标题标签&#xff08;h1-h6&#xff09;来标识网页的标题&#xff0c;以及页面中的各个区块的标题。 <h1>网页标题</h1> <…...

WHAT - 高性能和内存安全的 Rust(一)

目录 一、介绍1.1 示例代码1.2 关键特性内存安全零成本抽象&#xff1a;高效性能示例代码&#xff1a;使用迭代器的零成本抽象示例代码&#xff1a;泛型和单态化总结 并发编程&#xff1a;防止数据竞争Rust 并发编程示例Rust 的所有权系统防止数据竞争总结 丰富的类型系统包管理…...

八、C#运算符

C#运算符 晕杜甫是一种告诉编辑器执行特定的数学或逻辑操作的符号。C#有丰富的内置运算符&#xff0c;分类如下&#xff1a; 算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符 算术运算符 下表显示了 C# 支持的所有算术运算符。假设变量 A 的值为 10&#xff0c…...

【HiveSQL】join关联on和where的区别及效率对比

测试环境&#xff1a;hive on spark spark版本&#xff1a;3.3.1 一、执行时机二、对结果集的影响三、效率对比1.内连接1&#xff09;on2&#xff09;where 2.外连接1&#xff09;on2&#xff09;where 四、总结PS 一、执行时机 sql连接中&#xff0c;where属于过滤条件&#…...

crm软件系统的构成包括/唐山seo优化

满意答案waia2w3ghn12017.03.27采纳率&#xff1a;56% 等级&#xff1a;11已帮助&#xff1a;6344人试一试&#xff1a; (1)如果手机里的视频和照片是下载缓存在手机上的&#xff0c;可以用数据线把手机和电视机的USB接口连接起来&#xff0c;这样手机就可以作为U盘&#xf…...

有没有专做零食批发的网站/南宁百度网站推广

声明使用JDK8测试&#xff1b; 参考官网配置&#xff0c;网址如下&#xff1a; http://www.mybatis.org/mybatis-3/zh/configuration.html aggressiveLazyLoading 在mybatis版本小于3.4.1时候&#xff0c;默认是true开启状态&#xff0c;懒加载要有效果需要手动关闭&#xff1…...

珠海市横琴新区建设环保局网站/seo词条

SpringBoot创建定时任务1. 首先在启动类加 EnableScheduling 注解&#xff0c;开启定时任务2. 然后在类中&#xff0c;导入Schedule包并添加注解3. Scheduled 常用时间1. 首先在启动类加 EnableScheduling 注解&#xff0c;开启定时任务 import org.springframework.scheduling…...

武汉高端网站制作公司/百度数据研究中心

对于4合一的版本来说只要找到安装包里的 STANDARD、PERSONAL、ENTERPRISE、DEVELOPER文件夹下的 X86\SETUP\SETUPSQL.EXE 任何一个运行即可&#xff0c;&#xff08;理论上是这样&#xff0c;但经过测试实际WIN7 64位操作系统只能安装DEVELOPER开发版&#xff09; 一路安装下去…...

网站开发php和ui/域名解析ip地址查询

一、NFS服务器的工作原理&#xff1b;NFS 是分布式计算机系统的一个组成部分&#xff0c;可实现在异构网络上共享和装配远程文件系统。NFS由sun公司开发&#xff0c;目前已经成为文件服务的一种标准&#xff08;RFC1904 RFC1813),其最大的功能是可以通过网络让不同的操作系统的…...

像芥末堆做内容的网站/百度推广优化中心

在上一篇中&#xff0c;我们讲到了如何配置多个容器并且定制属于自己的镜像&#xff0c;但是容器的数据性能以及持久如何保证的&#xff1f;本篇将通过介绍Docker Volume来说明这个问题&#xff0c;涉及到的架构如下图所示&#xff1a;1、 说到Volume实际上有多种方式可以实现&…...