新一代R语言机器学习包mlr3-简介

mlr3的前身mlr介绍

mlr首次发布于2013年,但随着时间的推移,一方面机器学习算法在更新迭代且机器学习任务也越来越复杂,mlr也就无法再继续满足较为复杂的机器学习任务。另外一方面,mlr所依赖的一些生态包比如data.table等也在日益更新,这些更新的新功能要整合到mlr上,会使得mlr对功能的整合和维护带来巨大挑战。对此,2018年mlr包作者开始重写mlr,也就是现在的新一代R包mlr3.

mlr3简介

mlr3包和其扩展包为R语言提供了一个统一的、面向对象的、可扩展的机器学习框架,可用于回归、分类、生存分析和其他机器学习任务。相当于python的Scikit-learn。值得注意的是mlr3本身并没有提供新的机器学习算法,而是提供一个统一的接口来调用其他R语言机器学习包。

设计理念

①后端高于前段:mlr3包及其生态系统专注于处理和转换数据、应用机器学习算法、计算结果,mlr3本身无法提供直观的结果可视化信息,数据和结果的可视化需要通过其他R语言包实现。

②拥抱R6:获得简洁的、面向对象的设计。

③拥抱data.table:获得更快、更方便的数据操作。

④尽可能统一容器和结果类,以data.table格式返回结果,方便用tidyverse对data.table数据框进行操作。

⑤减少依赖包:mlr3的依赖包大大减少,方便维护。

mlr3生态

R6:参考类对象

data.table:data.frame的高性能版本,速度更快

digest:hash digests

uuid:唯一的字符标识

lgr:日志控制

mlbench:机器学习数据集库

并行化:future/future.apply

进度条:progressr

获取输出、警告和异常情况:evaluate/callr

mlr3包提供了一个基本的机器学习框架,对于更多的操作比如数据预处理,机器学习管道流等,可参考以下mlr3生态:

新一代R语言机器学习包mlr3-简介

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章