こんにちは!
消費財メーカーでデータサイエンティストをやっているウマたん(@statistics1012)です!
データサイエンティストの腕試しの場として有名なKaggle!!
Kaggleでは、世界中の名だたるデータサイエンティストが常に凌ぎを削っています。
Kaggleは実は初心者にもオススメなコミュニティなんです!
少しデータサイエンスを学んだ後は、実際にKaggleのデータを触ってみるとよいでしょう!
この記事では、
・Kaggleとは何か
・Kaggleの使い方
・Kaggle挑戦前の勉強法
について解説していきます。
Kaggleとは
Kaggleとはデータサイエンティスト40万人を超える世界中のデータサイエンティストがひしめき合うコミュニティ。
そんなKaggleの基本構造は、企業が与えた課題に対して腕に自信のあるデータサイエンティストたちが挑む。
数か月の期間、与えられたデータを基に試行錯誤して最適なモデルを構築したチームにはあらかじめ決められていた賞金が付与されるというもの。
実際に現段階(2020年1月)で開催中のコンペティションは以下の通りです。

一番賞金総額が多いコンペは何と100万ドル!!日本円にして1億円!
何とも夢のあるコミュニティーですね。
Kaggleにはランクがあり、10以内入賞するとゴールドメダルがもらえるのですがゴールドメダルを5回手に入れるとグランドマスターという最高位の称号を得ることができます。
グランドマスターの方たちの登壇が以下にまとめられていて非常に面白いので是非見てみてください!
Kaggleを生業にしているKagglerと呼ばれる人たちもいるくらい、Kaggleは非常に盛り上がりを見せています。
企業は賞金というインセンティブを用意することで、自社のデータ活用を世界的な水準まで押し上げることが可能です。
そして、活躍の場が制限されていたデータサイエンティストがKaggleによって日の目を浴びることになりました。
企業にとっても個人にとってもWin-Winな場になっているんです!
初心者でも全然臆さずに交流すると良いよ!
Kaggleの使い方

さて、そんなKaggleですが、実際にどのように使っていけばよいのか簡単に解説していきます。
Kaggleに登録した後はまずは、タイタニックのデータセットを触ってみるとよいでしょう!
有名なタイタニックの生死予測データはKaggle入門に最適です!
まずは、Overviewを見てみましょう!
そこにデータの概況などやどのように評価されるか?どのように提出するのか?などが載っています。

続いてDataという部分。こちらに詳しくデータセットについての記載があります。

ここからデータセットをダウンロードすることが可能です。
そして一番Kaggleで大事なのがNotebookという部分。

こちらに他の人がどのように考えてどのようにコーディングしたかが細かく載っています。
自分の作ったモデルを共有してくれるなんてめちゃくちゃ親切!
これが初心者からするとめちゃくちゃ嬉しいんですよねー!
このNotebookを沿って実装するだけでそれなりのスコアを叩きだすことが可能です。
全て英語で記載されているので少し抵抗があるかもしれませんが、基本となるコードは全世界共通なので、なんとか頑張って読み解きましょう!

そしてDisucussionという場所ではユーザー同士のコミュニケーションが行われています。
何か質問したいことがあれば臆さずここに投げるとよいでしょう!
Kaggleの世界にどっぷり浸かりましょう!!
Kaggleにサブミットする前準備と勉強法

基本的にKaggleの中で勉強していけば良いんですが、軌道に乗る前の前提知識を付けるために何をすればよいか見ていきましょう!
以下の3ステップで見ていきましょう!
・統計の基礎知識を身に付ける
・Python/Rが扱えるようになる
・機械学習手法の理解と実装
Kaggleマスターの秋山さんが監修されている「データサイエンス全般を学び、Kaggleに挑戦していくコース」がAidemyというスクールから公開されていますのでおすすめです!
統計の基礎知識を身に付ける
まずは、全ての土台となる統計の基礎知識を身に付けていきます。
統計の知識としては記述統計と推計統計を主に学んでいきます。
平均・分散の考え方から統計的検定まではしっかりおさえましょう!
以下の書籍で学ぶことが可能!
書籍だとちょっと・・・という方はぜひ以下のUdemy講座を試してみてください!

データサイエンスの分野を幅広くおさえている講座で、全世界で好評なコース。
ユニークなアニメーションと一緒にビジネスサイドからデータサイエンスを学べるので分かりやすいです。
Udemyは世界最大の教育プラットフォームで非常におすすめ!
買い切りなので自分のペースで自分のレベルに合った教材を楽しめます。
僕自身めっちゃお世話になってます笑

統計の知識はただ数式をながめならインプットするのは退屈なのでサラッと流しながら読むことが大事。
以下の記事で詳しくまとめていますのであわせてチェックしてみてください!

Python/Rが扱えるようになる
まずは、PythonもしくはRが使えるようにならないといけません。
データ解析だけならどちらでも基本問題ないのですが、世界的にもポピュラーでリファレンスが多いことも考えるとPythonの方がオススメです!
なお、僕はどっちも使いますが大学の研究ではRをメインで使っていたので実はR屋です。
RやPythonを勉強するために必要な書籍を以下のまとめています!

また、Python言語を勉強するのであれば圧倒的にPyQがオススメです!
PyQの体験談を記事にしているのでよければチェックしてみてください!

PyQは敷居が低くコーディングも簡単ですが、出来ることが多く奥が深い言語です。
短期的にPythonを習得する方法を以下の記事でまとめていますので合わせてチェックしてみてください!

またPythonでできることを以下の記事でまとめています。

KaggleにはPythonでできることのうち一部の機能しか必要ないですが、実はWebアプリケーション開発やAPI連携などサーバーサイド言語としての機能も併せ持つ言語なんです。
興味のある方はぜひチェックしてみてください!
機械学習手法の理解と実装
PythonやRが使えるようになっても機械学習手法の知識がないといけません。
機械学習を理解する上ではある程度の数学理解とPythonでの実装の両輪ができるレベルまで欲しいところです。
数学に関しては書籍で学ぶ前手にUdemyの講座で学んでおくべきです。
おさえておくべきは微分と線形代数の知識!
以下のUdemy講座がめちゃくちゃ分かりやすいんです。

教育サービスを提供するキカガクの代表取締役の方が丁寧に機械学習のアルゴリズムについて教えてくれます。
まあ機械学習の基本・土台となる単回帰分析を数式から学んでいくもの。
ビックリしたんですが、パワポではなく紙に手書きで進んでいくんです!

本コースでは線形代数を学びながら重回帰分析まで展開していきます。
線形代数を学びながら微分も用いて定式化していきますよー!
実際に手計算で重回帰分析を行い、その後Pythonのscikit-learnを使って分析を行っていきます。
これら微分・線形代数の基本を学んだあと、さらに深く理論を学びたい人は以下の書籍を読み込んでみてください。
めちゃくちゃエッセンスが詰め込まれています。
AI・機械学習を学ぶ前手の数学勉強法については以下の記事で詳しくまとめています!

それらの理論と合わせて学んでいくべきな実装編。
以下の講座が簡単な機械学習手法をPythonで実装して実際にデータ解析コンペに提出していくのでオススメです!

簡単な単回帰分析から機械学習(決定木)を使って回帰と分類問題を解いていくコース!
課題定義や分析において気を付けるべきところについても学べるので実務においても役立つ内容です。
ここまででおおかた機械学習の理解と実装まで出来ると思いますが機械学習の中でもディープラーニングまで踏み込んで勉強したい場合は、テックアカデミーというプログラミングスクールもしくは以下の書籍をおすすめします!
(2021/01/18 13:45:47時点 Amazon調べ-詳細)
書籍は超絶おすすめな内容です!
テックアカデミーのAIコースに関しては以下の記事で体験談をレビューしていますので合わせてチェックしてみてください!
https://toukei-lab.com/techachademy-ai
ただここまで来てPython・Rそして機械学習手法の理解が進んでも、実際のデータでは様々な困難があります。
地味なデータクレンジングや特徴量抽出など!
そんなデータエンジニアリングの実践力を高める上でKaggleは最適なのです!
そしてそんなエンジニアリングの能力を高めるために以下の書籍がめちゃくちゃオススメです!
結局手法が実装は簡単にライブラリ実装できるんですが、データを扱う勘所が分からないとKaggleで好成績を残せません。
ぜひこの書籍を読んでKaggleに挑戦してみましょう!
Kaggle まとめ
Kaggleについて簡単に見てきました!
ある程度Python・Rが書けるようになってきて、機械学習の基礎も理解できるようになったら、Kaggleに挑戦してみましょう!
初心者でも全く問題ない!Kaggleに入門してデータサイエンティストの道を歩むんです!
Kaggleは実践的なエンジニアリングが体験できるのでめちゃくちゃオススメです!
腕試しにもなるし!!
データサイエンティストになるための学習ができるスクールは以下の記事でまとめています!
