打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
mlr3:开篇

今天开始推送R语言机器学习相关的内容,机器学习在R语言中的发展很快,目前很多R包都很成熟了,后面将会逐渐介绍mlr3、tidymodels、caret等R包。

mlr3简介

mlr3包和其扩展包为R语言提供了一个统一的、面向对象的、可扩展的机器学习框架,可用于回归、分类、生存分析和其他机器学习任务。mlr3并没有引入新的机器学习算法,而是为R中的机器学习R包通过了统一的接口,通过这个统一的接口,用户可以创建任务、选择合适的参数、进行大规模的模型比较等。原生支持多个步骤的并行化操作。

目标群体

我们希望mlr3使用者具有基本的R语言和机器学习知识,本教程的后面一些内容将会介绍更高级的知识。mlr3既适合复杂的大型任务,也可以用于简单的任务。

mlr3既适合相关从业人员快速进行机器学习算法,也适合于研究人员在统一的环境中实施、测试、比较新的算法。mlr3包是mlr包的重写,吸收了最先进的经验,易于使用和扩展。

为什么重写?

mlr于2013年上架CRAN,目前已逐渐落伍,许多特性已不适合目前复杂的任务需求。另外许多非常棒的R包已逐渐发展成熟,比如data.table,因此我们希望开发一个新的R包,它可以提供统一的接口,可适应多种不同的复杂任务场景,基于最先进的机器学习经验,速度足够快!因此mlr3诞生了,它有很多新的特性,比如R6/future/data.table

设计理念

  • 后端高于前段

    mlr3包及其生态系统专注于处理和转换数据、应用机器学习模型、计算结果,不提供图形化界面,数据和结果的可视化通过其他R包实现。

  • 使用R6

    获得简洁的、面向对象的设计。

  • 使用data.table

    获得更快、更方便的数据操作。

  • 统一容器和结果类,以data.table格式返回结果

    这一特性简化了API,允许用户轻松选择和使用split-apply-combine操作,将R6和data.table结合。

  • 防御式编程和类型安全

    所有用户输入都通过checkmate检查,返回的结果都是有记录的,并且避免使用base R中的某些机制,因为这些机制会简化结果或者丢失信息。

  • 减少依赖包

    mlr的一大缺点就是需要维护大量依赖包,而mlr3的依赖包大大减少,方便维护。

mlr3生态

  • R6:参考类对象。(不是太懂,可类比R中的S3,S4对象,但是刚用起来感觉语法很奇怪)
  • data.table:更快的速度!(明显感觉比tidymodels快很多)
  • digest:hash digests
  • uuid:唯一的字符标识
  • lgr:日志控制
  • mlbench:常用机器学习数据集

以上所有R包都是很成熟的,都是经过精心挑选的,不存在依赖性问题。对于更好的功能实现我们建议暗转以下R包:

  • 并行化:future/future.apply
  • 进度条:progressr
  • 获取输出、警告和异常情况:evaluate/callr

mlr3包只提供基础的机器学习框架,对于更多的操作和更复杂的任务,可参考以下mlr3生态:

以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ML之LiR:机器学习经典算法之线性回归算法LiR的简介、使用方法、经典案例之详细攻略
相比于深度学习,传统的机器学习算法难道就此没落了吗,还有必要去学习吗?
深度学习入门-MNIST数据集简介
网络封包的crc32
一文揭秘阿里实时计算Blink核心技术:如何做到唯快不破?
Less is More:半监督学习让标记数据不再那么重要
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服