今日もやっていきます!仕事内容紹介
本日のトピックはモデリングです。
資料を作成している時にモデル作成と書くかモデリングと書くか、いっつも悩みます。
それではモデリングについて話していきましょう。
モデリングはツールを使って時間をかけるな!
モデリングはデータサイエンティストからすると語るところの多いパートだと思います。
それだけ奥が深く、熱意を傾けやすく、気づいたら時間ばかり過ぎています。私もその通りです。
しかし、あえて言わせてもらいましょう。
”モデリングに時間をかけてはいけない。”
なぜなら他に時間をかけなければならないことがたくさんあるからです。
データから仮説立案、目標とする精度、予測結果の活用方法、さらには人材育成…などなど時間がいくらあっても足りないくらいです。
昨今、モデル作成ツールの発展が素晴らしいので、モデル生成からある程度のチューニングくらいであれば自動でやってくれます。モデル作成後の交差検定などの精度評価も自動でやってくれます。
ツールが自動でやってくれている間、人間は暇なので他のことに時間を使うことができます。
一方、Pythonでモデリングを行う場合、その時間はモデル以外何も生み出すことができません。
そして1週間の手間をかけてやっとできるモデル数はせいぜい数個といったところでしょう。
何より悲しいのが、モデル作成を頑張ったところお客様には難しすぎて理解されないし、そもそも精度が出なかった場合にモデル作成者の力不足のせいになってしまう可能性もあります。
PoCにおいて重要なのは精度よりもお客様とのコミュニケーション
超一流のデータサイエンティストであれば、ツールによって自動生成されたモデルを遥かに凌ぐ精度の高いモデルを作ることができると思いますが、PoCやプロジェクト発足して間もないタイミングでは、まずは方全体の向性をきちんと決めることが重要です。
そのため、ツールを使っていかに早く「モデル作成」と「議論」を繰り返せるか?ということを目指す方がお客様とのコミュニケーションも増え、理解力も高まってきます。
どうしてもPythonでモデリングをしたい場合でも、まずは手始めにツールを使ってモデリングを行うことで”どのモデルを使うか?”などのあたりをつけることができ、時間短縮に繋がります。
私がよく使うツールはDataRobotやアマゾンのSageMakerです。
そして私のような無能データサイエンティストが合わせてよく使う手法なのですが、お客さんにモデリングの大変さを説明し、時間がかかることをあらかじめ伝えておくことでしっかり時間的な余裕を持つことができます。束の間の休息や、溜まっている資料作成にあてましょう!
客に時間がかかると嘘をついて余裕を持とう!
時にはモデル改善が難しい場合も…
ただし、ツールを使ったとしても上手くモデル作成ができるとは限りません。
突っ込むデータがゴミであれば、出来上がるモデルもまたゴミなのです。
データ数が少なすぎてもそうなります。
そのような場合、目標とする精度に届くまでデータを追加したり、モデリングを繰り返すことになるのですが、これがまた泥臭い作業で精度を上げなきゃいけないプレッシャーもあり大変なのです。
データ収集については過去のブログでも説明しています。
このような事態をできるだけ早く察知するためにもツールを使ったモデリングが有効となります。
早めに、”これ以上精度改善が見込めません”とお客様に伝えした方が自分も楽になりますし、後になればななるほどお客さんの落胆は大きくなってしまうでしょう。
ハッキリ言うと精度向上が見込めないのは、データを追加で用意できないお客様が悪いのです。
お客様のためにも、下手に努力しようとせず開き直ってしっかりと伝えることが重要となります。
”今のデータではこれが限界です”と言えば大体の客は諦めるぞ!
以上、モデリングのお話でした。
コメント