R和MATLAB在机器学习方面有哪些优缺点?

10 matlab r machine-learning

我开始研究机器学习,似乎这两个经常用于这个领域.它们看起来非常相似,那么如何决定最好使用哪种?

Mat*_*ell 8

我还说R因为多种原因而更好.我说这已经使用了Matlab多年并且已经切换到R并且我希望我首先学习了R. 博客Abandon Matlab列出了为什么使用Matlab有时非常烦人的一些原因.这里有一个主要问题,为什么R对我来说更有效率:

  • 在工具箱中使用不一致的语法调用Matlab函数.例如,如果我想在RI中的模型中更改我的分类器,通常只需要更改函数的名称并保持调用和数据不变.在Matlab中,这通常涉及重新格式化数据和完全不同的函数调用,我必须从文档中查找.

  • R有更好的数据结构我认为Matlab中唯一可行的构造是基本数组,除了数值变量之外的其他任何东西都很笨拙,你不能按名称调用列,但你必须使用变量的索引(嗯,是第33或34栏,我想绘制......).你无法击败R中的data.frame!

  • R有很多有用的ML

  • Matlab没有函数的命名参数

最后,如果您使用矩阵工作很多并且发现Matlab语法更好,那么请使用Numpy和Scipy查看Python.Python也有一些很好的ML库,比如PyBrain.我不打算在这里比较R和Python,因为这是一个完全不同的问题:)


Jon*_*nas 5

"哪个更好" - 问题通常在很大程度上取决于背景.这也不例外.

您希望通过机器学习实现什么目标?如果您只是为了理解机器学习而学习它,那么最好选择能够从您的直接环境中获得最多支持的语言.你的朋友知道R里面出来了?选择R.无论如何,这两种语言都允许您轻松地进行机器学习实验,以便您能够获得一般的想法.

如果你想进入机器学习以便做更具体的事情,那么就会有差异.您的机器学习任务是否涉及图像?与Matlab一起使用,因为您可能也想使用图像处理.您是否想深入了解机器学习背后的理论并使用花哨的统计方法来制作新算法?如果您想使用丰富的功能,请选择R,如果编程环境更适合您,请选择Matlab.

  • 另外,不要忘记Matlab的高许可证价格有时是需要考虑的因素之一 (5认同)
  • @Jonas:还是有人要付钱!:)实验室我花了8000欧元用于Matlab /各种工具包许可证+类似800欧元/年的更新.总体而言,这不是一项巨大的开支,但仍然没有任何好处:D:D:D (3认同)

mbq*_*mbq 1

有很多讨论哪个更好,但对于 ML,答案很简单:R 是一种为此类任务而设计的语言;还有更多、更好的 R 机器学习软件。

  • 我发现 MATLAB 的文档非常优秀且易于理解 (4认同)
  • 我同意 MATLAB 没有一个“ML 工具箱”,但您可以在核心 MATLAB 和多个受支持的工具箱中找到许多有用的函数:统计、生物信息学、神经网络...我提到了有关文档的评论,因为它组织得很好; 与 R 相比,它通常有用户指南、函数参考以及大量用例和示例,因此对于新手来说很容易上手(我承认作为一个完全的初学者,我有时会迷失学习 R)。R 缺少的最后一件事是一个好的 IDE,这是当今必须的。 (2认同)