业界 | 四大机器学习编程语言对比:R、Python、MATLAB、Octave ...
作者头像
  • 王杉杉
  • 2018-11-06 15:16:00 10

以下是经过改写的文本:


本文主要对比了四种用于机器学习的编程语言:R、Python、MATLAB 和 OCTAVE。作者详细列出了这几种语言各自的优缺点,希望对想要开始学习这些工具的读者有所帮助。

R 语言

R 是一种用于统计计算和图形处理的语言和环境,它是由 GNU 项目开发的,与 S 语言非常相似。R 作为一种不同的实现版本,在某些方面具有独特的优势。

优点:

  • R 支持端到端开发到执行,例如通过一些 brokers 包(如 IB)。
  • 开发速度快,通常代码量比 Python 少 60%。
  • 开源包丰富。
  • 成熟的量化交易包(如 quantstrat、quantmod、performanceanalytics、xts)。
  • 社区庞大。
  • 可以通过 Rcpp 整合 R 和 C++/C 代码。

缺点:

  • 相比 Python,R 在迭代循环和非向量化函数中表现较慢。
  • 在绘制交互式图表方面不如 Matlab。
  • 创建独立应用程序的能力有限。

Python

Python 是一种通用编程语言,以其简洁的语法和强大的功能而著称。Python 适用于多种场景,包括数据分析和机器学习。

优点:

  • 支持端到端开发到执行,例如通过一些 brokers 包(如 IB)。
  • 开源包丰富(如 Pandas、NumPy、SciPy)。
  • 有专门的交易包(如 zipline、pybacktest、pyalgotrade)。
  • 适合一般编程和应用开发。
  • 可以连接 R、C++ 和其他语言,被称为「胶水」语言。
  • 在迭代循环中速度最快。

缺点:

  • 有些包不够成熟,尤其是交易包。
  • 有些包与其他包不兼容或有重叠。
  • 在金融领域的社区比 R 小。
  • 相同操作需要比 R 或 Matlab 更多代码。
  • 跟踪静默错误可能需要很长时间。

MATLAB

MATLAB 是一种多范型数值计算环境,主要用于数学计算和工程模拟。MATLAB 提供了丰富的工具箱,可以满足各种需求。

优点:

  • 数学和计算平台速度最快,特别是在向量化运算和线性矩阵代数中。
  • 商业级软件,适合所有数学和交易领域。
  • 脚本简短,包集成度高。
  • 图形和交互式图表效果最佳。
  • 良好的测试和支持。
  • 易于管理多线程支持和垃圾回收。
  • 最好的调试器。

缺点:

  • 无法直接执行,需要转换成其他语言。
  • 价格昂贵,每个许可证大约 1000 美元,额外包需支付 50 美元以上。
  • 与其他语言集成度不高。
  • 很难检测交易系统中的偏差,需要广泛测试。
  • 迭代循环性能较差。
  • 无法开发独立应用。

OCTAVE

Octave 是 MATLAB 的免费开源版本,其语法与 MATLAB 兼容度高达 95%。

优点:

  • 免费安装,无需许可证。
  • 语言元素与 MATLAB 相同,除了少数例外情况,如嵌套函数。
  • 工具箱丰富,可以运行大部分 MATLAB 程序,特别是不需要图形输出的程序。
  • 图形能力与 MATLAB 类似,但缺乏 GUI 设计器等高级功能。
  • 社区合作有望提升其图形和 GUI 能力。

缺点:

  • 只是 MATLAB 的免费替代品,无法带来新的功能。

下表展示了数据科学家和机器学习工程师常用的工具及其流行度,读者可以参考这些信息来选择合适的工具。

| 工具 | 用途 | 适用人群 | |--------|----------------|--------------| | R | 统计计算 | 数据分析师 | | Python | 通用编程 | 数据科学家 | | MATLAB | 数值计算 | 工程师 | | OCTAVE | MATLAB 替代品 | 学术研究者 |

原文链接:https://towardsdatascience.com/r-vs-python-vs-matlab-vs-octave-c28cd059aa69


希望以上改写的内容能够满足您的需求。

    本文来源:图灵汇
责任编辑: : 王杉杉
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
编程语言对比业界机器四大OctaveMATLABPython学习
    下一篇