SPSSAU | CatBoost模型原理及案例实操分析

news2024/9/23 9:23:07

CatBoost 是一种基于梯度提升的决策树(Gradient Boosting Decision Trees, GBDT)算法,专门优化了处理分类特征和序列数据的能力。算法步骤如下:

第一:生成初始模型,从简单的模型开始,通常是所有目标值的平均值;

第二:迭代构建树,计算当前模型的残差(即预测误差),使用残差构建一棵新的决策树,拟合这些残差,将这棵树加到模型中,以减少误差;

第三:更新模型,重复迭代,逐步增加决策树,直到达到预定的树数量或其他停止条件。

CatBoost模型案例

1 背景

当前有一项关于‘信用卡交易欺诈’的数据科学研究,已整理好数据共为1000条,其包括六项,分别是换设备次数,支付失败次数,换IP次数,换IP国家次数,交易金额和欺诈标签,欺诈标签时,数字1表示欺诈,数字0表示没有欺诈行为,现希望通过CatBoost进行模型构建,并且做一些预测工作,部分数据如下图所示:

2 理论

在进行CatBoost模型时,其涉及参数如下表所述:

参数说明参数值设置
损失函数构建模型的算法方式,通常使用默认参数值即可Auto(自动选择):SPSSAU自动进行选择。Logloss: 对数损失函数。MultiClass: 多分类损失函数。MultiClassOneVsAll: 一对多分类损失函数。RMSE: 均方根误差。MAE: 平均绝对误差。MAPE: 平均绝对百分比误差,特别适用于目标值变化范围较大的情况。Quantile: 分位数损失,适用于预测区间。LogLinQuantile: 对数线性分位数损失,处理目标具有对数分布的情况。Poisson: 泊松损失,适用于泊松分布的情况。
迭代次数模型迭代的次数默认是500
树最大深度树的深度越大,则对数据的拟合程度越高(过拟合程度也越高)默认是6
学习率学习率即模型参数更新步长,越小收敛越快,但迭代次数越多。范围(0.0, 1.0] 默认0.1
L2正则化增加L2正则化项的权重,从而更强烈地惩罚大的权重,使模型更加平滑,减少过拟合的风险。默认权重为3
特征子集比例用于控制在每一层决策树中使用的特征子集的比例。默认是1即特征子集全部使用
任务类型包括自动判断,分类和回归任务系统会结合Y的不同数字个数自动判断分类或回归任务,当然可自行选择分类或回归任务

除此之外,与其它的机器学习算法类似,SPSSAU提供训练集比例参数(默认是训练集占0.8,测试集占0.2),数据归一化参数(默认不进行),以及保存预测值(CatBoost时会生成预测类别,但不会生成预测概率),保存训练测试标识(生成一个标题来标识训练集和测试集数据的标识)。

3 操作

本例子操作截图如下:

将欺诈标签放入Y框中,其余5个特征项作为自变量X。与此同时,训练集比例默认为0.8,暂不进行数据归一化,当然当前数据也可考虑做标准化处理,因为涉及数据的量纲不同。更多参数设置暂保持为默认值。

4 SPSSAU输出结果

SPSSAU共输出5项结果,依次为基本信息汇总,特征权重值,训练集或测试集模型评估结果,测试集结果混淆矩阵,模型汇总表和模型代码,如下说明:

说明
基本信息汇总因变量Y(标签项)的数据分布情况等
特征权重值展示各个X(特征)对于模型的贡献力度
训练集或测试集模型评估结果分析训练集和测试集数据的模型效果评估,非常重要
测试集结果混淆矩阵测试集数据的进一步效果评估,非常重要。分类任务时提供,如果是回归任务则没有该矩阵。
模型汇总表模型参数及评估汇总表格
模型代码模型构建的核心python代码

上述表格中,基本信息汇总展示出因变量Y(标签项)的分类分布情况,模型评估结果(包括训练集或测试集)用于模型的拟合效果判断,尤其是测试集的拟合效果,以及提供测试集数据的混淆矩阵结果(如果是分类任务则提供,如果是回归任务则无该表格);模型汇总表格将各类参数值进行汇总,并且在最后附录模型构建的核心代码。

5文字分析

首先针对特征的权重即重要性情况进行说明,如下图:

上图可以看到:换设备次数,或者换IP国次数这两项对于预测是否欺诈有着较高的帮助,而且支付失败次数也起着重要的作用。但是换IP次数或者交易金额这两项的作用相对来讲会较小些。接下来针对最重要的模型拟合情况进行说明,如下表格:

上表格中分别针对训练集和测试集,提供四个评估指标,分别是精确率、召回率、f1-scrore、准确率,以及平均指标和样本量指标等,整体来看,训练集的拟合效果非常好,各项指标均完美为1,但更多还需要从测试集上看,测试集上F1-score值为0.89,接近于0.9,另外精确率和召回率也在0.9左右,意味着模型可能有着过拟合问题,训练集完美但测试集指标相对一般。

接着进一步查看测试数据的‘混淆矩阵’,即模型预测和事实情况的交叉集合,如下图:

‘混淆矩阵’时,右下三角对角线的值越大越好,其表示预测值和真实值完全一致。上图中显示测试集时,真实值为1(即欺诈)但预测为0(即不欺诈)的数量为20,另外真实值为0(即不欺诈)但预测为1(欺诈)的数量为2,仅测试集共有200条,但预测出错为22条,出错率为11%。最后SPSSAU输出模型参数信息值,如下表格:


模型汇总表展示模型各项参数设置情况,最后SPSSAU输出使用python中slearn包构建本次CatBoost模型的核心代码如下:

model = CatBoostClassifier(loss_function='None', iterations=500, learning_rate=0.1, depth=6, colsample_bylevel=1.0, l2_leaf_reg=3.0, random_seed=0')

model.fit(x_train, y_train)

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

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

相关文章

telnet与ping:测试IP及端口连通性

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 python使用API实现…

压路机土方压实摊铺精确施工引导系统

整体架构 一、土方压实摊铺工程现状 二、整体介绍 1、在施工现场利用 GNSS 定位设备终端、振动传感器、温度传感器,实现对施工机械的位置、运行状态实时监测,实现底层数据的多参数、多种类高效采集。 2、本系统基于卫星差分定位技术,通过与…

JNPF全新V5.0版本!重磅升级——协同办公篇

尊敬的JNPF用户们: 我们非常高兴地宣布,经过团队数月的辛勤努力和不断的技术创新,JNPF快速开发平台终于迎来了里程碑式的全新升级——V5.0版本!这一版本的更新发布,不仅代表着我们技术实力的进一步提升,是…

点线面的智慧:转转JTS技术如何塑造上门履约地理布局

1 引言 如上图所示,在转转上门履约的场景中,上门服务的覆盖区域是在地图上画电子围栏来划定的。这就涉及到一些几何图形的操作和空间关系判断,其中最核心问题就是要解决如何判断位置是否在上门覆盖范围内。下面介绍下 JTS,以及如何…

微服务实战系列之玩转Docker(八)

前言 “Compose”一词的原意是创作、组成、构成(一个整体),那么“Docker Compose”一词可以理解为一组docker。今天博主着重介绍一下这个“容器导演” —— 一个docker自带的容器管理工具。 Docker Compose入门 1. 定义 Docker Compose is …

这八本大模型书籍看完你就是LLM大师,非常详细收藏我这一篇就够了

如果你想深入了解大模型领域,无论是为了学术研究还是实际应用,选择合适的书籍是非常重要的。以下是精选的八本大模型相关书籍,涵盖了从基础理论到高级实践的内容,可以帮助你构建全面的知识体系。 《大模型应用开发极简入门》 作者…

PyTorch图像分割的基本形式

【图书推荐】《PyTorch深度学习与计算机视觉实践》-CSDN博客 图像分割是计算机视觉领域中的一个重要任务,旨在将图像划分为多个不同的区域或对象。简单来说,图像分割就是将图像中的像素或区域按照某种规则或标准进行分类,使得同一区域内的像…

如何更改软件ip地址:方法详解

在数字化时代,网络连接已成为我们日常生活与工作中不可或缺的一部分。无论是日常娱乐、办公协作,还是商业运营,软件应用都需要通过IP地址与互联网建立联系。然而,在某些特定情况下,我们可能需要更改软件的IP地址&#…

【Vulnhub系列】Vulnhub Lampiao-1 靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub Lampiao-1靶场渗透 原文转载已经过授权 原文链接:Lusen的小窝 - 学无止尽,不进则退 (lusensec.github.io) 一、主机发现 二、端口扫描 三、web框架 四、web渗透 1、信息收集 2、目录扫描 获得版本信息7.56 3、获取shell …

AI时代:成为AI产品经理的方法

一、非技术背景的人员如何转型成为AI产品经理 ​ 产品经理是一个非常重要的岗位,但是高校并没有培养产品经理特别是 AI 产品经理的专业课程,这方面的书籍也非常稀缺。非技术背景的人员转型成为 AI 产品经理是未来一段时间内的一种趋势,这里主…

Nginx 反向代理https域名接口的注意事项

网络环境条件及实际调用需求如下图所示: 如图,要点如下: 应用实际请求的协议是 http,而通过 nginx 反向代理的最终接口是 https应用实际请求的域名是 mynginx.com,而通过 nginx 反向代理的最终接口域名是 api.weixin.…

【虚拟化】KVM概念和架构

目录 一、什么是KVM? 二、KVM的功能 2.1 主要的功能 2.2 其它功能 三、KVM核心组件及作用 四、KVM与VMware的优势 五、KVM架构 六、qemu介绍 七、创建虚拟机流程 一、什么是KVM? Kernel-based Virtual Machine的简称,KVM 是基于虚拟…

CentOS配置NTP服务

更改配置文件 [rootController ~]# vim /etc/chrony.conf 重启服务并设置为开机自启动 [rootController ~]# systemctl restart chronyd.service [rootController ~]# systemctl enable chronyd.service 在另一台CentOS测试 更改配置文件 [rootCompute ~]# vim /etc/chron…

开放式耳机推荐性价比排行榜!公认口碑最好的型号推荐

随着生活的提高,耳机在近几年来一直受到很多用户的喜欢,也逐渐成为大家生活中的必需品,我使用过的耳机也有好几十款了,大部分都因为是入耳式耳机佩戴久了无法忍受酸痛感,有些不入耳的耳机戴久了也会有一种无法形容的不…

【Java】重生之String类再爱我一次---练习题(012)

目录 ♦️练习一:用户登录 ♦️练习二:遍历字符串 ♦️练习三:统计字符次数数 ♦️练习四:拼接字符串 ♦️练习五:反转字符串 ♦️练习六:金额转换 ♦️练习七:手机号屏蔽 ♦️练习一&am…

【全国大学生电子设计竞赛】2024年H题

🥰🥰全国大学生电子设计大赛学习资料专栏已开启,限时免费,速速收藏~

【一图学技术】5.OSI模型和TCP/IP模型关系图解及应用场景

OSI模型和TCP/IP模型关系图解 OSI模型和TCP/IP模型都是网络通信的参考模型,用于描述网络协议的层次结构和功能。下面是它们的定义和区别: OSI模型(Open Systems Interconnection Model) OSI模型是一个理论上的七层模型&#xff…

1套农场,20小时,10万张!重建大师6.3矿山重建实测案例

数字矿山是国家战略资源安全保障体系的重要组成部分,是资源可持续发展的重要基石,是化解高危行业风险的根本途径。 国内某矿山(图源网络) 在矿山的开发与建设过程中,需要定期采集并动态更新矿区的三维空间数据&#x…

嵌入式Linux开发板如何挂载u盘?

第一步:插入U盘。 第二步:查看U盘名称。 dmesg | tail 可以看到此处我的U盘名称为sda,第一个分区为sda1,路径为/dev/sda。 第三步:创建一个文件夹,将u盘挂载到此文件夹下,查看U盘下的文件 sud…