我开始对机器学习进行一些研究,似乎这两个经常用于这个领域。它们看起来非常相似,那么人们如何决定最好使用哪种?
答案 0 :(得分:8)
我还说R因为多种原因而更好。我说这已经使用了Matlab多年并且已经切换到R并且我希望我首先学习了R.博客Abandon Matlab列出了为什么使用Matlab有时非常烦人的一些原因。这里有一个主要问题,为什么R对我来说更有效率:
在工具箱中使用不一致的语法调用Matlab函数。例如如果我想在R中的模型中更改我的分类器,通常只需要更改函数的名称并保持调用和数据不变。在Matlab中,这通常涉及重新格式化数据和完全不同的函数调用,我必须从文档中查找。
R有更好的数据结构我认为Matlab中唯一可行的构造是基本数组,除了数字变量之外的其他任何东西都很笨拙,你不能按名称调用列,但你必须使用变量的索引(嗯,是第33或34列,我想绘制......)。你无法击败R!中的data.frame
R为ML
Matlab没有函数的命名参数
最后,如果您使用矩阵工作很多并且发现Matlab语法更好,那么请使用Numpy和Scipy查看Python。 Python也有一些很好的ML库,比如PyBrain。我不打算在这里比较R和Python,因为这是一个完全不同的问题:)
答案 1 :(得分:5)
“哪个更好”-questions通常在很大程度上取决于上下文。这也不例外。
您希望通过机器学习实现什么目标?如果您只是为了理解机器学习而学习它,那么最好选择能够从您的直接环境中获得最多支持的语言。你的朋友知道R里面出来了?选择R.无论如何,这两种语言都允许您轻松地进行机器学习实验,以便您能够获得一般的想法。
如果你想进入机器学习以便做一些更具体的事情,那么就会有所不同。您的机器学习任务是否涉及图像?与Matlab一起使用,因为您可能也想使用图像处理。您是否想深入了解机器学习背后的理论并使用花哨的统计方法来制作新算法?如果您想使用丰富的功能,请选择R,如果编程环境更适合您,请选择Matlab。
答案 2 :(得分:1)
有许多讨论更好,但在ML的情况下,答案很简单:R是一种设计用于此类任务的语言; R还有更多更好的ML软件。