データサイエンス のソフトには、いろいろなタイプがあります。 やりたい事で使うものが変わって来ます。
統計学 、 多変量解析 、 データマイニング については、 大きく分けて、4種類あります。
WordやExcelでは、やりたい加工や変換を、メニューから選びますが、このような使い方をするタイプです。 「統計ソフト」と言われるものは、このタイプが多いです。
商用ソフトには、Minitab、Statworks、JMPがあります。 商用ソフトは、 統計的なデータ解析と、グラフによるデータ解析の行ったり来たりが、やりやすく作られています。 わかりやすい結論を、すばやく出したい時に向いています。 また、 SPC(統計的工程管理) で必須になるツールが手軽に使えるようになっているため、とても便利です。
フリーソフトでは、Weka Explorer、Rコマンダー、 Nattoがあります。
ひとつひとつのデータの処理が、ブロックから選ぶようになっていて、 ブロックを並べて、分析のフロー図を作って行くタイプです。
このタイプは、何度も同じ手順をしたり、途中を少し変えて、違いを見たい時に向いています。
「データマイニングのソフト」と言われるものは、このタイプが多いです。
商用ソフトには、SAS、SPSS、RapidMinerがあります。
フリーソフトでは、Orange、Knime、Weka KnowledgeFlow、R AnalyticFlowがあります。
※1 RapidMinerは、筆者が最初見つけた時は、「入力ファイルがcsvのみ」などの制限をつけることで、フリーソフトとして使えていました。 バージョン7.2あたりで、この制限がなくなった代わりに、「サンプル数は10000まで」という制限ができ、 初めての手法をスモールデータで手軽に試すような使い方しかできなくなりました。 バージョン8.1あたりから、フリーソフトとして使える期間が制限されたようで、 商用ソフトと変わらなくなって来ています。 このサイトには、RapidMinerの使用例がいくつかありますが、古いバージョンの頃に作ったものです。
※2 SPSSは、企業買収を重ねて、2020年の時点ではIBM社のソフトになっています。 ちなみに、筆者は「SPSS AnswerTree」という 決定木 だけができてメニューを選ぶタイプのソフトを、社会人なりたての頃に愛用していました。 このソフトはIBM社のソフトの一部になっているようです。
マウスをあまり使わずに、ひとつひとつのデータの処理を、コマンドで入力するタイプです。 入力する手間があり、コマンドを覚えたり調べたりしないと使えないので、使い勝手が悪いのですが、 このタイプのソフトでしかできない事があります。
R(アール)とPython(パイソン)が有名で、いずれも無償ソフトです。
いずれも、多くの協力者が、様々な手法のパッケージを提供しているため、専門家しか知らないような手法も、手軽に試す事ができます。
RやPythonは、 データサイエンス の分野では、分析ソフトとして知られていますが、C言語やBASICと同じような、プログラミング言語としての一面もあります。 そのため、分析ソフトのエンジンとして使ったり、システムのアルゴリズム(問題の解き方・処理の仕方)のひとつのようにして、 機械学習 の理論を使いたい時には必須になって来ます。
ソフトのタイプとしては一番新しいです。
Shinyが有名です。 ウェブアプリR-EDA1 もこの一種になります。
グラフ統計のソフト は、データサイエンスのソフトの一部になっていることが多いです。 このサイトでは、ExcelやRやPythonのものについて書いています。
ウェブアプリR-EDA1 もこの一種になります。
筆者の場合、データ分析のベースになっているのはExcelです。 これだけでデータ分析が終わる事も、よくあります。
データの保管、生データのチェック、データの加工、統計解析、グラフによる解析、 シミュレーション などなど、いろいろな場面で重宝しています。 VBAでプログラミングもできるので、高速な処理が必要な時以外は、たいていの事ができてしまいます。
異種データの紐付け を データリテラシー を駆使して何とかする時には、一番使いやすいです。 他のソフトは、補助的な使い方をしています。
R、Python、Wekaといったフリーソフトや、これらと同じ目的で使われる有償ソフトがありますが、 これらは、 異種データの紐付け の話で言えば、すでに開拓が進んで来ている領域で使うソフトです。
膨大な数の機能やライブラリーがありますので、これを使いこなすことが、データサイエンスを使いこなすことと思いたくなります。 しかし、今のソフトの状況は、青系の絵の具は大変な種類があるのに、赤系や黄系の絵の具がほとんどないような感じです。
筆者の場合、未開拓地で使うソフトは、主にExcelです。
ソフトの話ばかりになりましたが、そのデータの背景( メタ知識 )は、普通はソフトではわかりません。 知っている人に聞いてみたり、現物を見たり、といった事をしないとどうにもならない事は、よくあります。
「機械学習ガイドブック RとPythonを使いこなす」 櫻井豊 著 オーム社 2019
機械学習について、その手法が出て来た歴史的ことも含めてコンパクトにまとまっています。
Rのプログラムの中に、Pythonを含めたり、その逆の方法についても書かれています。
RからPythonを使う方法は、2017年に、resiculateというライブラリが開発されたことで、かなり簡単になったそうです。
PythonからRを使う方法には、PypeRとRpy2の2つがあり、使い方はPypeRの方が簡単で、Windowsで利用する場合はPypeRの方が簡単。
ただし、簡単とは行っても、行の最初に「r( 」と書いて、Rであることを書かなければいけない点がresiculateに比べると不便。
「AI・データサイエンスのための図解でわかる数学プログラミング」 松田雄馬・露木宏志・千葉彌平 著 ソーテック社 2021
タイトルだけではわかりませんが、この本はPythonによるプログラミングの本です。
また、機械学習のいろいろなモデルの解説書にはなっていません。
数理モデリング
による
シミュレーション
の章もあります。
最適なルート設定や、生物の捕食、集団における個々の人の動きのシミュレーションがあります。
画像認識や、言語処理の章もありますが、全般的に、時間的に変化する現象の扱い方の話が、類書に比べて重視されています。
「Pythonデータサイエンス 可視化、集計、統計分析、機械学習」 杜世橋 著 リックテレコム 2016
回帰分析や、検定など、初歩的な統計とそれを見るためのグラフ作りを、Pythonを使って実行するための本です。
シンプルにまとまっています。
「Pythonによる機械学習入門」 システム計画研究所 編 オーム社 2016
機械学習
をPythonでするための本ですが、手形状の判別とセンサーデータの回帰分析の、2つの実施例が、詳しく書かれています。
時刻は、一対多で紐付けた方が良い事が書かれています。
「AI、IoTを成功に導く データ前処理の極意」 日立産業制御ソリューションズ 著 日経BP社 2018
タイトルは「前処理」ですが、データ分析業務の始めから終わりまでをまとめていて、モデリングを解説している章もあります。
一連の内容は、KNIMEを使って説明されていて、KNIMEの入門書にもなっています。
「Juliaデータサイエンス Juliaを使って自分でゼロから作るデータサイエンス世界の探索」 Anshul Joshi 著 エヌ・ティー・エス 2017
Juliaは、Ruby、C、Lisp、Matlab、R、Python、Perlといった言語の、それぞれの良い所を持つように開発された言語。
PythonやCのライブラリを使うこともできる。
この本は、Juliaを使って、データの前処理、統計学、機械学習、グラフ作成といったデータサイエンスの技を実行するためのマニュアル。
Jupyter Notebookから使えるので、Pythonのユーザーには、簡単に使えそうです。
Cのようにコンパイルできることも特徴なので、Python以上の実行速度が欲しい時には良いかもしれません。
順路 次は データサイエンスの独り歩き