kaggleを始めようにもどこから始めたらいいか、何から始めたらいいかわからないのが正直なところだと思います。
特に今は複雑なデータ形式や提出形式も多く、私は2018年から始めましたが徐々に難しくなっています。
またもっと昔からやっている人から聞いた話では昔よりも難易度はより上がっているそうです。
その中でも学びの多いコンペに絞り着実に実力をつけていくにはどうしたらいいか、コンペ選びのナレッジを紹介したいと思います。
kaggleで初心者は何から始めたらいいのか?
テーブルコンペと画像系コンペに絞る
まずはテーブルコンペです。
テーブルコンペとはタイタニックコンペに代表されるように、数値データから予測値を出すコンペです。
例えば性別、年齢、家族の人数・・・などからタイタニックで生存するかどうかを予測したり、最近だとRiiidなどテストで回答した時の時間、何回答目なのか、答えを確認したか・・・などからその設問を正解したかどうかなど。
なぜテーブルコンペをお勧めするかというと、理由は2つあります。
- ナレッジが集積されている分野である
- わかりやすい
- 直感が働きやすい
特にkaggleで勝つデータ分析の技術という多くのノウハウを詰め込んだ書籍もあります。この本を片手にテーブルコンペに挑んで、初めてでも銀を取ったという話も多く聞きます。(私は未熟で初めてのコンペは取れませんでしたが、本は本当にいい本です。)
また直感や人間的な感が働きます。
タイタニックコンペでは「お年寄りは逃げ遅れてしまうかもしれない」「男性よりも女性の方を優先的に避難させるかもしれない」ということを考えて、そのデータの取り扱いを変えることで予測の精度をあげることができます。
画像系コンペについて
最近だとキャッサバの葉っぱの画像から、そのキャッサバが病気に罹っていないか判別するコンペがあります。(Cassava Leaf Disease Classification)
画像系も同様でナレッジが貯まっていることや、画像系のニューラルネットワークの記事が多く存在していることで、調べてながら進められることが多いです。
第3次AIブームは2012年のAlexNetから始まったこともあり、画像認識に注目して記事にする企業や個人が多くいます。
そのためkaggleの多くあるコンペの中でも迷子にならずに進められる可能性は高いです。
ただし、kaggleで勝つデータ分析の技術のようなkaggle専用のナレッジ本は2021年1月現在は私の認識では発売されていないため(楽しみに待っていますが)、テーブルコンペに比べると独自で進めていかなくてはなりません。
逆おすすめできないコンペは?
これは「やりやすさ」という観点でのコメントです。
後述しますが、結局おすすめのコンペは人に依存します。
自然言語処理(NLP)
自然言語処理系の学科を卒業していたりニューラルネットワークを理解しているのであればいいですが、そうでないのならば最初に取り組むことは難しいです。
NLPに利用されるTransformerなど最新の技術はニューラルネットワークの基本の上に成り立っています。MLP(Multilayer perceptron)などニューラルネットワークを構成する基本のキを学んでから取り組むといいステップを踏むことができます。
例えば最近だとJigsaw Multilingual Toxic Comment Classificationという、文章にどれくらい悪意(汚い言葉)があるか判別するコンペがありました。
言葉を綺麗に前処理したりする繊細な技術が問われます。差別化ポイントがタフな内容です。
音系
こちらも音の波長を処理する技術が問われます。
フーリエ変換やn階微分した結果が予測精度に貢献する例も多く、数学的物理的知識が問われる可能性があります。
得意な人にとってはむしろアドバンテージになるかもしれません。
また最初の複雑な前処理が、公開notebookとして参加者に共有されることもあるのですが、あまり深く理解せずに使ってしまうことは健康的な成長とは言えないので、それらを読み込み理解する自力が必要です。
もっと簡単にわかるおすすめコンペの調べ方は
コンペの参加人数が多い

コンペの一覧を見ると参加人数がわかります。
参加人数が多い理由は以下のようなパターンがあります。
- テーブルコンペ系・画像系で単純にわかりやすい
- 問題設計が素晴らしく実力が顕著に出るコンペ
- 強いkagglerが多く参加して謎に引っ張られて多くなる
また人数が多いのに問題設計が悪かったり、途中でルールを変えたり余計なデータを公開したりして悪くなることもあります。Mechanisms of Action (MoA) Predictionなどは非公開にしていた薬剤データを途中で公開し混乱を招きましたし、M5 Forecasting – Accuracyは5000人も参加していてやりやすさはあったのですが、不確定要素が多いことから強いkagglerは途中離脱したりしました。
なので一概に「参加人数が多い=いいコンペ」とは言えないのですが、参考にすることはできます。また、逆は正しい場合がおおいです。
つまり「参加人数が少ない=マニアックなコンペ」である可能性は高いです。
Abstraction and Reasoning Challengeなどは一定規則を持つ模様から、別の模様に変換する作業を学習させるコンペです。本質的な部分では共通するものはあるかもしれませんが、表面上似たような問題が出ることは少ないでしょう。
kaggleコンペは結局モチベーション?
kaggleをしている人はtwitterを探せば多くいます。彼らのtweetを見ていると好きなコンペ、得意なコンペを持っている人がたくさんいます。
医療系・音系・異常検知系・時系列系。
それは彼らの職業柄だったり、卒業学科だったり、なんらかの思い入れがあります。
kaggleコンペを解くことで論文に取り上げられ社会貢献につながる事例もあるので、自分の解放が取り上げられる嬉しさがやる気につながっているのだと思います。
本記事の上位では「やりやすさ」観点で書きましたが、情熱さえあればどんなコンペでも1から勉強して取り組むことは、難しいことではありません。(大体3ヶ月ありますので)
ぜひ自分の一番やりたい興味のあるコンペに飛び込んでみてください。
またkaggle masterのu++さんが書いた記事Kaggleの「おすすめコンペは何?」への答えを考えたもおすすめですので、是非合わせて読んでみてください。
素敵なkaggleライフを!
kaggle初心者の方にはこちらの本がお勧めです。
