catboost特征重要性_CatBoost的Python与R实现

作者:徐静  AI图像算法研发工程师

博客:https://dataxujing.github.io/

GitHub: https://github.com/DataXujing

093df81f8adc78006e8fe26313611179.png

CatBoost(Categorical Boosting)算法是一种类似于XGBoost,LightGBM的Gradient Boosting算法,其算法创新主要有两个:一个是对于离散特征值的处理,采用了ordered TS(target statistic)的方法;其二是提供了两种训练模式:Ordered和Plain,其具体的伪代码如下图所示:

c0b33d44ff14c74097d3c766c52f22f3.png

b65b76323af0a69154e8ac1edfa7d701.png

420bb1fbfa43ca832563a05e622501fb.png

通过ordered boosting的思想解决了Gradient Boosting中常出现的prediction shift问题。

CatBoost目前支持通过Python,R和命令行进行调用和训练,支持GPU,其提供了强大的训练过程可视化功能,可以使用jupyter notebook,CatBoost Viewer,TensorBoard可视化训练过程,学习文档丰富,易于上手。

本文带大家结合kaggle中titanic公共数据集基于Python和R训练CatBoost模型。

Python实现CatBoost1.加载数据:

```pythonfrom catboost.datasets import titanicimport numpy as npfrom sklearn.model_selection import train_test_splitfrom  catboost import CatBoostClassifier, Pool, cvfrom sklearn.metrics import accuracy_scoretrain_df, test_df = titanic()X = train_df.drop('Survived', axis=1)y = train_df.Survived# 数据划分X_train, X_validation, y_train, y_validation = train_test_split(X, y, train_size=0.75, random_state=42)X_test = test_df```

这里我们直接使用数据框的结构,对于CatBoost支持numpy中的数组和pandas中的数据框,同时也提供了一种pool数据结构,如果有速度和内存占用优化的需求,官方建议使用pool数据结构,本文我们使用数据框结构作为例子。

2.使用hyperopt调参:

```pythonimport hyperoptfrom numpy.random import RandomState# 目的是最小化目标函数def h
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者介绍 Toby,持牌照金融公司担任模型验证专家,国内最大医药数据中心数据挖掘部门负责人!和重庆儿科医院,中科院教授,赛柏蓝保持慢病数据挖掘项目合作!管理过欧美日中印巴西等国外药典数据库,马丁代尔数据库,FDA溶解度数据库,临床试验数据库,WHO药物预警等数据库。课程概述 此课程讲述如何运用python的sklearn快速建立机器学习模型。课程结合美国威斯康辛乳腺癌细胞临床数据,实操演练,建立癌细胞预测分类器。课程讲述十大经典机器学习算法:逻辑回归,支持向量,KNN,神经网络,随机森林,xgboost,lightGBM,catboost。这些算法模型可以应用于各个领域数据。本视频系列通俗易懂,课程针对学生和科研机构,python爱好者。本视频教程系列有完整python代码,观众看后可以下载实际操作。了解癌症肿瘤基本常识,建立健康生活方式,预防癌症,减轻癌症治疗成本。课程背景 警钟长鸣!癌症离我们远吗?《我不是药神》催人泪下,笔者在此揭露真相,癌症不是小概率疾病,癌症就在身边。癌症早期发现和控制可极大延长寿命和减少治疗费用。笔者下载美国威斯康辛临床数据,运用python sklearn建立乳腺癌分类器模型,可预测正常细胞和癌细胞。我国医院重视治疗,但忽略疾病预防教育。通过我多年机器学习数据挖掘,我发现疾病可防可控,通过自身努力,我们可以提前发现疾病早期症状或扼杀疾病于摇篮。希望此课程让广大医疗科研工作者认识疾病预防教育重要性。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值