xgboost lightgbm catboost 多分类 多标签
xgboost 与 lightgbm 官方均支持多分类任务,但不直接支持多标签分类任务,实现多标签任务的方法之一是结合sklearn 提供的 multiclass 子类,如OneVsRestClassifier。
下面分别给出 多分类 与 多标签 任务的使用实例。
xgboost 多分类任务
from xgboost import XGBClassifier
import numpy as npclf_multiclass = XGBClassifier()train_data = np.random.rand(500, 100) # 500 entities, each contains 100 features
train_label = np.random.randint(5, size=500) # 5 targets
val_data = np.random.rand(100, 100)clf_multiclass.fit(train_data,train_label)
val_pred = clf_multiclass.predict(val_data)
lightgbm 多分类任务
from lightgbm import LGBMClassifier
import numpy as npclf_multiclass = LGBMClassifier()train_data = np.random.rand(500, 100) # 500 entities, each contains 100 features
train_label = np.random.randint(5, size=500) # 5 targets
val_data = np.random.rand(100, 100)clf_multiclass.fit(train_data,train_label)
val_pred = clf_multiclass.predict(val_data)
xgboost 多标签任务
from xgboost import XGBClassifier
from sklearn.multiclass import OneVsRestClassifier
import numpy as npclf_multilabel = OneVsRestClassifier(XGBClassifier())train_data = np.random.rand(500, 100) # 500 entities, each contains 100 features
train_label = np.random.randint(2, size=(500,20)) # 20 targetsval_data = np.random.rand(100, 100)clf_multilabel.fit(train_data,train_label)
val_pred = clf_multilabel.predict(val_data)
lightgbm 多标签任务
from lightgbm import LGBMClassifier
from sklearn.multiclass import OneVsRestClassifier
import numpy as npclf_multilabel = OneVsRestClassifier(LGBMClassifier())train_data = np.random.rand(500, 100) # 500 entities, each contains 100 features
train_label = np.random.randint(2, size=(500,20)) # 20 targetsval_data = np.random.rand(100, 100)clf_multilabel.fit(train_data,train_label)
val_pred = clf_multilabel.predict(val_data)
运行效率相关的几个测试
1.关于多标签问题,
根据目前的测试,当数据体量较大(样本量,特征量,类别数目)时,此方案速度极慢,且如果启动并行内存占用量极大。可能由于使用OVR 直接建立了对应类别数量的分类模型,后续测试是否有更优化的实现方法。
2.xgboost 官方提供了gpu加速支持,调用语句中增加如下超参数即可
clf_multiclass = XGBClassifier(tree_method=‘gpu_hist’, gpu_id=0)
亲测使用gpu效率较高。
3. xgboost 与 lightgbm 均可通过n_jobs 设置启用并行加速,暂未进行测试。
4. lightgbm 的 gpu加速方法暂未测试。
参考资料:
stackoverflow
lightgbm官方文档
xgboost官方文档
catboost 也可以直接装载到onevsrestclassification 实现多标签分类
from catboost import CatBoostRegressor, CatBoostClassifier
https://blog.csdn.net/qq_36940806/article/details/100084041
应用
xgboost lightgbm catboost 多分类 多标签相关推荐
- xgboost, lightgbm, catboost, 谁才是预言之战的最终赢家?
引子: xgboost,lightgbm和catboost都是非常好用的工具,它们将多个弱分类器集成为一个强分类器.在此对他们使用的框架背景和不同之处做简单的总结. xgboost vs lightg ...
- 机器学习:XGBoost+LightGBM+catboost+5折+stacking的用法
前言: 目前传统机器学习的比赛中,基本是树模型打天下了,xgboost.lightgbm和catboost各有优劣,如果把三者结合起来,即使使用投票效果也会很好.另外如果再使用5折交叉验证的方法(KF ...
- R︱Yandex的梯度提升CatBoost 算法(官方述:超越XGBoost/lightGBM/h2o)
俄罗斯搜索巨头 Yandex 昨日宣布开源 CatBoost ,这是一种支持类别特征,基于梯度提升决策树的机器学习方法. CatBoost 是由 Yandex 的研究人员和工程师开发的,是 Matri ...
- 【数据分析与挖掘】基于LightGBM,XGBoost,逻辑回归的分类预测实战:英雄联盟数据(有数据集和代码)
机器学习-LightGBM 一.LightGBM的介绍与应用 1.1 LightGBM的介绍 1.2 LightGBM的应用 二.数据集来源 三.基于英雄联盟数据集的LightGBM分类实战 Step ...
- GBDT家族:GBDT家族成员的演进路劲、xgboost模型、lightGBM、LightGBM 相对于 XGBoost 的优点、catboost、xgboost、catboost、lightGBM对
GBDT家族:GBDT家族成员的演进路劲.xgboost模型.lightGBM.LightGBM 相对于 XGBoost 的优点.catboost.xgboost.catboost.lightGBM对 ...
- 【数据竞赛】风控实操案例 | 基于Xgboost与Catboost实现非法集资企业识别
本文详解2020CCF大赛「企业非法集资风险预测」赛题的获奖参赛作品[风控案例-基于Xgboost与Catboost实现非法集资企业识别],包括数据分析.特征工程.模型训练.模型融合.模型结果展示和方 ...
- 使用Sci-kit学习和XGBoost进行多类别分类:使用Brainwave数据的案例研究
by Avishek Nag (Machine Learning expert) 作者:Avishek Nag(机器学习专家) 使用Sci-kit学习和XGBoost进行多类别分类:使用Brainwa ...
- python机器学习库xgboost——xgboost算法(有分类和回归实例)
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
- WordPress 多媒体库添加分类和标签支持
https://www.xhsay.com/wordpress-attachment-taxonomies.html 时不时看到有朋友说 WordPress 这么强大的系统,怎么多媒体附件都不支持分类 ...
最新文章
- visio二次开发___事件篇___事件分类
- 如何查看用index.php,为什么整个网站使用一个index.php页面?
- Python基础之:Python中的内部对象
- Java串口包Javax.comm的安装
- 入门训练 圆的面积 c语言
- HDU1429胜利大逃亡(续)HDU 1885 Key Task BFS+状态压缩+水
- [css] 你是怎么设计css sprites(精灵图)的?有哪些技巧?
- 易语言执行linux脚本,初识易语言到编写SHELL生成器
- hdu1242 Rescue DFS(路径探索题)
- 调用拷贝构造函数的场景
- java类注解是否可以通过实现接口或继承父类的方式获得
- linux新漏洞,「漏洞通告」Linux Kernel 信息泄漏权限提升漏洞(CVE-2020-8835)
- WPF 使用值转换器进行绑定数据的转换IValueConverter
- OpenGL 视椎体剔除算法
- win10增加图片查看器
- 升级bigsur_2年内彻底摆脱英特尔,苹果重磅发布自研Mac芯片,并对“五大系统”再升级...
- Worktile官网下载
- 视频服务器(3) RTSP地址
- 美团招聘CV算法专家/AutoML专家
- 石墨烯在各个领域的应用前景
热门文章
- 【Docker】registry部署docker私有镜像仓库
- 2022-2028年中国汽车零配件行业研究及前瞻分析报告
- 2022-2028年中国工业节能行业深度调研及投资前景预测报告
- 2022-2028年中国防臭袜行业投资分析及前景预测报告
- 2022-2028年中国电子灌封胶行业市场研究及前瞻分析报告
- Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别
- 阿里云Centos 解决挖矿程序:kdevtmpfsi--服务器CPU占用高、内存占用高
- 第五周周记(国庆第一天)
- python系统问题
- Tensorflow函数——tf.variable_scope()