ReadWrite Japan

データ・サイエンスのプログラミング言語はRからPythonに置き換わる

データ・サイエンスのプログラミング言語はRからPythonに置き換わる

2013.11.29 14:34 | Matt Asay | t.ueda

データ・サイエンスの博士クラスにはまだまだRが人気のようだが、一般層にはPythonが浸透しつつあるようだ。

これまでデータ・サイエンティストの選ぶプログラミング言語はRだったのだが、急激にPythonに置き換わろうとしている。

このシフトの理由はいくつかあるようだが、第一にはPython自体が汎用的で比較的学びやすい言語であるのに対し、Rが習得するにあたってやや複雑であることがあげられるだろう。

データにますます依存しつつある現代社会とデータに飢えたサイエンティストにとっては「簡単さ」こそが鍵となるのだ。

Rは実際にはプログラミング言語ではない

Rを覚えることに苦労する人が多い理由として考えられるのは、Rが実際にはプログラミング言語ではないからかもしれない。R専門家のジョン・クックいわく、Rとは「統計のためのインタラクティブな環境」であり、厳密にはプログラミング言語ではないのだ。彼はさらに「Rをプログラミング言語だと考るのではなく、Rがプログラミング言語を内包しているのだと考えた方が良いと分かった」と述べている。

つまりRは伝統的なプログラミング言語とは本質的に異なっており、この点が技術者にとってRのニュアンスを理解しにくいものにしているのだ。

RはSASやSPSSなどの統計ツールに精通している技術者であっても習得が難しいとボブ・ミュンヘンは強調している。Rにはマクロやマトリックス言語などが組み込まれているので、SPSSなどのツールと違ってそれらの言語を別途マスターしなくて済む。その点は確かに楽だ。しかしRがStataのように動作するものだと期待すると失望させられることになる。

Rは特殊なのだ。だから難しい。

Pythonはデーター・サイエンスの敷居を下げてくれる

一方のPythonはとっつきやすい。既に幅広い層の開発者達があらゆるアプリケーションでPythonを使用している。Rはほぼデータ分析にしか使われていないが、Pythonにはウェブサイトのスクリプティングなどをはじめとして様々なアプリケーションでの使い方があるのだ。

「多くの企業がデータの活用に頭を悩ませ、さらに有能なデータ•サイエンティストを探すのにも苦戦している。しかし、彼らが探し求めているデータ•サイエンティストは意外にも身近にいるかもしれない。社内にPythonを扱える人間はいないだろうか。データから正しい答えを見つけ出すことの重要性を考えれば、会社の膨大なデータと技術を既に理解している自社の人材を教育するほうが、外部から採用した人員を教育するよりも効率的な事が多い」とガートナー社のスベットラーナ・シクラーは指摘する。

Pythonがすべてを支配する

Pythonを採用する最大のメリットは、精通した技術者を探しやすいからではない。Pythonがデータ・サイエンスだけでなく複数のアプリケーションに使える点だ。テキサス大学オースティン校の研究者タル・ヤルコニは以下のように説明する。

一つの言語で開発と解析を行えることのメリットは大きい。同じ言語ですべてを行えるなら、例えばRubyではblockの代わりにcomprehension(内包表記)を使うだとか、Pythonでは配列のサイズを得るのにarray.lengthではなくlen(array)を呼ぶ必要があるだとか、毎回頭を切り替えながら考える必要がなくなるからだ。また一つのプロジェクト内で複数の言語を使用してしまうと、それらを繋ぐインターフェースに苦労することが少なくない。Pythonでパースしテキストデータを使える状態に変換したにもかかわらず、RやMATLABで使うためにはまた違うフォーマットに変換しなければならないことほど面倒な事はないだろう。一つのCSVやJSONファイルをPythonから書き出してRで読み込むことはそれほど時間がかからないので、一度だけならこの程度のことは些細なことかもしれない。ただ小さなことも積み重なるとやっかいになってくる。同一の言語で書くことができれば、こういった問題は一瞬で解決できるのだ。

これは本当に重要な事だ。特定の目的を上手く解決するニッチな技術が賞賛され評価されることもあるが、結局人気を得るのは多くの問題を解決できる多角的なツールなのだ。AppNexus社で分析と最適化を担当しているディレクター、デイビッド・ヒムロッドは「今我々AppNexusが直面している最大の挑戦は、いかにして多様な従業員を同じ技術ベースで働かせるかだ。Pythonは経歴の違った従業員達、特にエンジニアや数学者、アナリスト達が簡単に理解できる言語であり、自社で新しい機能を開発するのに役立つだろう。」と語っている

Pythonの普及で増える「データ・サイエンティスト」たち

Pythonはデータ分析においてはまだRに劣っているが、その差は急速に縮まってきている。忘れてはいけないのは、Pythonの成功の鍵はRやその他の分析ツールよりさらに難解な問題を解決できるという性能面ではない。むしろアプローチのしやすさと汎用性の高さなのだ。今やデータ・サイエンスは一部の研究者や愛好家だけの領域から抜け出そうとしており、それは先月ニューヨークで開かれたオライリーのStrataカンファレンスを見ても明らかだった。これまで博士号を持つ学者しかいなかったこの会議に、ビジネス・アナリストやその他の面々が見受けられるようになっていたのだ。彼らはビッグ・データの謎を解くべく各企業から送られてきているのである。

彼らのような新しい、そして今後その数を増やしていくと思われる「データ・サイエンティスト」達は、RよりもPythonを使うことになるだろう。比較的簡単に扱えるし、他のプロジェクトでも既に使われているかもしれないからだ。これはどのマーケットにも言えることだが、パワフルだが複雑なツールよりも、既に知られているものや覚えやすいツールが結局普及していくことになるのである。

画像提供:Shutterstock

この記事を読んだあなたにおすすめの記事

この記事を読んだあなたに
おすすめの記事