Kaggleといえば、性能の高い機械学習モデルの作成を競い合うサイト、というイメージが強かったと思います。今のKaggleにおいてもコンペティションはもちろんメインサービスの一つです。
しかし、機械学習モデルの性能は、実際のビジネスにおける課題解決にそれほど直接は結びつかない、という経験をお持ちのかたも多いのではないかと思います。
もちろん、そのことをKaggleも分かっていて、それ用の機能があります。
- Kaggleはデータ分析の練習用データをサイト上で公開
- ユーザは、そのデータに対して行うデータ分析の「タスクを定義」できる
- ユーザは、各タスクに対するデータ分析をJupyterNotebookの形で投稿できる
では、具体例を見てみましょう。
例:ネットフリックスの視聴データ
Netflix Movies and TV Shows | Kaggle
このデータには(本記事を書いた時点で)5つのタスクが付与されています。
- 動画のレコメンド機能を作れ(※2つのタスクが重複投稿されている)
- オリジナル動画と、他所からのライセンス動画を比較せよ
- ユーザが評判の良い動画を見つける方法を示せ(レコメンドじゃなくてもよい)
- 動画のスコア(その動画の世間の評判)を見やすく表示せよ
面白いのは、コンペティションのように完全にゴールがカッチリ決められているわけではなくて、少し曖昧なゴールになっていることです。
それゆえ、データ分析を行う人によって、タスクを自分なりに解釈し自分なりのアプローチで解くという自由度が残されています。
レコメンドエンジンであれば、推薦アルゴリズムの選択の自由度(これはコンペでも自由ですね)はもちろん、評価方法について自分で決めてよいわけです。
また可視化のタスクについて、(当然ながら)より自由度が高くなります。Kaggleに投稿されたノートブックはユーザどうしで評価しあう「Vote(投票)」といういわゆる「いいね!」的な仕組みがあって、それを可視化の良し悪しの基準としてみることも出来ます。
ノートブックを読んで学ぶ
ノートブックのコメントで、なぜそのような手段を用いてるのかの理由を添えているものが多いので、それを読んで具体的なデータ分析のステップの妥当性を考えながらノートブックを追っていくことでとても勉強になります。
特に前処理や特徴量作成は性能だけでなく、予測結果の解釈性や、仮定したドメイン知識の妥当性などと直結するため、データ分析者の「ウデの見せ所」であり、ノートブックの数だけオリジナリティがある、とも言えます。
Discussionタブ
タスクの曖昧さについて確認しあったり、ノートブックに関して質問をしたり、といったことは「Discussion」タブにある議論用のスレッドで活発に行われています。
またデータ分析の途中でハマってしまったときに質問するData Science Stack Exchange的な使われ方もしています。これはそのデータに特化した話だからStackExchangeではなくKaggle上で質問する、というケースですね。
物足りない点はQuoraで補うべき?
ただ少し残念な点として、
- そもそものタスクの定義自体の妥当性
- そのタスクがもたらす価値
- 想定される実運用への移行難易度
- データ(質的に、量的に)を増したらどうなるか?
- あとxxというデータがあるとさらにyyができるのでは?
といった点については情報があまり豊富でないことです。
Kaggleはあくまでもデータ分析スキルをシェアするサイト、という印象は否めません。
これについてはQ&Aサイトである Data Science - Quora などを参考にすべきなのかもしれません。
しかし与えられたデータセットに特化したタスク、想定されるデータセットで出来るタスク、といった「データと、その上の『お題』」について特別に話し合う場があっても良いはずで、その領域はちょうどKaggleとQuoraの間のところにある感じがしますね。
というわけで
物足りない点もありますが、ネット上でかなりのことが学べることは確かです。
すごいイケてるタスク定義とか分析プロセスとかを見つけたらまたご紹介しようかと思います。
ではまた!