Catboost:超越Lightgbm和XGBoost的又一个boost算法神器

技术

picture.image

向AI转型的程序员都关注了这个号 👇👇👇

机器学习AI算法工程 公众号:datayx

今天介绍一个超级简单并且又极其实用的boosting算法包Catboost,据开发者所说这一boosting算法是超越Lightgbm和XGBoost的又一个神器。

论文链接

https://arxiv.org/pdf/1706.09516.pdf

它可以很容易地与谷歌的TensorFlow和苹果的核心ML等深度学习框架集成。它可以处理各种数据类型,如音频、文本、图像(包括历史数据)。帮助解决当今企业面临的各种问题。最重要的是,它提供了强大的准确性。

它在两方面特别强大:

它不需要其他机器学习方法通常需要的大量数据培训,就能得到最先进的结果

为伴随许多业务问题而来的更具描述性的数据格式提供强大的支持

CatBoost名称来源于“Category”和“boost”两个单词。其中“Boost”来源于梯度增强机器学习算法,因为这个库是基于梯度增强库的。梯度增强是一种功能强大的机器学习算法,广泛应用于欺诈检测、推荐项、预测等多种类型的业务挑战,具有良好的性能。它还可以以相对较少的数据返回非常好的结果,不像DL模型需要从大量数据中学习。

一、 CatBoost库的优点

性能:CatBoost提供最先进的结果,在性能方面与任何领先的机器学习算法相比都具有竞争力。

自动处理分类特征:CatBoost无需对数据特征进行任何显式的预处理就可以将类别转换为数字。CatBoost使用关于分类特征组合以及分类和数字特征组合的各种统计信息将分类值转换为数字。

鲁棒性:它减少了对广泛的超参数优化的需要,并降低了过拟合的机会,这也会导致更一般化的模型。CatBoost的参数包括树的数量、学习率、正则化、树的深度、折叠尺寸、装袋温度等。

易于使用:您可以从命令行使用CatBoost为Python和R用户提供方便的API。

二、CatBoost与其他boost库进行比较

我们有多个boost库,如XGBoost、H2O和LightGBM,它们都能很好地解决各种问题。CatBoost在标准ML数据集上与竞争对手进行了性能对比:

上面的对比显示了测试数据的log-loss值,在大多数情况下CatBoost的log-loss值是最低的。它清楚地表明,CatBoost在调优和默认模型上的性能都更好。除此之外,CatBoost不需要将数据集转换为任何特定格式。

picture.image

Python安装:

pip install catboost

四、使用CatBoost解决ML挑战

CatBoost库既可以解决分类问题,也可以解决回归问题。对于分类,您可以使用“CatBoostClassifier”和“CatBoostRegressor”进行回归。

在本文中,我将使用CatBoost解决“Big Mart Sales”实践问题。这是一个回归的挑战,所以我们将使用CatBoostRegressor。

完整代码

案例一

picture.image

picture.image

AI项目体验地址 https://loveai.tech

案例二

picture.image

这里我们可以观察一下数据的特征列,这里有很多列特征比如 广告的宽高 , 是否可以下载 , 是否会跳转 等一些特征,而且特征的数据类型各不一样,有数值型(creative_height),布尔型(creative_is_js)等不同类型的特征。

picture.image

下图我们对所有特征做了一个统计,发现整个训练数据集一共有34列,除去标签列,整个数据集一共有33个特征,其中6个为布尔型特征,2个为浮点型特征,18个整型特征,还有8个对象型特征。

picture.image

如果按照正常的算法,此时应该将非数值型特征通过各种数据预处理手段,各种编码方式转化为数值型特征。而在catboost中你根本不用费心干这些,你只需要告诉算法,哪些特征属于类别特征,它会自动帮你处理。代码如下所示:

picture.image

最后就是将数据喂给算法,训练走起来。

picture.image

将plot = ture 打开后,catboot包还提供了非常炫酷的训练可视化功能,从下图可以看到我的Logloss正在不停的下降。

picture.image

训练结束后,通过model.feature_importances_属性,我们可以拿到这些特征的重要程度数据,特征的重要性程度可以帮助我们分析出一些有用的信息。

picture.image

执行上方代码,我们可以拿到特征重要程度的可视化结构,从下图我们发现campaign_id是用户是否点击这个广告的最关键的影响因子。

picture.image

至此整个catboot的优点和使用方法都介绍完了,是不是觉得十分简单易用,而且功能强大。深度学习,神经网络减弱了我们对特征工程的依赖,catboost也在朝着这方面努力。所以有时候碰到需要特别多的 前期数据处理和特征数值化 的任务时,可以尝试用一下catboost


阅读过本文的人还看了以下:

分享《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

搜索公众号添加: datayx

picture.image

长按图片,识别二维码,点关注

AI项目体验

https://loveai.tech

picture.image

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
CV 技术在视频创作中的应用
本次演讲将介绍在拍摄、编辑等场景,我们如何利用 AI 技术赋能创作者;以及基于这些场景,字节跳动积累的领先技术能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论