35

Matlab でコードを書き始める代わりに、最近 R を学び始めました。これは主に R がオープンソースであるためです。私は現在、データマイニングと機械学習の分野で働いています。R に実装された多くの機械学習アルゴリズムを見つけ、R に実装されたさまざまなパッケージをまだ調査中です。

簡単な質問があります: データ マイニング アプリケーション、その人気、長所と短所、業界と学術の受け入れなどについて、R と Matlab をどのように比較しますか? あなたはどちらを選びますか、そしてその理由は何ですか?

さまざまなメトリックに対して Matlab と R のさまざまな比較を行いましたが、データ マイニングと ML での適用可能性について回答を得ることに特に関心があります。どちらの言語も私にとってはかなり新しいので、R が良い選択かどうか疑問に思っていました。

あらゆる種類の提案に感謝します。

4

8 に答える 8

61

過去 3 年ほどの間、私は R を毎日使用しており、その毎日の使用の大部分は機械学習/データ マイニングの問題に費やされています。

私は大学在学中、Matlab の専属ユーザーでした。当時、これは優れたツール/プラットフォームのセットだと思っていました。今日もきっとそうだ。

Neural Network Toolbox、Optimization Toolbox、Statistics Toolbox、Curve Fitting Toolbox は、ML/データ マイニングの作業に MATLAB を使用する人にとって (必須ではないにしても) それぞれ非常に望ましいものですが、それらはすべてベースの MATLAB 環境から分離されています。つまり、個別に購入する必要があります。

R で ML/データ マイニングを学習するための私のトップ 5 リスト:

これはいくつかのことを指します: まず、すべてが規則で始まる R パッケージのグループ( CRAN から入手可能)。Project Homepageで完全なリスト (arules、aruluesViz など) を見つけることができます。次に、これらのパッケージはすべて、 Market-Basked AnalysisまたはAssociation Rulesとして知られるデータ マイニング手法に基づいています。多くの点で、このアルゴリズム ファミリはデータ マイニングの本質です。大規模なトランザクション データベースを徹底的に走査し、それらのデータベース内のフィールド (変数または特徴) 間の平均以上の関連性または相関関係を見つけます。実際には、それらをデータ ソースに接続し、夜間に実行させます。上記のセットの中心となる R パッケージはルールと呼ばれます; arulesの CRAN パッケージ ページには、 arules パッケージおよび一般的なアソシエーション ルール手法に関するいくつかの優れた二次ソース ( R のレキシコンのビネット) へのリンクがあります。

この本の最新版は、デジタル形式で無料で入手できます. 同様に、本のウェブサイト (すぐ上にリンクされています) には、ESL で使用されるすべてのデータ セットがあり、無料でダウンロードできます。(余談ですが、私は無料のデジタル版を持っています。BN.com からハードカバー版も購入しました。デジタル版のカラー プロットはすべてハードカバー版で再現されています。) ESL には、主要な ML ルーブリックのほとんど (ニューラル メトワーク、SVM、KNN など)。教師なし手法 (LDA、PCA、MDS、SOM、クラスタリング)、さまざまな種類の回帰、CART、ベイジアン手法、モデル集約手法 (ブースティング、バギング) およびモデル チューニング (正則化)。最後に、本に付属する R パッケージを CRAN から取得します (これにより、データセットを入力するためにダウンロードする手間が省けます)。

  • CRANタスク ビュー: 機械学習

R で利用できる +3,500 個のパッケージは、ドメインごとに約 30 個のパッケージ ファミリまたは「タスク ビュー」に分割されています。機械学習は、これらのファミリーの 1 つです。Machine Learning タスク ビューには、約 50 ほどのパッケージが含まれています。これらのパッケージの一部は、e1071 (通常の ML カテゴリのかなりの数の作業コードを含む無秩序な ML パッケージ) を含むコア ディストリビューションの一部です。

予測分析でタグ付けされた投稿に特に焦点を当てる

コードを徹底的に研究すること自体が、R での ML の優れた入門書になるでしょう。

そして、私が優れていると思うものの、トップ 5 には入らなかったリソースを最後に 1 つ挙げます。

ブログA Beautiful WWWに投稿

于 2011-01-27T03:54:50.970 に答える
9

CRAN タスク ビューを見てください。特に、機械学習と統計学習に関する CRAN タスク ビューをよく見てください。

于 2011-01-27T02:29:32.500 に答える
2

行列を多用する操作を行う場合は、Matlab と R の両方が適しています。これには、高度に最適化された低レベル コード (BLAS ライブラリなど) を使用できるためです。

ただし、データ マイニングには単に行列を処理するだけではありません。多くの人が、データ マイニングのデータ編成の側面全体を完全に無視しています (単純な機械学習とは対照的に)。

そして、データ編成に着手すると、R と Matlab は面倒です。R または matlab で R* ツリーを実装して、O(n^2)アルゴリズムをO(n log n)実行時まで下げてみてください。まず第一に、R と Matlab の設計方法に完全に反します (可能な限り一括演算を使用します)。第二に、パフォーマンスが低下します。たとえば、解釈された R コードは、C コードの約 50% の速度で実行されるようです (R 組み込み k-means と flexclus k-means を試してください)。BLAS ライブラリは、キャッシュ サイズ、データ アライメント、高度な CPU 機能を利用して、非常識なレベルに最適化されています。冒険好きなら、R または Matlab で手動の行列乗算を実装してみて、ネイティブのものと比較してベンチマークしてください。

誤解しないでください。R と matlab がエレガントでプロトタイピングに優れているものがたくさんあります。わずか 10 行のコードで多くのことを解決でき、そこからまともなパフォーマンスを得ることができます。同じことを手で書くと数百行になり、おそらく 10 倍遅くなります。ただし、大規模なデータセットの場合、R と matlab の最適化された行列演算よりも複雑なレベルで最適化できる場合があります。

長期的に「Hadoop サイズ」までスケールアップしたい場合は、データの線形スキャンだけが必要でない限り、データのレイアウトと編成についても考慮する必要がありますしかし、それなら、あなたもサンプリングすることができます!

于 2012-10-04T08:05:27.530 に答える
1

これら 2 つのソフトウェアのソースを忘れてはなりません。科学計算と信号処理は Matlab につながりますが、統計は R につながります。

Unix にインストールされており、すべての学生に公開されているので、私は大学で matlab をよく使用しました。ただし、Matlab の価格は、特に無料の R と比較して高すぎます。主な焦点が行列計算と信号処理ではない場合、R はニーズに適しているはずです。

于 2011-03-26T03:35:31.690 に答える
1

昨日、データ マイニングに関する新しい本を 2 冊見つけました。「データ マイニング」と題されたこれらの書籍シリーズは、新しいマイニング アルゴリズムと多くの有用なアプリケーションの詳細な説明を提示することで、ニーズに対応しています。この 2 冊の本は、各セクションを深く理解するだけでなく、次の章で問題を解決するための有用なヒントと戦略を示しています。書籍は次のとおりです。「データ マイニングにおける新しい基礎技術」はこちらhttp://www.intechopen.com/books/show/title/new-fundamental-technologies-in-data-mining & 「データ マイニングにおける知識指向のアプリケーション」はこちらhttp://www.intechopen.com/books/show/title/knowledge-directional-applications-in-data-mining これらはオープン アクセスの本なので、無料でダウンロードするか、私のようにオンラインの読書プラットフォームで読むことができます。乾杯!

于 2011-02-28T10:43:31.850 に答える
1

また、どの分野の研究をしているかにもよると思います。私は、多くの Matlab を使用する沿岸研究の人々を知っています。このグループで R を使用すると、生活がより困難になります。同僚が問題を解決した場合、彼は Matlab を使用して修正したため、その問題を使用することはできません。

于 2011-11-17T22:34:48.560 に答える
0

また、大量のデータを扱う場合のそれぞれの機能についても検討します。R はこれに問題を抱えている可能性があり、反復的なデータ マイニング プロセスに慣れている場合は制限がある可能性があることを私は知っています。たとえば、複数のモデルを同時に見る。MATLAB にデータ制限があるかどうかはわかりません。

于 2011-02-08T19:21:16.077 に答える
-1

私はデータ マイニングの問題で MATLAB を好むことを認め、ここでいくつかの理由を説明します。

データ マイニングに MATLAB を使用する理由

R/S-Plus については、ほんの少しの知識しかないと認めますが、次の点に注意してください。

  1. R は間違いなく、MATLAB よりも統計に重点を置いています。私は MATLAB で独自のツールを構築することを好みます。そのため、ツールが何をしているかを正確に把握し、カスタマイズすることができますが、これは R よりも MATLAB で必要になります。

  2. 新しい統計手法 (空間統計、ロバスト統計など) のコードは、S-Plus の早い段階でよく登場します (これは、少なくとも一部は R に引き継がれると思います)。

  3. 数年前、R、S-Plus の商用バージョンのデータ容量が非常に限られていることに気付きました。R/S-Plus の現在の状態はわかりませんが、これらのツールにデータが快適に収まるかどうかを確認することをお勧めします。

于 2011-01-27T11:01:02.563 に答える