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 多分类 多标签相关推荐

  1. xgboost, lightgbm, catboost, 谁才是预言之战的最终赢家?

    引子: xgboost,lightgbm和catboost都是非常好用的工具,它们将多个弱分类器集成为一个强分类器.在此对他们使用的框架背景和不同之处做简单的总结. xgboost vs lightg ...

  2. 机器学习:XGBoost+LightGBM+catboost+5折+stacking的用法

    前言: 目前传统机器学习的比赛中,基本是树模型打天下了,xgboost.lightgbm和catboost各有优劣,如果把三者结合起来,即使使用投票效果也会很好.另外如果再使用5折交叉验证的方法(KF ...

  3. R︱Yandex的梯度提升CatBoost 算法(官方述:超越XGBoost/lightGBM/h2o)

    俄罗斯搜索巨头 Yandex 昨日宣布开源 CatBoost ,这是一种支持类别特征,基于梯度提升决策树的机器学习方法. CatBoost 是由 Yandex 的研究人员和工程师开发的,是 Matri ...

  4. 【数据分析与挖掘】基于LightGBM,XGBoost,逻辑回归的分类预测实战:英雄联盟数据(有数据集和代码)

    机器学习-LightGBM 一.LightGBM的介绍与应用 1.1 LightGBM的介绍 1.2 LightGBM的应用 二.数据集来源 三.基于英雄联盟数据集的LightGBM分类实战 Step ...

  5. GBDT家族:GBDT家族成员的演进路劲、xgboost模型、lightGBM、LightGBM 相对于 XGBoost 的优点、catboost、xgboost、catboost、lightGBM对

    GBDT家族:GBDT家族成员的演进路劲.xgboost模型.lightGBM.LightGBM 相对于 XGBoost 的优点.catboost.xgboost.catboost.lightGBM对 ...

  6. 【数据竞赛】风控实操案例 | 基于Xgboost与Catboost实现非法集资企业识别

    本文详解2020CCF大赛「企业非法集资风险预测」赛题的获奖参赛作品[风控案例-基于Xgboost与Catboost实现非法集资企业识别],包括数据分析.特征工程.模型训练.模型融合.模型结果展示和方 ...

  7. 使用Sci-kit学习和XGBoost进行多类别分类:使用Brainwave数据的案例研究

    by Avishek Nag (Machine Learning expert) 作者:Avishek Nag(机器学习专家) 使用Sci-kit学习和XGBoost进行多类别分类:使用Brainwa ...

  8. python机器学习库xgboost——xgboost算法(有分类和回归实例)

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

  9. WordPress 多媒体库添加分类和标签支持

    https://www.xhsay.com/wordpress-attachment-taxonomies.html 时不时看到有朋友说 WordPress 这么强大的系统,怎么多媒体附件都不支持分类 ...

最新文章

  1. visio二次开发___事件篇___事件分类
  2. 如何查看用index.php,为什么整个网站使用一个index.php页面?
  3. Python基础之:Python中的内部对象
  4. Java串口包Javax.comm的安装
  5. 入门训练 圆的面积 c语言
  6. HDU1429胜利大逃亡(续)HDU 1885 Key Task BFS+状态压缩+水
  7. [css] 你是怎么设计css sprites(精灵图)的?有哪些技巧?
  8. 易语言执行linux脚本,初识易语言到编写SHELL生成器
  9. hdu1242 Rescue DFS(路径探索题)
  10. 调用拷贝构造函数的场景
  11. java类注解是否可以通过实现接口或继承父类的方式获得
  12. linux新漏洞,「漏洞通告」Linux Kernel 信息泄漏权限提升漏洞(CVE-2020-8835)
  13. WPF 使用值转换器进行绑定数据的转换IValueConverter
  14. OpenGL 视椎体剔除算法
  15. win10增加图片查看器
  16. 升级bigsur_2年内彻底摆脱英特尔,苹果重磅发布自研Mac芯片,并对“五大系统”再升级...
  17. Worktile官网下载
  18. 视频服务器(3) RTSP地址
  19. 美团招聘CV算法专家/AutoML专家
  20. 石墨烯在各个领域的应用前景

热门文章

  1. 【Docker】registry部署docker私有镜像仓库
  2. 2022-2028年中国汽车零配件行业研究及前瞻分析报告
  3. 2022-2028年中国工业节能行业深度调研及投资前景预测报告
  4. 2022-2028年中国防臭袜行业投资分析及前景预测报告
  5. 2022-2028年中国电子灌封胶行业市场研究及前瞻分析报告
  6. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别
  7. 阿里云Centos 解决挖矿程序:kdevtmpfsi--服务器CPU占用高、内存占用高
  8. 第五周周记(国庆第一天)
  9. python系统问题
  10. Tensorflow函数——tf.variable_scope()