4つの主要な機械学習プログラミング言語の比較: R、Python、MATLAB、Octave

4つの主要な機械学習プログラミング言語の比較: R、Python、MATLAB、Octave

この記事の著者は、R、Python、MATLAB、OCTAVE の 4 つの機械学習プログラミング言語 (ツール) を比較する機械学習エンジニアです。著者はこれらの言語(ツール)の長所と短所を列挙し、それらを学習し始めたい人にとって役立つことを願っています。

画像出典: Pixabay.com

GitHub アドレス: https://github.com/mjbahmani/10-steps-to-become-a-data-scientist

R

R は、統計計算とグラフィックスのための言語と環境です。これは、ベル研究所のジョン・チェンバースと彼の同僚によって開発された S 言語と環境に似た GNU プロジェクトです。 R は S の異なる実装として見ることができます。両者の間にはいくつか重要な違いがありますが、S で書かれたコードの多くは変更せずに R でも実行できます。

アドバンテージ:

  • エンドツーエンドの開発から実行まで(一部のブローカーパッケージでは実行が可能、IB)
  • 開発スピードが速い(Python より 60% 少ないコード)
  • 多くのオープンソースパッケージ
  • 成熟した定量取引パッケージ (quantstrat、quantmod、performanceanalyitics、xts)
  • コミュニティ最大
  • rcppを使用してRとC++/Cを統合する

欠点:

  • Python よりも遅い。特に反復ループや非ベクトル化関数では遅い。
  • Matlabよりも悪く、インタラクティブなチャートを実装するのが難しい
  • スタンドアロンアプリケーションを作成する機能が限られている

パイソン

Python は、Guido van Rossum によって作成され、1991 年に初めてリリースされた、汎用プログラミング用の解釈型の高水準プログラミング言語です。 Python はコードを読みやすくするために設計されており、多くのスペースを使用します。その構造により、大規模プログラミングと小規模プログラミングの両方で明確さが実現します。

アドバンテージ:

  • エンドツーエンドの開発から実行まで(一部のブローカーパッケージでは実行が可能、IB)
  • オープンソース パッケージ (Pandas、Numpy、scipy)
  • 取引パッケージ (zipline、pybacktest、pyalgotrade)
  • 一般的なプログラミングとアプリケーション開発に最適
  • R、C++、その他の言語を結びつける「接着剤」言語
  • 全体的に最も高速、特に反復ループで高速

欠点:

  • 未熟なパッケージがいくつかあり、特にトランザクションパッケージが未熟である。
  • 一部のパッケージは他のパッケージと互換性がないか、重複しています
  • 金融分野のコミュニティはRよりも小さい
  • 同じ操作にはRやMatlabよりも多くのコードが必要です
  • サイレントエラーの追跡には長い時間がかかることがあります(ビジュアルデバッガー/IDEを使用しても)

マテリアライズド

MATLAB (matrix laboratory) は、マルチパラダイムの数値計算環境です。 MathWorks によって開発された専用プログラミング言語である MATLAB では、行列演算、関数とデータのプロット、アルゴリズムの実装、ユーザー インターフェイスの作成、他の言語 (C、C++、C#、Java、Fortran、Python を含む) で記述されたプログラムとの対話が可能です。

MATLAB はもともと数値計算用に設計されましたが、オプションのツールボックスでは MuPAD シンボリック エンジンが使用され、シンボリック計算機能も備わっています。追加パッケージ Simulink は、動的システムおよび組み込みシステムのマルチドメイン シミュレーションとモデルベース設計用のダイアグラムを追加します。

アドバンテージ:

  • 最速の数学およびコンピューティング プラットフォーム、特にベクトル化された演算/線形行列代数。
  • 数学と取引のあらゆる分野に対応する商用グレードのソフトウェア。
  • スクリプトは短いですが、すべてのパッケージと高度に統合されています。
  • グラフとインタラクティブチャートによる最高の視覚化
  • 十分にテストされ、サポートされています。
  • マルチスレッドサポートとガベージコレクションの管理が容易
  • 最高のデバッガー

欠点:

  • 実行できないため、別の言語に変換する必要があります。
  • 高価: ライセンスごとに約 1,000 ドル、追加パッケージごとに 50 ドル以上かかります。
  • 他の言語とうまく統合されません。
  • 取引システム(数学的および工学的シミュレーション用に構築されている)のバイアスを検出することは難しいため、広範囲にわたるテストが必要になる場合があります。
  • 反復ループのパフォーマンスが悪い。
  • 別途アプリケーションを開発することはできません。

オクターブ

Octave は、商用言語 MATLAB の GNU バージョンと見ることができます。これは、構文が MATLAB と約 95% 互換性のあるスクリプト マトリックス言語です。 Octave はエンジニアによって設計されているため、エンジニアがよく使用するプログラムがプリインストールされており、その多くは MATLAB 言語と同じ時系列解析プログラム、統計プログラム、ファイルコマンド、描画コマンドです。

アドバンテージ:

  • まず、現在、堅牢な Octave コンパイラは提供されておらず、ソフトウェアは無料でインストールできるため、堅牢な Octave コンパイラは必要ありません。
  • Octave と Matlab は、ネストされた関数などのいくつかの例外を除いて、同じ言語要素を共有します。 Octave はまだ活発に開発中であり、Matlab 構文からの逸脱はバグ、または少なくとも解決すべき問題と見なされます。
  • Octave には多くのツールボックスが用意されており、プログラムがグラフィカル出力を必要としない限り、大きな変更を加えずに Matlab とほぼ同じ方法で実行できます。
  • グラフィックス機能は Matlab の利点です。 Matlab の最新バージョンには、多くの優れた視覚化機能を備えた GUI デザイナーが含まれています。
  • Octave はグラフィック パッケージとして GNU Plot または JHandles を使用しますが、JHandles は Matlab のグラフィック パッケージに近いものです。ただし、Octave には GUI デザイナーのようなコンポーネントがなく、視覚化メカニズムは非常に限られており、Matlab と互換性がありません。
  • IDE でも状況は同様です。Octave には QTOctave プロジェクトがありますが、まだ初期段階です。
  • Octave コミュニティでのコラボレーションにより、ソフトウェアはより優れた互換性のあるプロット機能と GUI 機能をすぐに提供できるようになるでしょう。

欠点:

これは単なる MATLAB の無料オープン ソース バージョンであり、ユーザーに新しいものを提供することはできません。

次の表は、データ サイエンティストや機械学習エンジニアがよく使用するツールの一覧です。読者はこれらのツールの人気度を確認できます。

オリジナルリンク:

https://towardsdatascience.com/r-vs-python-vs-matlab-vs-octave-c28cd059aa69

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  世界で最も美しいソートアルゴリズム!

>>:  AI技術のダークサイド:犯罪者と人工知能の関係

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

人工知能は「新たな生産要素」である

[[186158]]何人かの経済学者に話を聞いてみれば、彼らはほぼ間違いなく、生産性の伸びの弱さが現...

ソフトウェア開発に AI とアジャイル管理を導入するための 9 つのヒント

[51CTO.com クイック翻訳] ご存知のとおり、人工知能 (AI) は 1956 年の誕生以来...

ついに誰かが5G+AIをわかりやすく説明してくれた

[[378431]] 01 5Gのコンセプト5Gの正式名称は第5世代移動通信技術です。これは最新世代...

Java クラシックアルゴリズム: カクテルソート

ソートアルゴリズムの中では、バブルソートが古典的です。カクテル ソートは、シェーカー ソートとも呼ば...

初心者にも優しい!楽しくて簡単に始められる AI プロジェクト 10 選 (Python ソース コード付き)

ビッグデータダイジェスト制作出典: piprogramming編纂者:清寧人工知能は私たちの生活の一...

自動運転にはバブルが必要

業界に「金儲けの見込み」があれば、必然的に「混乱」が起こります。 10年前はスマートフォンでしたが、...

...

AI+クラウドランディングBeifei Technology、Amazon Pollyの助けを借りて教育モードの変化を促進

[51CTO.comより引用] 時代のトレンドである最先端技術として、人工知能はニュースという形で人...

データセキュリティの向上と人工知能の信頼性の向上

JD Discovery Research InstituteのTao Dacheng所長はかつて、...

Nvidia、世界最速のAIスーパーコンピュータがイタリアにやってくると発表

エヌビディアは木曜日、同社の高速コンピューティングプラットフォームを使用して、世界最速のAIスーパー...

海外メディア:人工知能はすでに自身のミスを警告できる

[[354534]]海外メディアは、人工知能は急速に発展しており、この分野における最新の技術的成果が...

108 言語をサポートする Google 翻訳は、AI をどのように活用して翻訳の品質を向上させているのでしょうか?

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

2020 年に爆発的に増加する 9 つの AI マーケティング トレンド

マーケティングに AI を使用すると、代理店の専門家の作業がさまざまな点で楽になります。消費者に合わ...