皆さん、こんにちは。データ分析コンペを楽しんでいますか? え、興味はあるけどなかなか手が出せていない?
私は4年前に初めて参加したデータ分析コンペ「KDDCUP2015」で6位に入賞してすっかりその魅力にはまってしまいました。それ以来、さまざまなコンペに出場を続けるも、「Kaggle」ではなかなか成果が出ず、「Microsoft Malware Prediction」では一時ランキング1位になったものの最後の結果発表で30位まで落ちてしまうという苦い経験をしました。しかし、先日終了した「Santander Customer Transaction Prediction」というKaggle史上最多参加者のコンペでは2位入賞を果たして、ついにKaggle Masterへ昇格できました。
今回の記事では、酸いも甘いも経験しながらコンペライフを続けている私が、特にコンペ初心者へ向けて、その楽しさと喜びを感じるためのポイントを紹介します。
なぜデータ分析コンペに出るのか
最近はデータ分析コンペに参加する人がどんどん増えてきています。コンペに参加する理由は大きく分けると3種類あります。
1.実績、評価を得たい
データサイエンティストの実力を客観的に測るのは困難です。データ分析コンペの成績は絶対ではないし、それだけでは測れない能力もたくさんありますが、それでも実力の評価指標として一定の利用価値があります。弊社の社内Kaggleランク制度もその一つですが、いわゆるデータサイエンティストの就職活動や転職活動に、データ分析コンペでの実績を評価する会社が増えてきました。
2.分析者として成長したい
現役のデータサイエンティストによくある理由なのですが、Kaggleのアカウントを持って、情報収集や実験をしている人はたくさんいます。Kaggleには世界トップクラスのデータサイエンティストが数多くいますし、その知見がシェアされる文化、そしてそれを後押しするさまざまな環境がそろっています。
3.コンペそのものが楽しい
データ分析コンペで競い合うこと自体にネットゲームのような面白さがあります。こういう人たちは分析技術を習得するのと同じくらい、あるいはそれ以上に、純粋に競い合うことを楽しんでいます。
いずれの理由にせよ、より上位を目指すことが大事なのはいうまでもありません。(1)の理由はもちろんのこと、(2)の理由のように学習を目的にしたとしても、中途半端な気持ちでやるよりも本気で上位を目指した方が何倍も多くの学びを得られます。
世界の上位Kagglerたちは、“win or learn”とよく言います。「今回は勝てる!」というイメージを持って取り組むことは上位を目指す上でも必要になりますし、そのようなイメージを持ってしっかり取り組むと、負けたとしても「今回の学びを生かせば次回はきっと勝てる!」と自信を持って言える状態になることでしょう。これは単にダラダラと参加してダラダラと上位陣の解法を読んで分かった気になるのとは大きな違いがあります。
しかしながら(3)のように、楽しいが故に一日中やっているような人がいる中で上位にランクインするのは簡単ではありません。スコアが上がらず苦しい時間もたくさんあります。上位を目指すには、やはり自分も楽しむ側に回った方が何かと得です。
まずは「勝てる可能性」を感じること
では、どうすればデータ分析コンペを楽しめるのでしょうか。実はデータ分析コンペで一番楽しいのは、「勝てるかもしれない!」と感じた瞬間なのです。勝つために楽しみたいのに、その楽しみを感じるためには勝てる可能性を感じないといけないなんて、なんだか矛盾していますよね。
でも、そうなんです。コンペの上位にいるときにはある種の脳内麻薬に近い感覚があるというのは、Kagglerの間ではよく聞く話です。私も最初に参加したコンペで運良くトップ10入りした時の快感は忘れられず、今でもその感覚が欲しくてデータ分析コンペをしている面もあります。この「勝てるかもしれない」状況を着火剤として「楽しい」と感じたら、あとは勝手に不眠不休で頭と手が動きます。そのループに少しでも早く足を踏み入れるために、なるべく自分に向いているコンペを選ぶのが大事です。
図:コンペ中のKagglerが楽しさを感じるメカニズム