R 有大量的软件包。对于你的机器学习项目,哪些是最好的选择?
在这篇文章中,你将发现机器学习之旅中每个子任务推荐的确切 R 函数和软件包。
这很有用。将此页面加入书签。我相信你会一次又一次地回来查看。
如果你是 R 用户,并且知道更好的方法,请在评论中分享,我将更新列表。
通过我的新书《R 语言机器学习精通》**启动你的项目**,其中包含*分步教程*和所有示例的*R 源代码文件*。
让我们开始吧。

如何在机器学习中使用 R
图片由 Neil Cummings 拍摄,保留部分权利。
你应该使用哪些 R 软件包?
R 有超过 6,000 个第三方软件包。可用软件包数量庞大是 R 平台的优势之一。它也令人沮丧。
你应该使用哪些软件包?
作为机器学习项目的一部分,你需要执行特定的任务。例如加载数据、评估算法和提高准确性。你可以对每个任务使用多种技术,并且多个软件包可能提供这些技术。
鉴于完成给定子任务的方法如此之多,你需要发现最能满足你需求的函数和软件包。
将最佳软件包映射到项目任务
解决此问题的方法是创建你可能在机器学习项目中处理的所有子任务的映射,并找到你可以使用的最佳软件包和函数。
你首先列出机器学习项目中的所有子任务。你可以仔细查看应用机器学习过程和机器学习项目清单。
鉴于 R 是一种统计语言,它提供了许多可用于数据分析的工具,以及可以训练和用于生成预测的预测模型。
使用你喜欢的搜索引擎,你可以找到所有可用于完成每个任务的软件包中的函数和软件包。这可能很详尽,你最终可能会得到许多不同的候选解决方案。
你需要将每个选项列表缩减为完成任务的一种首选方式。你可以尝试每种方式,看看哪种适合你。你还可以仔细查看搜索结果,找出从业者最常用的函数。
接下来是将 R 软件包和函数映射到机器学习项目任务的映射,你可以使用它今天就开始使用 R 进行机器学习。
需要更多关于R机器学习的帮助吗?
参加我为期14天的免费电子邮件课程,了解如何在您的项目中使用R(附带示例代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
如何在机器学习项目中使用 R
本节列出了通用机器学习项目的许多主要子任务。每个任务都列出了你可以在 R 中用于完成任务的特定函数和父软件包。
所选函数的一些属性是
- **最小化**:该列表是项目中机器学习任务和你可以使用的函数和包名称的最低要求。实际使用列出的每个函数需要更多的功课。
- **简单**:选择这些函数是为了简单地为任务提供直接结果。优先选择一个函数而不是多次函数调用。
- **偏好**:函数的选择基于我的偏好和最佳估计。其他从业者可能有不同的替代方案(在评论中分享!)。
任务分为三大类
- 为建模准备数据的数据准备任务。
- 用于竞速和评估预测建模算法的算法评估任务。
- 用于从性能良好的算法中获得更多结果的改进结果任务。
1. 数据准备任务
数据加载
从文件中加载数据集。
- CSV:来自 utils 包的 read.csv 函数
数据清洗
清理数据集以确保数据合理且一致,可用于分析和建模。
数据摘要
使用描述性统计总结数据集。
- 总结分布:来自 base 包的 summary 函数。
- 总结相关性:来自 stats 包的 cor 函数
数据可视化
可视化总结数据集。
- 散点图矩阵:来自 graphics 包的 pairs 函数。
- 直方图:来自 graphics 包的 hist 函数。
- 密度图:来自 lattice 包的 densityplot 函数。
- 箱线图:来自 graphics 包的 boxplot 函数
荣誉提名
特征选择
选择数据集中与构建预测模型最相关的特征。
caret 包提供了一套特征选择方法,请参阅评估算法任务。
荣誉提名
- FSelector 包。
数据转换
创建数据集的转换以最好地向学习算法展示问题的结构。
- 归一化:自定义编写的函数
- 标准化:来自 base 包的 scale 函数。
caret 包提供数据转换作为测试工具的一部分,请参阅下一节。
2. 评估算法任务
应使用 caret 包中的函数来评估数据集上的模型。
caret 包支持各种性能度量和测试选项,例如数据拆分和交叉验证。预处理也可以配置为测试工具的一部分。
模型评估
请注意,许多现代预测模型(例如高级决策树的变体)都内置了某种形式的特征选择、参数调优和集成。
预测模型
caret 包提供了对所有最佳预测建模算法的访问。
3. 改进结果任务
充分利用性能良好的模型以实现准确预测的技术。
算法调优
caret 包提供算法调优作为测试工具的一部分,并包括随机、网格和自适应搜索等技术。
模型集成
许多现代预测建模算法都内置了集成。caret 包中提供了一套装袋和提升函数。
- 融合:来自 caretEnsemble 包的 caretEnsemble。
- 堆叠:来自 caretEnsemble 包的 caretStack。
- 装袋:来自 ipred 包的 bagging 函数。
总结
在这篇文章中,你发现使用 R 进行机器学习的最佳方法是将特定的 R 函数和包映射到机器学习项目的任务上。
你发现了可用于机器学习项目最常见任务的特定软件包和函数,包括进一步文档的链接。
你的下一步
开始使用 R 进行机器学习。将上述建议应用于你当前或下一个机器学习项目。
我是否遗漏了一个重要的包?我是否遗漏了机器学习项目中的关键任务?留下评论让我知道我遗漏了什么。
你有问题吗?给我发电子邮件或留言。
这是一篇不错的文章。那么你已经用 R 训练并测试了一个机器学习算法模型。你如何将其投入生产?
谢谢,这或许会有帮助
https://machinelearning.org.cn/finalize-machine-learning-models-in-r/