データサイエンス全般

データサイエンスのツール

データサイエンスのツールとは

「データサイエンスのツール」といった場合、大きくはデータ管理に関するツール、データ分析に関するツール、そしてアプリケーション開発に関するツールに分けることができます[1]ここではツールという言葉を、ソフトウェアおよび言語という意味で用いています。統計解析や機械学習の手法を、ツールと呼ぶ場合もあります。

データ管理に関するツールとしては、Oracle Database、Microsoft SQL Serverなどのデータベース管理システム(DBMS)および「データベース言語」の代名詞であるSQL言語に加えて、Apache HadoopやApache Sparkといった分散処理フレームワークなどがあります。分業の進んだ組織において、これらを主に扱うのはデータエンジニアやデータベースエンジニアと呼ばれる職業です。

データ分析に関するツールとしては、RやPythonといったプログラミング言語に加えて、機械学習のライブラリであるscikit-learnや、ディープラーニングのフレームワークであるTensorFlow/KerasあるいはPyTorchなどがあります。分業の進んだ組織において、これらを主に扱うのはデータサイエンティストやデータアナリスト、あるいは機械学習エンジニアと呼ばれる職業です。

アプリケーション開発に関するツールとしては、HTML/CSS、JavaScript、PHPあるいはVisual Basic(Visual Basic .NET)、C#といったプログラミング言語が該当します。Webアプリを作るのか、Windowsアプリを作るのかにもよって、得意とする言語は変わってきます。分業の進んだ組織において、これらを主に扱うのはアプリケーションエンジニアやフロントエンドエンジニアと呼ばれる職業です。

項目 データ管理 データ分析 アプリ開発
代表的なツール Oracle Database
SQL Server
MySQL
PostgreSQL
SQL言語
Apache Hadoop
Apache Spark
R
Python
Scala
Julia
scikit-learn
TensorFlow/Keras
PyTorch
HTML/CSS
JavaScript
PHP
Visual Basic
C#
C/C++
Java

データ分析に関するツールと、アプリケーション開発に関するツールは単純にカテゴライズできない部分もあります。例えばPythonをアプリケーション開発に、あるいは逆にC/C++をデータ分析に用いることができないわけではありません。

RとPython

データ分析に用いられる代表的なプログラミング言語として、RPythonがあります。RとPythonの比較や、RとPythonのどちらを学ぶべきかについては、次の記事をご参照ください。

RとPython
RとPythonの比較 データ分析のツールとして代表的な存在である、RとPythonを比較します。どちらも、無償のオープンソースプログラミング言語である点は共通しています。 Rが統計解析用のプログラミング言語としてはじめから開発...

有償ソフトウェア1(SAS/SPSS/MATLAB)

データ分析に用いることのできる有償ソフトウェアは数多存在します。とりわけ歴史があり、知名度の高いものとしてSAS、SPSS、MATLABがあります。

RやPythonにはないこれらに共通した特徴として、基本的な作業をマウスのクリックやドラッグといったGUI操作で行うことができるという点にあります。またここにあげたものはどれも独自の言語を持っており、標準機能にないものを追加したり、複数の処理を纏めて自動化するといったことが可能です。

どれも統計解析の機能からスタートし、機械学習(特に予測モデリング)の機能を追加する形で進化してきました。

SASの最新バージョンは、SAS Viya(ヴァイヤ)です。SAS Viyaは、クラウドネイティブな分析プラットフォームです。SAS製品群の中で有名なものとして、SAS Visual Data Mining and Machine Learning(通称VDMML)があります。

SPSS製品群の中で有名なものとして、SPSS ModelerとSPSS Statisticsがあります。SPSS Modelerはデータマイニングや機械学習、SPSS Statisticsは統計解析を主眼としたソフトウェアです。

SAS Visual Data Mining and Machine LearningおよびSPSS Modelerは、データサイエンスにおける一連のプロセス、つまりデータの取得からレポーティングまたはデプロイに至るまでを、視覚化されたパイプラインとして記録することが可能です。

404 NOT FOUND | みんなのデータサイエンス

MATLABは制御工学や信号処理といった分野で特に強みがあります。電気電子系出身の方には、もっとも馴染みのあるソフトウェアではないでしょうか。

項目 SAS SPSS MATLAB
開発元 SAS IBM MathWorks
初版リリース 1976年 1968年 1984年
独自言語 SAS SPSS MATLAB

有償ソフトウェア2(JMP/Minitab/Stata)

歴史のある統計解析ソフトウェアで、機械学習(特に予測モデリング)の機能を追加する形で進化してきたという点で、SAS、SPSS、MATLABと共通した特徴を持つものの、より特定の分野や業界にフォーカスしたパッケージ性の強いソフトウェアとして、JMP、Minitab、Stataがあります。

SAS、SPSS、MATLABと比べると、レポーティングを目的としたようなアドホックな(その場限りの)分析に使われることが多く、大規模なデータの取り扱いや、システムとの連携はそれほど得意ではありません。

JMPは「ジェイ・エム・ピー」ではなく、「ジャンプ」と呼びます。

JMPとMinitabはどちらも製造業を中心とした品質管理や信頼性、また医療統計に強みがあるという点で、完全な競合関係にあります。

Stataは計量経済、社会統計、および医療統計に強みがあります。医療統計の分野では、JMP、Minitabと競合しています。

項目 JMP Minitab Stata
開発元 SAS Minitab StataCorp
初版リリース 1989年 1972年 1985年
得意分野 品質管理
信頼性
医療統計
品質管理
信頼性
医療統計
計量経済
社会統計
医療統計

有償ソフトウェア3(RapidMiner/KNIME Server)

RapidMinerおよびKNIMEは、プロセスフローをドラッグ&ドロップの操作で組み立てることのできる、パイプラインと呼ばれるGUIを持っているのが特徴です。[2]SAS Visual Data Mining and Machine LearningやSPSS … Continue reading

RapidMinerは有償のソフトウェアですが、10,000行のデータまで無料で使用することのできるRapidMiner Free版というものが存在します。

KNIMEは「ナイム」と呼びます。

KNIME(KNIME Analytics Platform)自体は、無償のオープンソースソフトウェアです。プロジェクト管理やAutoMLなどの機能を強化した、有償のKNIME Serverというパッケージが存在します。

これらは機械学習の機能に特化しているため、UIはシンプルでわかりやすいという特徴があります。

一方で、これらは統計解析の機能をおまけ程度にしか持たない(いわゆる「統計解析ソフト」ではない)ため、データサイエンスのプロジェクトすべてカバーできるわけではないという点には、注意が必要です。

項目 RapidMiner KNIME
開発元 RapidMiner KNIME
初版リリース 2006年 2006年

RapidMinerの本社はアメリカのボストンにありますが、創業はドイツのドルトムントで、現在も同地に拠点を置いています。

KNIMEの本社はスイスのチューリッヒにありますが、最初に開発の拠点ができたのはドイツのコンスタンツ大学であり、現在もコンスタンツ市に拠点を置いています。KNIMEの”KN”は、コンスタンツ市の都市コードに由来しています。

RapidMinerとKNIMEはソフトウェアのコンセプトがよく似ているだけでなく、初版リリース年も同じで、発祥の地もドイツという共通点があります。

有償ソフトウェア4(DataRobot/H2O Driverless AI)

2015年以降に初版がリリースされ、高い注目を集めている有償ソフトウェアとして、DataRobot、H2O Driverless AIがあります。

DataRobotは、データ分析の世界的なコンペティションであるKaggleのトップランカー(Kaggle Grandmaster)が集まって設立された会社として有名です。H2O Driverless AIの開発にもやはり、Kaggle Grandmasterが携わっています。

これらは、究極的にはボタンひとつで機械学習のタスクを完了させるようなAutoML[3]MLはMachine Learning(機械学習)の略。AutoMLは直訳すると、「自動的な機械学習(自動化された機械学習)」。と呼ばれる世界で、いかに精度を高めるか、手数を減らすかを競っているように感じられます。DataRobotの巨大な「開始(Start)ボタン」は、それを象徴しています。しかしプロセスやアウトプットを正しく理解した上で、よりよい意志決定を行うには、やはりある程度機械学習の知識は必要不可欠です。

これらは機械学習の機能に特化しているという点で、RapidMiner、KNIMEと同じ特徴、および注意点を持ちます。

項目 DataRobot H2O Driverless AI
開発元 DataRobot H2O.ai
初版リリース 2015年 2017年

脚注

脚注
1 ここではツールという言葉を、ソフトウェアおよび言語という意味で用いています。統計解析や機械学習の手法を、ツールと呼ぶ場合もあります。
2 SAS Visual Data Mining and Machine LearningやSPSS Modelerのように、パイプラインを採用するソフトウェアは増えてきており、RapidMinerとKNIMEの専売特許というわけではなくなっています。
3 MLはMachine Learning(機械学習)の略。AutoMLは直訳すると、「自動的な機械学習(自動化された機械学習)」。
タイトルとURLをコピーしました