2016.07.12 Tue |
データ分析のツール・言語比較
最近流行りの人工知能、その基盤技術となるデータ分析のツールをざっと比較してみます。
【Excel】
ビジネス層との共通言語
直感的
ピボットテーブルは便利
大きなデータは扱いづらい
GUIなので何をやったか記録が完全には残らない
【R】
拡張性
グラフィクスが豊富(Excelの100倍以上)
日本語でも資料が豊富(今まで注目されず書店にはあまり残ってない)
【Python】
実行速度が速い(SciPy,NumPyの使用により)
機械学習ライブラリScikit-Learnの内容が充実(英語)
Deep Learningでは実際はこれが使われている
画像処理など・・・
【1、Excel】
触れたことがある人が多く、GUIなので、操作もわかりやすいです。
Excel関数をいくつか覚えていらっしゃる方も多いと思います。
なのでExcelでのデータ解析は、初心者に導入しやすいです。
一方で、重回帰分析、主成分分析、クラスター解析などの、データ解析の要である、多変量解析をExcelで行ったことがある方は意外と少ないのではないでしょうか?
デフォルトの設定でMicrosoftのExcelをインストールした場合、データ分析のアドインを後から入れなければいけません。なので、普通にExcelの上のタブをいろいろ試したところで、単なる集計と可視化以上のデータ解析はできないことが注意点です。
ですが、ビジネス層との共通言語であり、ビジネスマンにゼロからRやPythonを教えるのに比べると、本当に簡単なデータ解析についてはExcelで教えてしまった方が早いのも事実。。
Excelのバージョンによっても微妙に仕様が違うので、大勢に対してレクチャーをやるときは、いくつかのバージョンでのやり方を調べてからやりましょう。
【2、R】
基本的にCUI(Character User Interface)、つまりコマンドを書いていく作業が必要になり、初心者にはとっつきにくい反面、ある一定以上のレベルになると、様々な無料の拡張パッケージがあり、天国です。
多変量解析・機械学習は大体1行のコマンドで終わり意外と簡単です。
RになれるとExcelのいい加減さというか、機能のなさ、重たさ、そもそもExcelにデータが入っていないことに対する不満で、Excelで何かやろうという気はなくなります。
特に拡張性の低さ。データ解析をやっている人である一定レベル以上の人は、RかPythonなので、Excelを拡張することへの需要がなく、Excelは拡張性が低いです。
データ解析は必ずしも、Excelの表のようなものだけを扱うわけではなく、テキスト情報や画像情報も扱うのですが、Excelだとそれらに対応できないという弱点があります。RやPythonは、幅広いデータに対して、解析できます。
PythonとRを比較した場合、グラフィクスのバリエーションがRの方がとりわけ優れており、これもRがすぐれている理由の一つです。
また、統計関係で、新しいアルゴリズムが論文で出る際、Rで実装されることが、多いです。
【3、Python】
最近いろんな分野で勢力を増しているPythonですが、データ解析の分野も例外ではないです。
特に重い処理は、C++など低級言語で書かれているSciPy,NumPyなどのライブラリで処理すると、処理速度も大きいです。
最近話題のDeepLearningのフレームワークの大部分がPythonで書かれていることもあり、データ解析・人工知能をやる際に、まず一番初めにPythonから入る人も散見されます。
母国語が英語圏の人は、Pythonから入ればよいと思います。
ただし英語に少し不自由する方は、まだRの優位性がありそうです。
Rは日本語のチュートリアルが豊富なので。ただし最近はPythonでのデータ解析のチュートリアルが日本語に一部訳され始めているため、今からデータ解析を始める場合、Pythonから入るのもありと思います。
おわりに
他にもデータ解析のツールはMatlab, SPSSなど有料ツールもあるのですが、今回は一般の人が低コストで、この分野に入る王道の3つのツールについてご紹介しました。
東京大学大学院 博士課程1年 鈴木瑞人