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技術のダークサイド:犯罪者と人工知能の関係

ブログ    
ブログ    
ブログ    

推薦する

Google、開発者の効率向上を支援するAIコード支援ツール「Duet AI for Developers」をリリース

IT Homeは12月14日、GoogleがAI駆動型コード補完・生成ツール「Duet AI for...

...

3分レビュー! 2021年1月のドローン業界の重要な動向の概要

2020年の最初の月はあっという間に過ぎましたが、ドローン業界の発展は多くの原動力と章を残しました。...

AI は金融業界がランサムウェアに効果的に対抗するのに役立つでしょうか?

[[430265]]ランサムウェアの脅威は目新しいものではありませんが、依然としてニュースの見出し...

人工知能の民主化について

人工知能 (AI) の民主化とは、AI ツール、テクノロジー、知識をより幅広い個人や組織が利用しやす...

元従業員が内部事情を暴露: 10年経っても、なぜGoogleはナレッジグラフを解明できないのか?

[[258183]]この記事はWeChatの公開アカウント「AI Front」(ID: ai-fr...

新しいインテリジェント顔認識温度測定システムソリューション

春節休暇の到来とともに、全国の主要都市の鉄道駅、空港、地下鉄などの公共の場所が、防疫・抑制の重点エリ...

2024年の8つの主要テクノロジートレンド

1. AIと機械学習を採用する人が増える人工知能 (AI) と機械学習 (ML) は単なる流行語では...

...

人工知能の研究ホットスポット:自然言語処理

人工知能(AI)は、新たな科学技術革命と産業変革の重要な原動力として、世界に大きな影響を与え、変化を...

同社はコストバランスに苦戦しており、AI部門で猛烈な採用を行い、他の部門では人員削減を行っている。

業界の専門家は、テクノロジー企業がAIへの投資を優先し、採用を急ぐため、他の分野での人員削減は202...

私の目が支配者です! 80億のパラメータを備えたOtterHDは、清明節のラクダを数えるのに役立ちます。南洋理工大学の中国チームによって作成されました

「清明節の河沿い」には何頭のラクダがいるか知りたいですか? UHD 入力をサポートするこのマルチモー...

コードを書けるAIがオープンソース化! Codex よりも優れた C 言語を書き、12 のプログラミング言語をマスターする

Codex よりも優れた C 言語を記述できる AI コード生成モデルがオープンソース化されました。...