获取更多R语言和生信知识,请关注公众号:医学和生信笔记。
公众号后台回复R语言,即可获得海量学习资料!

目录

  • `mlr3`简介
    • 目标群体
    • 为什么重写?
    • 设计理念
    • `mlr3`生态

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生态:

获取更多R语言和生信知识,请关注公众号:医学和生信笔记。
公众号后台回复R语言,即可获得海量学习资料!

R语言机器学习mlr3:简介相关推荐

  1. R语言机器学习mlr3:模型解释

    获取更多R语言和生信知识,请欢迎关注公众号:医学和生信笔记 医学和生信笔记 公众号主要分享:1.医学小知识.肛肠科小知识:2.R语言和Python相关的数据分析.可视化.机器学习等:3.生物信息学学习 ...

  2. R语言机器学习mlr3:数据预处理和pipelines

    获取更多R语言和生信知识,请欢迎关注公众号:医学和生信笔记 医学和生信笔记 公众号主要分享:1.医学小知识.肛肠科小知识:2.R语言和Python相关的数据分析.可视化.机器学习等:3.生物信息学学习 ...

  3. R语言机器学习mlr3:超参数调优

    获取更多R语言和生信知识,请关注公众号:医学和生信笔记. 公众号后台回复R语言,即可获得海量学习资料! 目录 模型调优 调整超参数 方法一:通过`tuninginstancesinglecrite`和 ...

  4. R语言机器学习mlr3:基础使用

    获取更多R语言和生信知识,请关注公众号:医学和生信笔记. 公众号后台回复R语言,即可获得海量学习资料! 目录 创建任务 创建learner 训练.预测和性能评价 本篇主要介绍mlr3包的基本使用. 一 ...

  5. R语言机器学习mlr3:技术细节

    获取更多R语言和生信知识,请欢迎关注公众号:医学和生信笔记 医学和生信笔记 公众号主要分享:1.医学小知识.肛肠科小知识:2.R语言和Python相关的数据分析.可视化.机器学习等:3.生物信息学学习 ...

  6. R语言机器学习mlr3:特征选择和hyperband调参

    获取更多R语言和生信知识,请关注公众号:医学和生信笔记. 公众号后台回复R语言,即可获得海量学习资料! 目录 Hyperband调参 特征选择 filters 计算分数 计算变量重要性 组合方法(wr ...

  7. R语言机器学习mlr3:嵌套重抽样

    获取更多R语言和生信知识,请关注公众号:医学和生信笔记. 公众号后台回复R语言,即可获得海量学习资料! 目录 嵌套重抽样 进行嵌套重抽样 评价模型 把超参数应用于模型 嵌套重抽样 既有外部重抽样,也有 ...

  8. R语言机器学习mlr3:模型评价和比较

    获取更多R语言和生信知识,请关注公众号:医学和生信笔记. 公众号后台回复R语言,即可获得海量学习资料! 目录 二分类变量和ROC曲线 重抽样 benchmark 前面一篇介绍了如何使用 mlr3创建任 ...

  9. R语言机器学习之caret包详解(一)

    R语言机器学习caret包trainControl函数详解 R语言机器学习之caret包详解(一) 简介 数据预处理 各种数据变换 近零方差变量 创建虚拟变量 重抽样技术 k折交叉验证 留一交叉验证 ...

最新文章

  1. NLPIR智能语义:大数据挖掘助力人工智能快速发展
  2. iOS学习之iOS沙盒(sandbox)机制和文件操作(二)
  3. mongodb查看数据库和表的信息
  4. Android 自定义view的知识梳理。
  5. vue学习中遇到的错误 Duplicate keys detected: ‘[object Object]‘. This may cause an update error.
  6. java403forbidden_java – Spring boot – 返回403 Forbidden而不是重定向到登录页面
  7. Django模板层:内置模板标签if,for in(forloop.counter)with,url,spaceless,autoescape,verbatim,firstof,block,cycle
  8. ​百度网盘下线SVIP免第三方广告特权;小米回应手机异常发热;Windows 11新应用商店将于6月24日亮相|极客头条...
  9. C#—接口和抽象类的区别?
  10. 搜索引擎优化的用乐云seo_搜索引擎优化SEO
  11. 商用平板 移动金融潜力巨大的应用平台
  12. Linux如何修改makefile文件,linux中Makefile的使用
  13. 自动驾驶的Pipline -- 如何打造自动驾驶的数据闭环?(上)
  14. Emacs帮你进行英文写作
  15. Android 11 wifi adb 连接错误 “Unable to start pairing client.“
  16. 计算机网络打不开怎么办,网页无法打开,详细教您有网络但是打不开网页怎么办?...
  17. 快速排序算法原理 Quicksort —— 图解(精讲) JAVA
  18. element-ui表格组件分页后完整导出到excel的方法
  19. Python 小项目 猜数字小游戏
  20. 编程中,循环、迭代、遍历和递归之间的区别

热门文章

  1. 城区现有5种共享单车 ofo率先加入智慧城市建设
  2. 视频质量诊断软件简介
  3. HTML完成如下网页效果代码,JS实现可直接显示网页代码运行效果的HTML代码预览功能实例...
  4. 仿微信透明度渐变且带红点提醒的底部栏
  5. html以鼠标为中心放大网页,鼠标放在链接上实现字体放大成效
  6. 求节点的哈夫曼的带权路径长度
  7. 待业将近两个月,晚上11点接到面试邀约电话,我却拒绝了...
  8. 已经三十多岁了还是一事无成,还能靠做自媒体翻身吗?
  9. windows 网络命令大全
  10. .Net的垃圾回收机制