見出し画像

機械学習初心者がKaggleの「入門」を高速で終えるための、おすすめ資料などまとめ(2023年12月版)

こんにちわ、カレーちゃんです。Kaggle GrandMasterです。

Kaggleはデータサイエンスに入門するのにとても適しています。ですが、英語の問題などがあり、入門するのが難しい。そこで、Kaggleの「入門」をこうすれば高速に完了できるというnoteを書きます。

同じタイトルの記事を、2020年8月にも書いたのですが、それから2年以上がたちました。それから、おすすめできる資料が増え、また、私が思う入門のコースもやや変わりましたので、更新をしたいと思います。


1.Kaggleに入門(はじめに取り組むと良い資料)

Kaggleには、「タイタニックコンペ」という、練習用のコンペがあります。

これは、事故が起こったタイタニックの乗客のデータから、乗客の生死を予測するという、やりたいことが分かりやすいコンペであり、Kaggleに初めて挑戦する方におすすめのコンペとなっています。
まずは、このタイタニックコンペで、Kaggleのサイトの使い方など、多くのコンペに共通する仕様に慣れると良いと思います。

時間短縮のため、次の本を読みながら、タイタニックコンペに取り組むと良いでしょう。(タイタニックコンペはコンペティションに慣れるために参加し、数時間データをいじってみたり、予測をサブミットしてみるだけで良いです)

この本は、私がKaggleで優勝経験もあるu++さんと共著で執筆した本です。

この本では、タイタニックコンペを、サンプルコードを動かしながら取り組みます。
次に、開催中のコンペに取り組むにあたり知っておいた方が良い、複数テーブルの扱い方や、画像データ・テキストデータの扱い方についての簡単な解説や、参加するコンペの選び方、初心者おすすめの戦い方を紹介します。
節ごとの著者の対談ではkagglerの生の声をお伝えし、また付録では、サンプルコードの詳細な説明をしています。
詳しくは、u++さんのブログ記事や、出版社の公式ページが詳しです。
また、サポートサイトでは、サンプルコードや本書の脚注のリストを公開しています。

2.開催中のコンペに取り組む

1.の本でコンペの全体像などをつかむことができたら、開催中のコンペに取り組みましょう。

コンペの選び方についても、1.の本で説明を行っています。

なお、次の記事では開催中のコンペに取り組んでメダルを獲得するための、考え方を書いていますので参考になると思います。
Kaggleで銅・銀・金メダルを取るプロセス
とにかく、メダルが欲しいという場合には、次のコツを意識すると良いと思います。詳しくは上のnoteを参考にしてください。

過去に似たコンペ2,3コンペ漁って1~10位までの解法に目を通しつつ、現コンペのディスカッションを全部追って効くものを試すと銀メダルは取れるという肌感覚

https://twitter.com/an_nindouph/status/1725512487376945478

またu++さんが公開されている
「おすすめコンペは何?」の答え方を真面目に考える / How to Choose Kaggle CompetitionsそのYoutubeでの解説動画 もコンペを選ぶのにとても参考になると思います。

コンペに取り組むも、難しい場合

コンペに取り組むも、英語、Python、機械学習など、どれも新しいチャレンジで難しいという場合があると思います。
その場合は、次のコンテンツなど、自分が取り組みやすいものや必要だと思うものに取り組むと良いと思います。

atmaCupに取り組む

Kaggleが英語でどうもやりにくいという場合は、日本の「atma」という会社が主催している「atmaCup」に参加するのがとてもおすすめです。コンペが常に開催されているわけではないので、Connpassのatmaのページで探しましょう。
atmaCupの魅力は、「日本語で開催されている」、「ベースラインのコードをYoutubeで説明してくれる」、「コンペが面白い」、「ディスカッションがとても勉強になり情報共有が豊富」、「参加者がKaggleGMやMasterが多数参加するなど強い」ということで、良いことしかありません。
その時に開催中のコンペがなくても、過去コンペの解説動画が参考になりますのでYoutubeを確認してみると良いでしょう。

また、ここのところ、yukiCupというコンペティションも短い間隔で2回ほど開催されています。こちらもとてもおすすめですので、Connpassを確認して開催されている場合には参加すると良いでしょう。

Kaggle Courses

Kaggle Coursesは、Kaggleのサイト上にある、コンテンツです。

PythonIntro to Machine LearningPandasData Visualizationなどのコースがあり、どれも良いコンテンツで、勉強になると思います。

英語なので難しく見えますが、Notebookを動かすことができるので、挑戦してみると意外とできてしまうし、Kaggleは英語を読む機会が多いので英語の表現を学んでおくのも良いと思います。

表形式のデータに慣れる

「テーブル・Tabular」と言われる、データが表形式のデータのコンペティションの場合など、データの扱いが重要になる場合があります。その時はPandasやPolars(Pandasよりもより高速にデータを扱えるライブラリ)に慣れる必要があります。例えば次の資料などで慣れていくと良いでしょう。

データサイエンス100本ノック(構造化データ加工編)
Pandasについて、日本語のコンテンツの場合が良いという場合は、この100本ノックが良いと思います。

Polars Advent Calendar 2023
Python初学者のためのPolars100本ノック
2023年のAdvent Calendarを見たりして新しい情報を確認しつつ、100本ノックで慣れてみるのが良いと思います。まだ変化の早いライブラリなので、新しい情報を探しつつ慣れるのが良いと思います。

Kaggleに挑戦してメダルを獲得した方の体験談を読む

初心者の方がどのように挑戦したかがわかる、体験談を探して読むのも良いと思います。例えば次のブログなどがあります。(検索すると、他にも多くの記事があります)
<実践>はじめてのKaggle体験記
Kaggle参戦記 〜入門からExpert獲得までの半年間の記録 & お役立ち資料まとめ〜
趣味でKaggleを始めたことをきっかけにデータサイエンティストになった話
Kaggle ExpertからMasterまでの振り返り
Kaggle Advent Calendar 2023 「LBを駆け上がる快感は初心者にとって強烈なモチベーション」
私が執筆した「Kaggleのチュートリアル第6版」にも、5人分の体験談を載せていますので、読んでみてください。

過去の発表資料・ブログ記事などを読む

Kaggle Advent Calendar 2023」、「Kaggle Tokyo Meetup 2023」、「関東Kaggler会」、「関西Kaggler会」など、過去のMeetupでの発表資料がとても参考になります。また、コンペの解法のまとめ記事など数多く公開されていますので、検索して読みましょう。
また、Meetupに参加して発表を聞いたり、参加者と話すのはとても勉強になりモチベーションも上がるので、参加してみると良いでしょう。Kaggle Tokyo Meetup 2023 参加記などが参考になります。
(上記のMeetupの資料など、現在まとめており、まとめ次第公開したいと思います)

3.コンペに取り組みながら、必要なことを深く学ぶ

コンペに取り組むと、知らないことや、理解の浅いことなどに、たくさん気付きます。
コンペに取り組みながらに少しずつ学ぶと良いでしょう。
コンペに取り組んでは学び、学んではコンペで試すの繰り返しです。

学ぶ際は、2019年10月に発売され、ベストセラーとなったKaggleで勝つデータ分析の技術という、バイブルのような本があるので、まずはこの本にあたり、理解していくと良いと思います。

この本には、Kaggleに取り組む上で必要なことが網羅的に書かれていますし、参考文献などもたくさん網羅的に書かれているので、この本を信じて学ぶと良いでしょう。

なお、機械学習について、網羅的な(少なくても広く浅い)知識をえることは、kaggleで良い成績を残すためには、どこかの段階で必要だと思います。
その場合は、「この本を読んで機械学習を学び、Kaggleの金メダルをとりました」で書いた本が候補となると思います。

その他

・ChatGPTとの付き合い方

コンペをやるにあたって、ChatGPTはとても力強い相棒です。「こういう処理をしたいんだけれど、どう書けばよい?」とか「このページを翻訳して」などとても気軽に使うことができます。私も最近コンペをするときは常に使っています。
ですが、「このデータについて、コンペティションで精度を高めたいんだけれど、どうしたらよい?」みたいな聞き方だ、現状のChatGPTはほぼ役に立ちません。
ChatGPTを使うにあたり、ChatGPTはKaggleでどう使えるか? という記事もとても参考になります。

・画像・自然言語のコンペ

特に画像や自然言語のコンペであっても、過去の類似コンペを参照して上位の解法を学び、Discussionを把握しつつ参加すれば良いということで他のコンペと変わりはないと思います。
網羅的に勉強したい場合には、画像・自然言語のKaggleのコンペに特化して書かれた「Kaggleに挑む深層学習プログラミングの極意」という素晴らしい書籍があるので、これを読むと良いと思います。
『極意本』サンプルコードをクラウド上で動かそうでサンプルコードが公開されています。

まとめ

この記事では、「Kaggleの入門」を高速で終えるための資料などをまとめました。

この記事に沿って、手を動かしながら学ぶことで、入門を終え、Kagglerになることができると思います。

質問やコメントなどありましたら、次のマシュマロかコメントまでお願いします。

この記事は、Kaggle Advent Calendar 2023の12月25日の記事として書きました。


コメントお待ちしています。匿名の質問はマシュマロから→https://marshmallow-qa.com/currypurin