catboost测试,ROC

TensorFlow、LightGBM与CatBoost处理不平衡数据的实战差异 不平衡数据是机器学习在风控、医疗、工业等场景落地的核心障碍,其本质在于模型优化目标(如准确率)与业务目标(如高召回率)错位。解决该问题需深入理解算法底层机制:深度学习框架依赖损失函数设计(如Focal Loss)和端到端可调性;梯度提升树(如LightGBM)通过分裂增益加权(scale_pos_weight)干预树构建过程;而CatBoost则将类别特征编码与类别权重耦合,实现隐式平衡。技术价值不仅在于提升AUC或PR曲线,更在于支撑可解释决策、时序建模与业务规则融合。本文聚焦金融欺诈检测等真实低频正样本 阅读详情

用小数据集测试catboost,并画出ROC曲线
数据集用CSV

首先import需要的库

import pandas as pd
import numpy as np
from  catboost  import  CatBoostClassifier,CatBoostRegressor,Pool
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt

pandas读入csv
去掉标题的第一行

obj=pd.read_csv('file.csv',header=1)

划分training data和test_data
这里简单地把前N行(N自己定数字)作为训练集,最后一列去掉,倒数第二列是label
注意这里的index是从0开始,to_index是end的下一个index

#0~N-1行,需要指定为0:N
train_data = obj.iloc[0:N, 1:-2]
train_label = obj.iloc[0:N, -2]

test_data = obj.iloc[N:, 1:-2]
test_label = obj.iloc[N:, -2]

由于数据量很少,很容易过拟合,减小迭代次数

model=CatBoostClassifier(iterations=2,depth=2,learning_rate=0.5,loss_function='Logloss', logging_level='Verbose')

训练

model.fit(train_data,train_label)

根据阈值来确定predict label

threshold=0.5

predict_label=np.zeros(prob.shape)
predict_label[prob>threshold]=1

计算准确率,SE,SP

cm = confusion_matrix(train_label,predict_label)
se = cm[0,0]/(cm[0,0]+cm[0,1])
print('SE : ', se)

sp = cm[1,1]/(cm[1,0]+cm[1,1])
print('SP : ', sp)

acc=(cm[0,0]+cm[1,1])/train_label.size
print ('Accuracy : ', acc)

计算AUC

#training data
fpr,tpr,threshold = roc_curve(train_label, prob,pos_label=1)
roc_auc = auc(fpr,tpr)

#test data
prob_test = model.predict_proba(test_data)
prob_test = prob_test[:,1]
fpr_test,tpr_test,threshold_test = roc_curve(test_label, prob_test,pos_label=1)
roc_auc_test = auc(fpr_test,tpr_test)

training data的ROC

plt.figure()
lw = 2
plt.figure(figsize=(6,6))
plt.plot(fpr, tpr, color='red',
         lw=lw, label='ACC = %0.2f, SE = %0.2f, SP = %0.2f, AUC = %0.2f' % (acc,se,sp,roc_auc)) ###假正率为横坐标,真正率为纵坐标做曲线
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC curve')
plt.legend(loc="lower right")
plt.grid()
plt.show()

test data的ROC

plt.figure()
lw = 2
plt.figure(figsize=(10,10))
plt.plot(fpr_test, tpr_test, color='red',
         lw=lw, label='ROC curve (area = %0.2f)' % roc_auc_test) ###假正率为横坐标,真正率为纵坐标做曲线
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC curve')
plt.legend(loc="lower right")
plt.show()
TensorFlow/LightGBM/CatBoost应对类别不均衡实战指南 类别不均衡(Imbalanced Dataset)是工业AI落地的核心挑战,其本质是数据分布偏斜引发的模型学习偏差、优化失焦与评估失效三重干扰。理解样本权重机制(如class_weight、scale_pos_weight)、有序编码(Ordered Target Encoding)等底层原理,有助于构建对少数类敏感的鲁棒模型。技术价值在于提升召回率(Recall)与精确率(Precision)的平衡能力,支撑金融风控、设备故障诊断、医疗罕见病识别等高价值场景。本文聚焦TensorFlow、LightGBM 阅读详情

相关推荐

TensorFlow/LightGBM/CatBoost应对不平衡数据实战指南

不平衡数据是机器学习落地中的高频痛点,其本质是少数类样本稀缺导致模型偏向多数类,进而引发准确率虚高、召回率低下等评估失真问题。解决核心在于从损失函数(如TensorFlow的class_weight)、梯度更新(如LightGBM的scale_pos_weight)和特征编码(如CatBoost的Ordered Target Encoding)三个技术层面进行差异化干预。这类方法不仅提升F1-score与AUC等鲁棒指标,更支撑金融风控、工业缺陷检测、医疗筛查等对少数类敏感的关键场景。本文聚焦三大主流框架在

diegouyi3472的博客 417

Python实现Catboost分类模型(CatBoostClassifier算法)项目实战

Python实现Catboost分类模型(CatBoostClassifier算法)项目实战

张陈亚的博客 1万+

XGBoost vs LightGBM vs CatBoost:3大梯度提升库在5个数据集上的性能对比

本文对比了XGBoost、LightGBM和CatBoost三大梯度提升库在5个数据集上的性能表现,包括训练效率、预测精度和内存消耗。实验结果显示,LightGBM在训练速度上具有显著优势,而CatBoost在处理类别特征时表现最佳。文章还提供了技术特性解析和实战选型建议,帮助开发者在机器学习项目中做出更优选择。

weixin_34327761的博客 841

使用python的plot绘制loss、acc曲线,并存储成图片

使用 python的plot 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到 .txt 文件中,待网络训练结束,我们再拿这存储的数据绘制各种曲线。

githubcurry,985cs博士在读 1万+

XGBoost vs LightGBM vs CatBoost:3 大梯度提升库在 10 个数据集上的性能横评

本文全面评测了XGBoost、LightGBM和CatBoost三大梯度提升库在10个数据集上的性能表现。通过对比训练效率、预测精度和内存消耗等关键指标,为不同场景下的技术选型提供数据支持。实验显示,XGBoost在模型解释性上占优,LightGBM适合大规模数据,而CatBoost在类别特征处理方面表现突出。文章还提供了超参数调优和特征工程的最佳实践。

babing2770的博客 446

CatBoost教育预测实战:破解类别特征与交叉验证陷阱

CatBoost是一种专为处理类别特征设计的梯度提升算法,其核心在于有序提升(Ordered Boosting)机制,可从源头规避目标编码导致的数据泄露问题。相比XGBoost或LightGBM需依赖外部编码策略,CatBoost将类别处理内化为训练过程的一部分,尤其适合高基数、语义强、易泄露的教育ID类特征(如Profile Id、Opportunity Name)。在真实教育场景中,它常被用于学生辍学预警、参与度建模等任务,但模型效果高度依赖数据划分逻辑与评估体系——当交叉验证AUC虚高而测试集AUC骤

weixin_34128237的博客 399

【机器学习】深入理解CatBoost

本文主要内容概览:1. CatBoost简介CatBoost是俄罗斯的搜索巨头Yandex在2017年开源的机器学习库,是Boosting族算法的一种。CatBoost和XGBoost、LightGBM并称为GBDT的三大主流神器,都是在GBDT算法框架下的一种改进实现。XGBoost被广泛的应用于工业界,LightGBM有效的提升了GBDT的计算效率,而Yandex的C...

fengdu78的博客 5371

CatBoost交叉验证实战:教育数据建模的特征处理与调优

梯度提升树(GBDT)是处理结构化业务数据的核心算法,其原理在于通过多轮残差拟合构建强集成模型,技术价值体现在对高维稀疏特征、类别变量及缺失值的天然鲁棒性。在教育数据分析场景中,学生行为日志普遍具备离散特征多、样本不均衡、时间依赖性强等特点,亟需适配目标编码、分层时序分割与F2-score加权评估等定制化策略。CatBoost凭借有序目标编码、缺失值语义化处理和GPU加速下的稳定特征重要性,成为该领域优于XGBoost与LightGBM的实践优选。本文聚焦教育数据建模全流程,涵盖CatBoost交叉验证、特

weixin_33816821的博客 631

CatBoost模型Python代码——用CatBoost模型实现机器学习

亲测可用。CatBoost模型Python代码——用CatBoost模型实现机器学习。CatBoost(Categorical Boosting)是一种基于梯度提升的机器学习算法,特别适用于处理具有类别特征的数据集。它可以用于分类、回归和排序任务,并且在处理具有大量类别特征的数据时表现优异。电子商务中的推荐系统客户行为分析财务风险评估医疗数据分析。

qq_41698317的博客 3273

TensorFlow/LightGBM/CatBoost应对数据不平衡实战指南

数据不平衡是异常检测、故障预警、稀有病诊断等任务的核心挑战,其本质在于模型因多数类主导而忽视少数类判别。解决关键不在于简单重采样,而在于从损失函数(如Focal Loss)、梯度调控(如LightGBM的scale_pos_weight)和类别权重机制(如CatBoost的auto_class_weights)三方面协同干预。这些技术分别对应深度学习、梯度提升树与有序提升树三大主流范式,在保持工程效率的同时提升召回率与业务鲁棒性。本文聚焦真实场景下的参数原理、阈值调优与混合建模策略,覆盖从特征构造、模型训练

weixin_30363509的博客 320

从零搭建短视频推荐系统:Hadoop+协同过滤+CatBoost实战指南

推荐系统是现代互联网平台连接海量内容与用户兴趣的核心技术引擎。其核心原理是通过分析用户历史行为数据,挖掘用户偏好与物品之间的潜在关联,从而预测用户可能感兴趣的内容。在工程实践中,一个完整的推荐系统通常采用分层架构,包含离线计算与在线服务两大模块。离线层负责处理海量数据、训练模型,而在线层则需在毫秒级延迟内响应用户请求。这种架构设计能够有效平衡计算复杂度与实时性要求,广泛应用于电商、资讯、短视频等场景。以短视频推荐为例,系统首先通过协同过滤等算法从海量内容中快速召回候选集,再借助CatBoost等梯度提升树模

weixin_30613727的博客 341

catboost参数详解及实战(强推)

catboost参数详解(史上最细),以及实战贝叶斯调参

机器学习、深度学习、文本分类、异常检测、风控等知识的积累和分享 2万+

数学建模学习(70):CatBoost回归分类预测模型

CatBoost回归分类模型

全栈川川 3599

kaggle course for feature_Engineering_Skill 1 Categorical Encodings

Skill 1 Categorical Encodings 预先的操作使用LGB进行预测以ROC来进行模型的评价1) Construct features from timestamps2) Label Encoding(preprocessing.LabelEncoder()函数,直接用数字不同代表不同)3.Create train/validation/test splitsSkill 1 Categorical Encodingsway 1 count encodingCount Encodingw

qq_42839893的博客 247

【客户案例】母婴行业头部品牌是如何做私域的

各品牌争相跑马圈地,想方设法圈住流量,建立品牌资产;私域运营是一项“重人力”的工作,在传统的品牌运营过程中,私域操盘手经常会由于一对多导致无法兼顾,只能通过提高触达次数的方式加大漏斗,这样难以让每个社群都发挥出应有的价值,甚至还会导致一定程度的用户流失。除了宝妈身份外激发的用户认同感、亲密度外,KOC们作为产品的使用者,自由选择的推品和自由创作的推广文案都更具有真实性、代表性,能够极大程度激发群友们的信任感,从而愿意为产品买单,转化复购水到渠成。不同阶段的宝妈,母婴知识的储存量和经验是不同的,K品牌还会。.

圈量SCRM系统-企微营销工具-私域流量运营软件 947

开关电源拓扑结构选型指南:从Buck到Full-Bridge的实战解析

本文为硬件工程师提供了开关电源拓扑结构的实战选型指南。文章系统解析了从基础的Buck、Boost、Buck-Boost,到隔离型的Flyback、Forward,再到中高功率的半桥、全桥以及高效率的LLC谐振拓扑的适用场景与核心特点。通过对比分析各拓扑的优缺点,并结合输入输出电压、功率等级、成本与效率等关键参数,给出了清晰的选型决策路径,帮助工程师根据具体项目需求选择最合适的电源“骨架”。

weixin_29306261的博客 106

用通俗易懂的方式讲解:CatBoost 算法原理及案例

要理解boosting,我们首先理解集成学习,为了获得更好的预测性能,集成学习结合多个模型(弱学习器)的预测结果。它的策略就是大力出奇迹,因为弱学习器的有效组合可以生成更准确和更鲁棒的模型。Bagging:该技术使用随机数据子集并行构建不同的模型,并聚合所有预测变量的预测结果。Boosting:这种技术是可迭代的、顺序进行的和自适应的,因为每个预测器都是针对上一个模型的错误进行修正。Stacking:这是一种元学习技术,涉及结合来自多种机器学习算法的预测,例如 bagging 和 boosting。

Python数据挖掘 1万+

【清风数学建模笔记】第十一讲:时间序列分析

【清风数学建模笔记】第十一讲:时间序列分析

manerzi的博客 832

机器学习catboost

教学 demo 还能接受;真实大模型/大数据里通常会改用随机搜索、贝叶斯优化,或先小数据粗调再全量精调。候选太多会很慢(CatBoost × 12 组 × 3 折 = 要训很多遍)。普通 GBDT 里,某样本可能既参与建树又被同一批信息编码,容易偏乐观。:编码/梯度估计时尽量只用“排在前面”的样本信息,降低这种偏差。参数组合1 ──► 折1/折2/折3 AUC ──► 平均分。参数组合2 ──► 折1/折2/折3 AUC ──► 平均分。组合数 = 2 × 2 × 3 × 1 = 12 组参数。

年轻即出发, 243

YOLOv9分割改进 ,YOLOv9分割改进主干网络为华为EfficientNet,助力涨点

EfficientNet论文中研究了卷积网络的缩放和,并证明对深度,宽度和分辨率复合缩放的重要性,因此精度和效率更好。为了阐述相关的原理,我们提出了简单有效的复合缩放方法,使得模型缩放具有一定设计准则,同时兼顾了模型的效率。我下文将 YOLOv9 分割模型改进主干网络为 EfficientNet 融合网络结构。论文地址代码地址下文都是手把手教程,跟着操作即可添加成功把环境配置好,数据集处理好,训练基本能成功,创作不易,请帮忙点一个爱心,关注我,带你不挂科!

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 937

46、大数据助力SDN优化流量管理与控制器

本文探讨了大数据在软件定义网络(SDN)中的应用,重点分析了如何利用大数据技术优化SDN控制器的可扩展性和弹性。通过介绍SDN控制器的核心功能及其面临的挑战,提出了集中式、分布式、混合式和分层式控制器放置策略,并结合大数据分析系统架构与技术,详细阐述了在控制器放置优化、流聚合和备份路径识别等场景中的实际应用。文章还给出了大数据分析在SDN控制器优化中的操作流程与优势,展望了未来结合人工智能与物联网的发展方向,强调了数据安全与算法效率的重要性。

xx56789的博客 85

CatBoost算法和GPU测试

sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share catboost官网文档...

weixin_30375247的博客 2041

EDKII环境配置完整版

参考博客【EDK2 UDK2018的环境搭建】:https://blog.youkuaiyun.com/qq_39155263/article/details/82965744下载EDK2 1.直接从https://github.com/tianocore/edk2/ 网站下载.zip压缩文件 2.运用svn 从http://svn.code.sf.net/p/edk2/code/trunk/edk2edk2下载 3.安装Visual Studio2017 安装其他Tool 1.IASL 从https..

tianpu2320959696的博客 1850

Python与CatBoost的顾客婚姻状态预测填补及特征类型策略分析 | 附代码数据

原文出处:拓端数据部落公众号。

大数据部落 461

为YOLOv11引入加权双向特征金字塔(BiFPN)

本文介绍了将BiFPN应用于YOLOv11模型以提升边缘设备上小目标检测精度的实践。针对传统FPN在特征融合时的信息丢失问题,采用带可学习权重的BiFPN结构进行改造,实现了不同层级特征的动态融合。重点阐述了WeightedFeatureFusion模块的实现细节、neck结构改造方法及训练部署注意事项。实验表明,该改进使小目标AP提升3.1%,参数量仅增加5%,在精度和效率间取得良好平衡。文章还分享了权重初始化、归一化处理等实用技巧,并强调需根据数据特性评估改进效果,重新计算anchor等关键点。

as1225120794的博客 349

CKS-CN考试之路----04

根据上面信息我们知道,这个pod运行在default命名空间下,pod名字为cpu-77cd5ddcbf-bvb8w。可以从/etc/falco/falco_rules.yaml中获得相关内容,大概在文件的460行左右.编辑/etc/falco/falco_rules.local.yaml。7c688a8bfd69即是我们想要获得的docker id。将行为不当 Pod 的 Deployment 缩放为零副本。根据我们刚才定义的rule生成报告。访问/dev/mem 的 Pod。那么如果考试记不住怎么办?

Q先生 599
上一篇: leetcode 48. Rotate Image(旋转图像)
下一篇: leetcode 75. Sort Colors (排列颜色)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值