アドベントカレンダーに初めて参加させていただきました!
「Kaggleに参加してみたいな」と思ってもなかなか踏み出せないといった方に、コンペの楽しさを少しでもご紹介できればと考えています。
では、ご紹介していきたいと思います。
- 1.はじめに
- 2.コンペの歩き方(全体像)
- 3.コンペの歩き方(1.登録する)
- 4.コンペの歩き方(2.真似る)
- 5.コンペの歩き方(3.発信する)
- 6.一歩先の歩き方
- 7.時間の使い方ご紹介
- 8.最後に
1.はじめに
「はじめに」と言いつつ、結論なのですが、コンペは楽しいです!
仕事や勉強では、なかなか定量的なフィードバックを得られることが少ないのですが、Kaggleなどのコンペでは、結果がスコアや順位となってすぐに見れるので、ゲーム感覚で取り組めます。
また、何回参加しても、参加者たちのDiscussionを見放題でも無料なのが魅力です。Kaggleのnotebookや、Google Colaboratoryを使えばクラウド上のGPU環境も限定的ながら無料で使うことができます。
そして、なんといっても参加者たちとオンラインで交流して、自分の世界が広がります。
この記事を読んで、興味をもっていただけましたら、是非参加してみてください!
2.コンペの歩き方(全体像)
コンペの歩き方として私の経験から、楽しみ方の1例を紹介させていただきます。
全体像としては、何はともあれ、まず「登録する」、次にTutorialなどを「真似る」、そして出来事を「発信する」という3ステップを踏みます。
3.コンペの歩き方(1.登録する)
1つ目の「登録する」にあたっては、どのサイトに登録すればよいのだろう?と思っていらっしゃる方もいらっしゃると思います。
Kaggleを始め、私が登録しているコンペサイトについて、個人的な所感を記載します。自身の趣向にあったサイトに登録する際に参考にしていただけると幸いです。
サイト名 |
URL |
所感 |
Kaggle |
言わずと知れた世界的コンペサイト。Discussionやコードの公開も活発で、メダル獲得や称号獲得が対外的にもアピールできます。 |
|
SIGNATE |
コンペ参加人数が5万人を超える、国内主催のコンペサイト。様々な企業がコンペを主催しています。コンペ以外にもlearningコンテンツも充実。 |
|
ProbSpace |
最近Ridgelinez社とDX人材マッチングサービスでパートナーシップ開始したコンペサイト。自社主催コンペが中心で毎回チュートリアル付で取り組みやすい。 |
|
Nishika |
データサイエンティスト特化型求人も充実のコンペサイト。副業の紹介も実施しているので、副業可能な社会人にはメリットあり。 |
|
Solafune |
衛星データ解析に特化したコンペサイト。宇宙好きにはたまらないコンペ。直近では、Microsoftとコラボした高解像化コンペを開催中。 |
4.コンペの歩き方(2.真似る)
登録してみたら、いろいろと技術的なことを考えるよりも、コンペの楽しさを実感するために、とりあえず、何かのコンペに参加して、他の方のコードを真似て投稿してみます。
Kaggleであれば「Code」、SIGNATEでは「フォーラム」、Probspaceであればコンペの基本情報の「Tutorial」や「トピック」、Nishikaでは「ディスカッション」、Solafuneでは「Discord」にて、Tutorialや他の方の参考コードなどが投稿されますので、まずは、それをコピーして実行結果を投稿してみます。
すると、すぐにスコアと順位が表示されて、「コンペに参加した!」という実感が湧いてきます。
次は、パラメータらしきところの数値を適当に変更してみます。変更してみた実行結果でスコアや順位が変わるようであれば、そこが精度に影響するパラメータになります。
精度に影響するパラメータが見つかったら、あとはこのパラメータが使われているところを探して、そのコードの意味や役割を調べていきます。
これを繰り返していくうちに、だんだんとコードの中身が理解できるようになってきて、ますます楽しくなってきます!
5.コンペの歩き方(3.発信する)
真似て投稿してみたら、次は発信です。
コンペが楽しくても、やはり一人で取り組むとなかなか続かないことも多いです。そこで、おすすめなのが、実施していることを、Twitterやブログなどで発信することです。
私は投稿するたびに良かった悪かった、進捗したなどなんでもよいので発信するようにしています。
こうすることで、いろんな皆さんのご意見をいただけたり、普段接点のない皆さんと交流できたり、新鮮な出会いもあり、モチベーションの維持につながっています。
また、自分が読んでいた書籍の著者の方から、「いいね」やコメントなどをいただけると、とてもテンションがあがります。
自ら情報発信をすることは、おすすめです。
6.一歩先の歩き方
コンペを続けていると、向上心が出てきて、「もっと上位を目指したい!」となってくることがあります。
その場合の1歩先の歩き方をご紹介します。
- Kaggle関連の本を読んでみる
まずは、Kaggle関連の本を読んでみることをお勧めします。戦術や、どうやって学んでいったらよいかなどのヒントが満載なのでおすすめです。
<例> - オライリー本を読んで理論を理解する。
私は個人的に「動物園」「水族館」と呼んでいるオライリー社の動物や魚類が表紙となった本は、難しい本もたくさんありますが、初心者にもわかりやすい本もありますので、本屋や図書館でパラパラとめくってみて面白そうだなと思った本を読んでみることをお勧めします。
<例> - 無料講座に参加する。
機械学習関係はいろいろな講座が公開されていますが、無料講座が開催されていることもありますので、随時チェックして募集が始まったら即申し込んでみるというのもおすすめです。
<例>
7.時間の使い方ご紹介
次に、「コンペを続けたいのに時間がない!」「働きながらは無理!」という場合に、私の時間の使い方をご紹介いたしますので、ご参考にしていただければ幸いです。
ポイントは、「無駄な時間をなくす」という点です。「無駄な時間」というのは人それぞれ価値観が違うので、一意に決めることはできませんが、私は「だらだらとエンドレスでネットサーフィンやYoutubeを見てしまう時間」と定義しています。もちろん目的を持ってみるYoutubeやネット検索は含みません。
では、どうやって無駄な時間をなくすかというと、「複数のコンペに同時参加して隙間時間をなくす」という作戦をとっています。複数のコンペに同時参加することで、次々とやらないといけないことが出てくるので、「無駄な時間」を過ごす暇がありません(笑)
また、隙間時間にやることをパッと出せるように、@fkubota_さんのKaggle日記という戦い方を活用しています。
8.最後に
上記のように、楽しみながらコンペに取り組むことで、2019年にはPythonのパの字も知らない状況から、今ではKaggleを始め様々なコンペで結果を残すことができ、ProbSpaceでは総合ランク1位になることができました。
是非皆さんも、コンペに参加して楽しみながらスキルアップしていきましょう!