DataRobotが普及しても「データサイエンティスト」が必要な5つの理由。
この記事を開いた”あなた”なら、既にDataRobotはご存知かと思われます。DataRobotとは、『エクセル形式のデータをドラック&ドロップで読み込ませるだけで、自動で機械学習モデルを構築してくれる有料ソフト』です。
下の画像の様にDataRobot起動すると、以下の画面になります。この画面に対して、エクセルで集計したデータなどをドラック&ドロップすれば、自動で機械学習を実施してモデルを作ってくれるんです。
ともすると、「データサイエンティスト何ていらねーじゃん!」っていうツッコミが飛んできそう。ですが、俺はこのツッコミに真っ向から反対するのです。さて、この記事ではそれでもデータサイエンティストが必要な理由を紹介しようと思います。
ちなみに、私自身、会社でDataRobotを使った経験があり、今回ブログの執筆にあたりDataRobot社のブログ(日本記事版)を全て拝見しております。
さて、以下、その理由を語っていこう。
①解析以外の仕事をする必要がある
まぁ~、誰しもが思いつくような表層的な理由ですね。DataRobotは、データの加工・解析しかできません。よって、それ以外の部分は、データサイエンティストにしかできません。例えば、課題の設定だったり、仮設立案だったり、データ収集、モデル評価運用だったりです。
特に、データ収集する際、ラズパイからデータを取得するようにプログラムしたり、ネット上のオープンデータを収集したりと、データサイエンティストが活躍できる場面はある。また、モデル評価のプロセスでも、他部署との調整・合意とり・プレゼンしたりと、活躍の場面はあります。
②モデルの精度を高める
実際にDataRobotを使ってモデルを作ってみると、XGBoost・ランダムフォレストが多い印象がします。
Kaggleなどのデータ解析コンペやった方だったら分かる思いますが、XGBoostよりも精度の高いモデルなんて死ぬほどありますよね!
なので、XGBoost以上の精度高いモデルを作れるならば(多分、大体のデータサイエンティストさんが該当)DataRobot以上の価値を提供できます!
また、XGBoost1つをとって考えても、DataRobotの方で細かなパラメータ調整はやってないようです。詳しくは、以下の資料を参照のこと。
なので、Optuna等のパラメタ最適化ライブラリーをブンブン回してるだけで、DataRobotよりも良い精度のモデルを作れる訳なんです。
③因果推論を行う
DataRobotの出来ないこととして、「データの因果関係を推測」「共変量から発生するバイアスの除去」が挙げられます。これは私が適当に言ってるのではなく、DataRobotの社員がブログで言っているので間違いないです。詳しい内容は、以下のURLを参照のこと(https://blog.datarobot.com/jp/causality_analysis_machine_learning3)
データ上の数値からだけだと、予測モデルは何となく作れますが、因果関係の推測はドメイン知識が必要なんですね!
なので、そこはデータサイエンティストが頭を使って因果グラフの作成・不要なデータの削除・バイアスの除外をやってあげる必要がありそうです。
更に付け加えるなら、RCT・層別抽出などなど、”データ取得のデザイン”から因果推論を行う場合、尚のことデータサイエンティストの力は必要ですよね。
④音声認識・画像認識・NLP
音声認識・画像認識・NLP。こういったタスクは、DataRobotで手を付けていないようです。
ちなみに、DataRobotはテキストデータにも対応しており、単語を集計して頻度順にまとめることはできますが、それ以上のタスクは持ち合わせていないように見受けられます。
よって、データサイエンティストはこの分野でも活躍できます。よかったですね!
⑤最新技術の利用
最後に最新技術。DataRobotも製品であり、最新の機械学習手法がDataRobotに組み込まれるには、時間を要します。よって、最近できた〇〇って手法を利用したいんだよね~ってなった場合、データサイエンティストの力が必要になるでしょう。
はい。ということでDataRobotが普及しても「データサイエンティスト」が必要な5つの理由を紹介しました。これを読んで、データサイエンティストってやっぱり必要だよね~って思っていただければ幸いです。
ちなみに、時系列に対応したバージョンを有料で買えるらしいのだが、DataRobotの時系列解析は、マジで神だと思った。時系列データとカレンダをDataRobotにぶち込んであげるだけで、イベントの発生も考慮した精緻な時系列解析モデルを構築してくれるらしい。