質問

R多くの図書館向けデータ分析など備、バグ、ARULESなど)で大人気の教科書などJ.Krusche、ベイズデータ分析B.Lantz,"機械学習とした

私は見ているガイドライン5TBのためのデータセットすると考えられる。

私の質問はRに適したデータの量は一般的に見られるビッグデータです。が戦略で採用されるときRはこのサイズのデータセット?

役に立ちましたか?

解決

実際、これがやってくる。一言で言えば、本Rには、ビッグデータ処理のためにHadoopでRを使用するセクションもあります。 Rがすべてメモリで機能しているため、実行する必要があるため、実行する必要があるいくつかの仕事があります。

RとHadoopの成熟したプロジェクトです rhadoop

Rhadoopは、いくつかのサブプロジェクト、rhdfs、rhbase、rmr2、plyrmr、およびQuickCheckに分割されています(ウィキ).

他のヒント

大規模なデータセットにRを使用することの主な問題は、RAMの制約です。すべてのデータをRAMに保持する背後にある理由は、HDDに保存するよりもはるかに速いアクセスとデータの操作を提供することです。あなたがパフォーマンスにヒットすることをいとわないなら、はい、一緒に仕事をすることは非常に実用的です Rの大きなデータセット.

  • RODBCパッケージ:Rから外部DBに接続してデータを取得および処理できます。したがって、データはです 操作 RAMに制限されています。全体的なデータセットははるかに大きくなる可能性があります。
  • FFパッケージでは、メモリマップされたページを使用することにより、RAMデータセットを大きく使用できます。
  • BIGLM:ビッグデータに一般化された線形モデルを構築します。チャンクのメモリにデータをロードします。
  • BigMemory:強力でメモリ効率の高い並列分析と大規模なデータセットのデータマイニングを可能にするRパッケージ。外部ポインターオブジェクトを使用してそれらを参照する大きなオブジェクト(マトリックスなど)をメモリ(RAM上)に保存することを許可します。

ここでいくつかの良い答え。次の3つを追加してディスカッションに参加したいと思います ノート:

  1. 質問が強調しています データの量 参照している間 ビッグデータ 特にそれを考慮して、確かに理解しやすく、有効です 問題 データボリュームの成長の 追い越し 技術能力の指数関数的成長あたり ムーアの法則 (http://en.wikipedia.org/wiki/moore%27s_law).

  2. そうは言っても、ビッグデータの概念の他の側面について覚えておくことが重要です。に基づく ガートナーの定義(強調鉱山-AB): "ビッグデータ は高い 音量, 、 高い 速度, 、および/または高 バラエティ 強化された意思決定、洞察の発見、プロセスの最適化を可能にするために新しい形式の処理を必要とする情報資産。」(通常、「」と呼ばれます。3VSモデル")。私はこれについて言及します。なぜなら、それはデータサイエンティストや他のアナリストに焦点を当てたRパッケージを探して使用することを強制するからです ボリューム以外 ビッグデータの側面(によって有効になります 豊かさ 巨大な Rエコシステム).

  3. 既存の回答は、ビッグデータに関連するいくつかのRパッケージに言及していますが、 包括的なカバレッジ, 、参照することをお勧めします クランタスクビュー 「Rを使用した高性能および並列コンピューティング」 (http://cran.r-project.org/web/views/highformancecomputing.html)、特にセクション 「パラレルコンピューティング:Hadoop」「大規模なメモリとメモリのデータ」.

Rは「ビッグデータ」に最適です!ただし、RはオペレーティングシステムのRAMの量によって制限されている(ある程度単純化されている)ため、ワークフローが必要です。私が取るアプローチは、リレーショナルデータベースと対話することです(を参照 RSQLite SQLite Databseを作成および対話するためのパッケージ)、SQLスタイルのクエリを実行してデータの構造を理解し、計算集中型統計分析のためにデータの特定のサブセットを抽出します。

ただし、これには1つのアプローチがあります。他のデータベース(例えば、monet)と対話したり、メモリの制限が少ないRで分析を実行できるパッケージがあります(例を参照 pbdR).

別の基準を考慮すると、場合によってはPythonを使用することは、ビッグデータのRよりもはるかに優れている可能性があると思います。データサイエンス教育資料とそれが利用可能な優れたデータ分析ライブラリにおけるRの広範な使用を知っていますが、チームに依存するだけです。

私の経験では、すでにプログラミングに精通している人々にとって、Pythonを使用すると、Rのような言語と比較してはるかに柔軟性と生産性が向上します。証拠として、私の大学のデータマイニングコースでは、最高の最終プロジェクトはPythonで書かれましたが、他のプロジェクトはRのリッチデータ分析ライブラリにアクセスできます。つまり、Pythonの特殊なデータ分析ライブラリがない場合でも、Pythonの全体的な生産性(学習資料、ドキュメントなどを考慮して)がRよりも優れている場合があります。また、データサイエンスにおけるPythonの速いペースを説明する良い記事がいくつかあります。 Pythonはrを変位させますPythonの豊富な科学データ構造 それはすぐにRの利用可能なライブラリのギャップを埋めるかもしれません

Rを使用しないもう1つの重要な理由は、現実世界のビッグデータの問題を扱う場合、アカデミックの唯一の問題に反して、データの解析、クリーニング、視覚化、Web廃棄など、他のツールやテクニックが多くの必要性があることです。汎用プログラミング言語を使用して、はるかに簡単です。これが、多くのHadoopコースで使用されているデフォルト言語(Udacity'sを含む理由かもしれません オンラインコース)Pythonです。

編集:

最近、DARPAは300万ドルを投資して、Big Data JobsのPythonのデータ処理と視覚化機能の資金調達を支援しました。これは明らかに、ビッグデータにおけるPythonの将来の兆候です。 (詳細)

Rは多くの分析に最適です。前述のように、MAPR、Rhadoop、RSTUDIOのスケーラブルなバージョンなどのビッグデータに新しい適応があります。

ただし、懸念が図書館である場合は、Sparkに注目してください。 Sparkはビッグデータ用に作成され、Hadoopだけよりもはるかに高速です。機械学習、SQL、ストリーミング、グラフライブラリを大幅に拡大しています。したがって、言語/ツール間をシャッフルすることなく、フレームワーク(複数の言語APIを使用すると、SCALAを好む)内ですべてではないにしても、多くの分析を行うことができます。

他の回答が指摘しているように、RはHadoopおよびその他の分散コンピューティングプラットフォームとともに使用して、「ビッグデータ」レベルに拡大することができます。ただし、Rに具体的に結婚していないが、「Rのような」環境を喜んで使用する場合は、 インカント (Clojureに基づいて)JVM原産であり、Rが持っているHadopとの間に「インピーダンスミスマッチ」を持っていないため、あなたにとってうまく機能する可能性のあるプロジェクトです。つまり、Incanterから、JNIブリッジなどを通過する必要なく、JavaネイティブHadoop / HDFS APIを呼び出すことができます。

私は専門家からはほど遠いですが、私の主題を理解することは、R(統計において素晴らしい)と例えばPython(Rが欠けているもののいくつかで素晴らしい)がお互いを非常によく補完することを教えてくれます(前の投稿で指摘されているように) 。

R. Sparklyrでビッグデータを操作するためのツールが実際に大量にあると思います。 Sparklyrは、Apache SparkのRインターフェイスであり、ローカルおよびリモートクラスターとの接続を可能にし、Dplyrバックエンドを提供します。 Apache Sparkの機械学習ライブラリにも頼ることができます。さらに、RMPIやSnow(ユーザー制御)またはDOMC/FOREACH(システムベース)などのいくつかのパッケージでは、並列処理が可能です。

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top