mlr
R语言中的机器学习。
-
Stackoverflow:
#mlr
已弃用
{mlr}被mlr-org团队视为已退休。 我们不会再添加新功能,只会修复严重的错误。 我们建议从现在开始并在未来的项目中使用新的mlr3框架。
{mlr}的并非所有功能都已在{mlr3}中实现。 如果您缺少关键功能,请在相应的mlr3扩展包中提出问题,并不要犹豫跟进。
安装
发布版
install.packages("mlr")
开发版
remotes::install_github("mlr-org/mlr")
在出版物中引用{mlr}
包的某些部分是作为其他出版物的一部分创建的。 如果您使用这些部分,请适当引用相关工作。 所有与{mlr}相关的出版物概览可以在这里找到。
简介
R没有为其机器学习算法定义标准化接口。 因此,对于任何非平凡的实验,您需要编写冗长、繁琐且容易出错的包装器来调用不同的算法并统一它们各自的输出。
此外,您还需要实现基础设施来:
- 重采样您的模型
- 优化超参数
- 选择特征
- 处理数据的预处理和后处理,并以统计学有意义的方式比较模型。
由于这变得计算密集,您可能还想并行化您的实验。这通常迫使用户由于时间限制或缺乏专业编程技能而在实验中做出糟糕的权衡。
{mlr}提供了这种基础设施,让您可以专注于您的实验! 该框架提供了监督方法,如分类、回归和生存分析,以及相应的评估和优化方法,还有非监督方法,如聚类。 它的编写方式使您可以自己扩展它,或者偏离已实现的便利方法,构建自己的复杂实验或算法。
此外,该包与OpenML R包及其在线平台很好地连接,后者旨在支持在线协作机器学习,并允许轻松共享数据集以及机器学习任务、算法和实验,以支持可重复研究。
特性
- 清晰的S3接口,用于R的分类、回归、聚类和生存分析方法
- 通过属性抽象描述学习器和任务
- 机器学习实验的便利方法和通用构建块
- 重采样方法,如引导、交叉验证和子采样
- 广泛的可视化(例如ROC曲线、预测和部分预测)
- 跨数据集和学习器的简化基准测试
- 使用不同优化策略的轻松超参数调优,包括强大的配置器,如
- 迭代F-racing (irace)
- 基于序列模型的优化
- 使用过滤器和包装器进行变量选择
- 带有调优和特征选择的模型嵌套重采样
- 成本敏感学习、阈值调优和不平衡校正
- 包装器机制,以复杂方式扩展学习器功能
- 可能结合不同处理步骤形成可联合优化的复杂数据挖掘链
- OpenML连接器,用于开放机器学习服务器
- 内置并行化
- 详细教程
其他
简单的使用问题更适合在Stackoverflow上使用mlr标签提问。
请注意,我们都在学术界工作,并投入大量工作到这个项目中 - 仅仅是因为我们喜欢它,而不是因为我们为此得到报酬。
新的开发工作应该投入到{mlr3}中。
我们有自己的风格指南,可以通过使用styler包中的mlr_style
轻松应用。
有关更多信息,请参阅我们的wiki。
演讲、工作坊等
mlr-outreach包含所有与{mlr}和{mlr3}相关的外展活动。