机器学习补充

一、数据抽样

  • 数据预处理阶段:对数据集进行抽样可以帮助减少数据量,加快模型训练的速度/减少计算资源的消耗,特别是当数据集非常庞大时,比如设置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)是指在不同的数据集或不同的时间段内,对目标变量(通常是二分类问题中的坏账率,即负样本率)进行比较,以评估模型的稳定性和数据分布的变化。坏账率是指在某个数据集或某个时间段内,目标变量为负类(坏账)的样本所占的比例。

比较坏账率的目的

评估模型性能:

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

监控数据分布变化:

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

识别潜在问题:

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

 

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

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

相关文章

揭秘shopee、Lazada爆单秘诀:自养号补单策略大公开

在东南亚的电商跨境领域,Shopee和Lazada无疑占据了举足轻重的地位,为印地、马来、台湾、菲律宾、新加坡、泰国和越南等地的消费者提供了丰富的在线购物选择。随着电商竞争的日益激烈,许多商家开始探索各种有效的推广策略,其中&…

没有SSL证书,会造成哪些影响?

没有SSL证书,网站及其用户将会面临多种安全隐患和负面影响,主要包括但不限于以下几点: 1、安全警告:现代浏览器如谷歌Chrome会在用户尝试访问没有SSL证书的网站时显示明显的警告信息,如“不安全”标签,这会…

F407核心板小板快速入门000

1、现在实验室用的F407核心板有两个类型。都是用反客科技的板子。 一个是STM32F407ZGT6型号的FM板卡。一个是stm32F407VET6的板子FK板卡。前者是我们做工程训练大赛用到的。后者是做其他没有那么复杂的项目比如大创、电赛、机器人大赛等使用,板卡尺寸更小。 前者的参…

C++ 结构体对齐详解

目录 前言 一、为什么要对结构体进行对齐操作? 二、基本概念 三、 对齐规则 四、示例讲解 1.简单的变量对齐 2.结构体包含有结构体的对齐 结构体成员详细解析 五、使用指令改变对齐方式 __attribute__((packed)) #pragma pack(push, n) #pragma pack(pop) …

Java中如何处理XML数据?

Java中如何处理XML数据? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在Java中如何高效处理XML数据的技术和最佳实践。XML&…

Elasticsearch:赋能数据搜索与分析的利器

Elasticsearch:赋能数据搜索与分析的利器 在大数据的时代背景下,如何高效地搜索、分析和利用数据成为了企业和开发者面临的重要问题。Elasticsearch,作为Elastic Stack的核心组件,以其分布式、高扩展性和实时的搜索与分析能力&am…

【CentOS7】Linux安装Docker教程(保姆篇)

文章目录 查看是否已安装卸载(已安装过)docker安装友情提示 更多相关内容可查看 注:本篇为Centos7安装Docker,若为其他系统请理性参考 查看是否已安装 如果已安装,请卸载重新安装 docker --version这里显示已安装 …

人机的三级抽象

数学的三级抽象包括第一级抽象是数表示万物、第二级抽象是字母表征数、第三级抽象是运算规则的抽象(如群论),在人机交互中,类比于数学的三级抽象,可以理解为: 第一级抽象:用户界面和操作的抽象化…

力扣第210题“课程表 II”

在本篇文章中,我们将详细解读力扣第210题“课程表 II”。通过学习本篇文章,读者将掌握如何使用拓扑排序来解决这一问题,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于理解。 问题描述 力扣第210题“…

Linux 服务管理

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd防火墙等),因此又称为守护进程。 比如通过xshell进行连接的时候,需要输入的端口号就是通过守护…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷8(容器云)

#需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包…

基于Java图书馆管理系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

iptables(4)规则匹配条件(源、目、协议、接口、端口)

简介 前面我们已经介绍了iptables的基本原理,表、链,数据包处理流程。如何查询各种表的信息。还有基本的增、删、改、保存的基础操作。 经过前文介绍,我们已经能够熟练的管理规则了,但是我们只使用过一种匹配条件,就是将”源地址”作为匹配条件。那么这篇文章中,我们就来…

[职场] 教师资格面试流程 #经验分享#其他

教师资格面试流程 教师资格证面试流程如下: ①候考。在考试当日,考生按照准考证上的时间进入候考室,进行抽签分组。 ②抽题。考生按照抽签顺序分组安排从面试题库系统试题组中任选其中一道试题,确认抽题后,计算机打印出…

爱心商城管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,企业管理,用户管理,论坛管理,商品管理,公告管理,用户捐赠 企业账户功能包括:系统首页,个人中心…

机器学习(二)

机器学习 3.分类算法3.1 sklearn转换器和估计器3.1.1 转换器3.1.2 估计器(在sklearn实现机器学习算法) 3.2 K-近邻算法3.2.1 什么是K-近邻算法3.2.2 K-近邻算法API3.2.3 案例:鸢尾花种类预测3.2.4 K-近邻总结 3.3 模型选择与调优3.3.1 交叉验证(cross va…

LeetCode 70. 爬楼梯 使用c++解答

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&#x…

【STM32+FPGA】先进算力+强安全+边缘AI,64位STM32MP2聚焦工业4.0应用

工业应用数字化和智能化程度,是衡量新质生产力的重要标准。STM32最新一代64位微处理器STM32MP2凭借先进算力、丰富接口和高安全性,为高性能和高度互联的工业4.0应用赋能。 STM32MP2四大关键特性,为工业4.0应用赋能 STM32MP2系列的第一颗产品S…

XTDrone-无人机与无人船协同初步-配置教程

说明:配置该教程时所使用的是Ubuntu20.04 1 海洋与无人船仿真环境搭建 cp -r ~/XTDrone/sitl_config/usv/* ~/catkin_ws/src/ cd catkin_ws catkin build # or catkin_make 说明:由于官方所编写的脚本时几年之前的,所以很多东西不符合现在…

【Rust日报】Dioxus 团队给Rust未来的期望

让你的第一个Rust严肃应用成功 corrode总结了一份用Rust实现工程的评估清单,为考虑采用Rust编程语言的企业提供了全面指南。以下是主要内容: 评估业务需求和适应性:确定Rust是否符合公司技术需求和长期目标。评估Rust的性能和安全特性在具体用…