近ごろIT業界や、その他の様々な分野で「データサイエンス」という言葉を耳にすることが増えてきています。さて、そもそもこの「データサイエンス」とは、一体どのようなものなのでしょう?

近年は様々な事象、例えば天気の移り変わりや交通情報、あるいはコンビニのショッピング情報などを、いわゆるビッグデータと呼ばれる大量の「データ」の形で取得できるようになっています。そのデータを活用し、有効な施策を検討するための情報や傾向を得る方法を考えるというニーズが増えてきており、この分野の研究を「データサイエンス」、そしてその作業を行う人を「データサイエンティスト」と呼んでいます。

昨今では様々に得られるビッグデータが、種類も量も爆発的に増加しており、それに伴い「データサイエンティスト」のニーズもかなり増えています。現在、世界的な規模を誇るオンライン学習プラットフォームUdemy(ユーデミー)では『実践 Python データサイエンス』という学習講座が開設されていますが、その受講者数はUdemy内でも売れ筋講座の上位に入っています。このジャンルが、現在いかに熱い注目を浴びているかを、お分かりいただけるでしょう。

“データサイエンス”とは?『実践 Python データサイエンス』講師・辻真吾が解説! tec160715_udemy_5

ちなみにPython(パイソン)とは、現在人気の汎用プログラミング言語の一つ。簡単にプログラムが作れることや、データの可視性が高いことなどで注目を集めている言語であり、特にIT系の「就職に有利なプログラム言語」「年収が多いプログラム言語」などのランキングでは常に上位に位置している、プログラム言語の中の大きなトレンドの一つであります。

一方、実際「データサイエンス」とは、現場でどのようにその研究が進められているのか? 今回は講座『実践 Python データサイエンス』にて講師を担当されている、東京大学 先端科学技術研究センターの辻真吾博士に、その現状をPythonという言語との関わりや、「データサイエンティスト」の育成への思いなどと共に、お話をうかがいました。

Interview:辻真吾

“データサイエンス”とは?『実践 Python データサイエンス』講師・辻真吾が解説! tec160715_udemy_2

20年前の「データマイニング」より、少し違うものとして発展。

ーーデータサイエンスという研究分野についておうかがいできればと思います。「サイエンス」という言葉に、少し敷居の高さを感じますが……。

そうですよね(笑)。あまり馴染みが無いというか……。私もその言葉を聞いたのはここ数年なんですが、正直なところ私はこの言葉には違和感を持っていました。「サイエンスじゃないだろう?」って(笑)。「サイエンス」って、すなわち「科学」ですから、物理なり生物なりの分野として実験、その結果から仮説を立て、またそれを証明するために実験をして……ということを繰り返しながら、普遍的な理論を導き出すものだと思うんです。

ーーそういうものとは違うことをやられているのでしょうか?

そう、実はそれほど科学っぽくない感じ。そこにデータがあるのを解析しているだけですからね。だから、自分としてはちょっと疑問なネーミングでした。

ーー確かに、ネーミングの解釈って難しいですよね。

ただ一方で、昔から「データマイニング」という言葉があるんですけど……「データを掘る」、つまり「データを掘って、そこから何かを導き出す」という意味で。私が大学時代のころからあった言葉ですから、20年以上も前のことでしょうか?私もそのころからそんな分野に対して「面白そうだな」とも思っていましたが。これが時代とともに形を変えてきたものか、という考えもあります。

ーーそれは「データサイエンス」という言葉に密接に関係がありそうな分野ですね。

ただし、現在は20年前より扱うデータの量がハンパじゃない大きさのものになりつつありますし、その意味で「データマイニング」とは似ているかもしれないけど、少し違う分野になってきていると思います。例えばみなさんはスマホって持っていますよね?これで表示できるGoogleマップに「渋滞情報」って表示されますが、これはスマホの位置情報から、みなさんがどれくらいの時間で、この距離を移動できたかという情報が集約されるからなんですよね。この情報量というのがやはり莫大で、こんなことができるとは20年前には考えられませんでした。

ーーなるほど。辻さんは特にPythonという言語と、この言語での解析に非常に精通されているということですが、特にPythonでの解析は、やはり有用であると考えられているのでしょうか?

まさしく。Pythonってとても簡単にプログラムが書ける上に、データ解析を行ったり、グラフなどで可視化したりするのに、非常に使いやすい言語なんです。さらにPythonを核にして、データを解析するいろんなライブラリが充実していますし、そのライブラリ類も、とても簡単に応用できます。

“データサイエンス”とは?『実践 Python データサイエンス』講師・辻真吾が解説! tec160715_udemy_6

ーー様々な仮説を立てて、データから立証を行うという意味では「簡単にプログラムが書ける」というのは大きなポイントにも見えますね。

そうなんです! 現場では立証のために、細かいコードを書いては試し、みたいなことを繰り返し行いますが、例えば古くからあるC言語やJavaみたいな言語で行おうとすると、書いては一回コンパイルして、エラーが出たらその個所をチェックして……と、動かすまでとても手間がかかるけど、そういう部分でもPythonは非常に向いていると思います。

専門家と、データ解析ができる人が一緒に何かやる、という形がうまく進めていけるものではないかと。

ーー実際に「データサイエンティスト」という仕事としては、どのような仕事をやられるのか、具体的な例などをお話しいただければと思います。例えば辻さんは現在、この分野でどのような活動をされているのでしょうか?

現在は研究室の一室に所属していますが、ゲノムとか医療系のデータを扱うことが多いですね。

ーー医療ですか? 難しそうな分野ですね。解析などの作業を行われた分かりやすい例などはありますか?

そうですね……例えばガンの題材を多く取り扱うことが多いですが、同じガンの症状で手術を行った患者さんでも、ある人は手術した後の予後がいい(長生きする)のに、ある人はだいぶ早く亡くなっちゃった、という事象に対して、いろんな傾向があるのでは? という仮説がありましたね。実際に診察をたくさん経験している医師の感覚で、診察しているとどうもそういう傾向があるように思われたそうなんです。そこで、遺伝子の関わりに着目し分析を行ったことがあります。最近はガン細胞をすりつぶして、細胞の中でどの遺伝子が発ガンしているのかを結構簡単に調べられるようになっていますから。

ーーなるほど。そのデータの規模とは、どのくらいのものなのでしょうか?

いや、実はまだ諸説あって、正確な遺伝子自体の数は分かっていないんですが……現在2万数千個くらいの遺伝子があるといわれています。

ーー2万数千個!? 気が遠くなりそうな数ですね。

そう。それに例えば、発ガンしているかいないかというところだけで、本当は定量的な数値が出るんですが、そのパターンだけでも2の2万乗のパターンがありますし。だからその2の2万乗にもなる種類の中から、その傾向を導き出す、具体的にはそういうことを考えています。

ーー頭の中で想像がつかないというか……とてつもない数ですね。ちなみにこの分野に携わるにあたって、性格的な向き不向きはあるのでしょうか?

う〜ん、どうでしょう?(笑) まあ、確かにありそうですね。もちろんアプリケーションを作る上でイメージすることは必要だし、そんな頭の中のイメージをコードとして描くのがプログラマ。データはただの数の列なので、そこからいろんなことを想像できる能力は必要かな、という気はします。

ーーでは逆に、単に一般的なプログラマの仕事と同じ、と考えると難しいかもしれませんね。変な話、期間を度外視してでも、真の答えを導き出さなければいけないですし。

確かに。単に莫大なデータがあって、そこから「こんなことを知りたい」とか、「この関係がどうなっているのか見てみたい」と、漠然としたオーダーを受けた後で、やっていくうちに「これとこれの関係ってどうなっているのか?」とか、なんなら調べつくしてみたい、くらいに思いますし。でもその組み合わせってとんでもない数なので、本気でやろうとすると……。

ーーそう考えていくと、そもそも時間的にも、工数的な面でも見積もりが難しい分野ではありますね? 一方で経験を積んでいくと、当たりの付けやすさも出てくるのでしょうか?

そうですね、なかなか自動化もできないですし。その意味で、それぞれの分野の知識が必要になると思うんです。私でいえば、医療やガンの研究とか。その立場で当たりを付けるというのはできる。だからそういう業務のことが分かっているそれぞれの分野の専門家と、データ解析ができる人が一緒に何かやるという形で行うと、うまく進めていけるものではないかと思いますね。

次ページ:Udemyは、今までの教育スタイルより、さらに新しく一歩進んだ形というイメージがある。