R 可能是统计编程和应用机器学习最强大和最受欢迎的平台之一。
当你认真对待机器学习时,你会发现自己会接触到 R。
在这篇文章中,你将了解 R 是什么,它从何而来以及它的一些最重要的特性。
使用我的新书 Machine Learning Mastery With R **启动你的项目**,其中包括**逐步教程**和所有示例的 **R 源代码**文件。
让我们开始吧。
什么是 R?
R 是一个用于统计编程和可视化的开源环境。
R 有很多用途,这可能一开始会让人感到困惑。
- **R 是一种计算机语言**。它是 Lisp 的变体,你可以用它编写程序。
- **R 是一个解释器**。它可以解析和执行直接输入或从 .R 扩展名文件加载的 R 脚本(程序)。
- **R 是一个平台**。它可以创建图形以显示在屏幕上或保存到文件中。它还可以准备可以查询和更新的模型。
你可能希望将 R 脚本写入文件,并使用 R 解释器以批处理模式运行它们,以获得表格或图形等结果。你可能希望打开 R 解释器并输入命令以临时加载、探索和建模数据。
有一些图形环境,但 R 最简单和最常见的用法是从 R 控制台(类似于 REPL)进行。如果你刚开始使用 R,我建议在控制台上学习 R。
需要更多关于R机器学习的帮助吗?
参加我为期14天的免费电子邮件课程,了解如何在您的项目中使用R(附带示例代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
R 的起源
R 由 Ross Ihaka 和 Robert Gentleman 在 新西兰奥克兰大学 创建,作为 S 编程语言 的实现。开发始于 1993 年。1995 年,一个版本以 GNU GPL 协议在 FTP 上发布。更大的核心小组和开源项目于 1997 年成立。
它最初是作者在 Lisp 中实现一个统计测试平台的实验,使用类似于 S 提供的语法。随着它的发展,它吸收了 S 的更多语法和特性,最终在功能和范围上超越了 S。
有关 R 历史的有趣且详细的处理,请查看技术报告 R: 过去与未来历史 (PDF)。
R 的主要特性
当你需要分析数据、绘制数据或为数据构建统计模型时,R 是一个有用的工具。它非常适合一次性分析原型和学术工作,但不适合构建用于可扩展或操作环境的模型。
R 的优点
R 有三个主要优点
- **开源**:R 是免费和开源的。你现在就可以下载并免费开始使用它。你可以阅读源代码,从中学习并修改它以满足你的需求。简直太棒了。
- **包**:R 之所以流行,是因为它拥有大量非常强大的算法,这些算法以称为包的第三方库的形式实现。统计领域的学者通常将其方法作为 R 包发布,这意味着你可以直接访问一些最先进的方法。
- **成熟度**:R 的灵感来自于专有统计语言 S,它使用并改进了对统计计算有用的习语和隐喻,例如在矩阵、向量和数据框中工作。
有关 R 包的更多信息,请查看 CRAN(综合 R 存档网络)并按包或视图浏览。机器学习和统计学习视图列出了用于机器学习的包,这将非常有趣。
R 的困难之处
该平台有三个主要困难
- **不一致性**:每个算法都使用自己的参数、命名约定和参数实现。有些尝试遵循粗略的约定(例如用于进行预测的预测函数),但即使是标准函数名称的结果的复杂性也可能有所不同。这可能会非常令人沮丧,并且需要深入阅读每个新包的文档。
- **文档**:有很多文档,但通常是直接而简洁的。内置帮助很少能满足你的需求,让你不断地在网络上寻找完整的示例,从中你必须推导出你的用例。
- **可伸缩性**:R 旨在用于适合一台机器内存的数据。它不适用于流数据、大数据或跨多台机器工作。
这种语言有点晦涩,但作为一名程序员,你将很容易掌握它并将示例适应你的需求。许多包利用用 C、C++、FORTRAN 和 Java 编写的数学代码,在 R 环境中提供了一个方便的接口。
谁在使用 R?
商业公司现在支持 R。例如,Revolution R 是一个商业支持的 R 版本,带有适用于企业的功能扩展,例如 IDE。Oracle、IBM、Mathematica、MATLAB、SPSS、SAS 等公司提供与 R 及其平台的集成。
Revolution Analytics 博客还提供了一份长长的公司名单,公开宣布他们采用该平台。
Kaggle 数据科学竞赛平台和 KDnuggets 调查都指出 R 是成功的数据科学家最受欢迎的平台。在文章 机器学习的最佳编程语言 中了解更多信息。
总结
在这篇文章中,你了解了 R 是什么、它的主要特性、它从何而来以及谁在使用它。
这是一个令人兴奋且功能强大的平台。如果你正在考虑开始将 R 用于应用机器学习,你可能希望查看这本关于 R 机器学习的 7 本书列表。
有关 R 的更多信息,请查看 R 统计计算项目主页。在那里你会找到下载链接、文档和手册、电子邮件列表等等。
暂无评论。