データ解析

【初心者向けKaggle入門】Kaggleサブミットの前準備と勉強法!

ウマたん
ウマたん
当サイト【スタビジ】の本記事では、Kaggleについて解説していきKaggleに挑戦するまでにどのようなことを勉強しておいたらよいのか丁寧に解説していきます。ある程度データサイエンスの土台が出来た後はKaggleに挑戦し、世界各国の猛者と凌ぎを削りましょう!

こんにちは!

消費財メーカーでデータサイエンティストをやっているウマたん(@statistics1012)です!

データサイエンティストの腕試しの場として有名なKaggle!!

Kaggleでは、世界中の名だたるデータサイエンティストが常に凌ぎを削っています。

ロボたん
ロボたん
Kaggleと聞くとなんだか凄いコミュニティのようで入りにくいなー!!
ウマたん
ウマたん
そんなことはないんだ!初心者にも優しいコミュニティなんだよー!

Kaggleは実は初心者にもオススメなコミュニティなんです!

少しデータサイエンスを学んだ後は、実際にKaggleのデータを触ってみるとよいでしょう!

この記事では、

・Kaggleとは何か
・Kaggleの使い方
・Kaggle挑戦前の勉強法

について解説していきます。

Kaggleとは

Kaggleとはデータサイエンティスト40万人を超える世界中のデータサイエンティストがひしめき合うコミュニティ

そんなKaggleの基本構造は、企業が与えた課題に対して腕に自信のあるデータサイエンティストたちが挑む。

数か月の期間、与えられたデータを基に試行錯誤して最適なモデルを構築したチームにはあらかじめ決められていた賞金が付与されるというもの。

実際に現段階(2020年1月)で開催中のコンペティションは以下の通りです。

kaggle list

一番賞金総額が多いコンペは何と100万ドル!!日本円にして1億円!

何とも夢のあるコミュニティーですね。

Kaggleにはランクがあり、10以内入賞するとゴールドメダルがもらえるのですがゴールドメダルを5回手に入れるとグランドマスターという最高位の称号を得ることができます。

ウマたん
ウマたん
グランドマスターは世界で150人ほどしかいないんだよー!

グランドマスターの方たちの登壇が以下にまとめられていて非常に面白いので是非見てみてください!

Kaggleを生業にしているKagglerと呼ばれる人たちもいるくらい、Kaggleは非常に盛り上がりを見せています。

企業は賞金というインセンティブを用意することで、自社のデータ活用を世界的な水準まで押し上げることが可能です。

そして、活躍の場が制限されていたデータサイエンティストがKaggleによって日の目を浴びることになりました。

企業にとっても個人にとってもWin-Winな場になっているんです!

ロボたん
ロボたん
素晴らしいコミュニティだね!!
ウマたん
ウマたん
データサイエンティスト同士で交流も生まれて刺激も与えあえるしねー!

初心者でも全然臆さずに交流すると良いよ!

Kaggleの使い方

PC

さて、そんなKaggleですが、実際にどのように使っていけばよいのか簡単に解説していきます。

Kaggleに登録した後はまずは、タイタニックのデータセットを触ってみるとよいでしょう!

有名なタイタニックの生死予測データはKaggle入門に最適です!

まずは、Overviewを見てみましょう!

そこにデータの概況などやどのように評価されるか?どのように提出するのか?などが載っています。

kaggle overview

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

kaggle-data

ここからデータセットをダウンロードすることが可能です。

そして一番Kaggleで大事なのがNotebookという部分。

kaggle notebook

こちらに他の人がどのように考えてどのようにコーディングしたかが細かく載っています。

自分の作ったモデルを共有してくれるなんてめちゃくちゃ親切!

これが初心者からするとめちゃくちゃ嬉しいんですよねー!

このNotebookを沿って実装するだけでそれなりのスコアを叩きだすことが可能です。

ロボたん
ロボたん
え?コンペなのに自分のコードを公開しちゃうの??
ウマたん
ウマたん
もちろん上位入賞のモデルは公開されていないよ!ただ公開されているコードだけでもある程度高いスコアをたたき出せるんだよー!

全て英語で記載されているので少し抵抗があるかもしれませんが、基本となるコードは全世界共通なので、なんとか頑張って読み解きましょう!

kaggle disucussion

そしてDisucussionという場所ではユーザー同士のコミュニケーションが行われています。

何か質問したいことがあれば臆さずここに投げるとよいでしょう!

Kaggleの世界にどっぷり浸かりましょう!!

Kaggleにサブミットする前準備と勉強法

メモ

基本的にKaggleの中で勉強していけば良いんですが、軌道に乗る前の前提知識を付けるために何をすればよいか見ていきましょう!

以下の3ステップで見ていきましょう!

・統計の基礎知識を身に付ける
・Python/Rが扱えるようになる
・機械学習手法の理解と実装

Kaggleマスターの秋山さんが監修されている「データサイエンス全般を学び、Kaggleに挑戦していくコース」がAidemyというスクールから公開されていますのでおすすめです!

 

統計の基礎知識を身に付ける

まずは、全ての土台となる統計の基礎知識を身に付けていきます。

統計の知識としては記述統計と推計統計を主に学んでいきます。

平均・分散の考え方から統計的検定まではしっかりおさえましょう!

以下の書籍で学ぶことが可能!

created by Rinker
¥3,190
(2020/10/31 21:29:08時点 Amazon調べ-詳細)

書籍だとちょっと・・・という方はぜひ以下のUdemy講座を試してみてください!

Udemy コース データサイエンス
\30日間返金無料/

データサイエンスの分野を幅広くおさえている講座で、全世界で好評なコース。

ユニークなアニメーションと一緒にビジネスサイドからデータサイエンスを学べるので分かりやすいです。

Udemyは世界最大の教育プラットフォームで非常におすすめ!

買い切りなので自分のペースで自分のレベルに合った教材を楽しめます。

僕自身めっちゃお世話になってます笑

Udemy
【体験談】評判の良いUdemyを実際に20コース受けてみてレビュー!当サイト【スタビジ】の本記事では、世界最大のオンライン学習プラットフォームであるUdemyのメリット・デメリット・評判・口コミについてまとめていきます!実際にPython関連のコースを20個受講して分かった体験談をもとにお伝えしていきます。...

統計の知識はただ数式をながめならインプットするのは退屈なのでサラッと流しながら読むことが大事。

ウマたん
ウマたん
複雑な数式が登場したらまずは具体的な数字をあてはめてみると理解が早いよー!

以下の記事で詳しくまとめていますのであわせてチェックしてみてください!

統計学入門に必要な知識と独学勉強方法を簡単に学ぼう!当ブログ【スタビジ】の本記事では、統計学入門に必要な知識をカンタンにまとめ、それらをどのように効率的に独学で勉強していけばよいかをお話ししていきます。統計学は難しいイメージが少しありますが、学び方をしっかり考えれば大丈夫!...

Python/Rが扱えるようになる

まずは、PythonもしくはRが使えるようにならないといけません。

データ解析だけならどちらでも基本問題ないのですが、世界的にもポピュラーでリファレンスが多いことも考えるとPythonの方がオススメです!

なお、僕はどっちも使いますが大学の研究ではRをメインで使っていたので実はR屋です。

RやPythonを勉強するために必要な書籍を以下のまとめています!

R Pythonの本
厳選10冊!データ解析(R・Python)の勉強におすすめな本当サイト【スタビジ】の本記事では、PythonとRを勉強するのにおすすめな書籍を徹底的にまとめていきます!書籍だと続かない・・・という人のために書籍以外の勉強法についても紹介していきますのでぜひチェックしてみてください!...

また、Python言語を勉強するのであれば圧倒的にPyQがオススメです!

PyQの体験談を記事にしているのでよければチェックしてみてください!

【体験談】PyQの評判は?3か月本気でPythonを勉強してみたので徹底レビュー!PyQはPythonを学ぶ上で非常にオススメで評判の高いサービスです。ただ、他のサービスとの違いが分かりにくいのも事実。そこで当サイト【スタビジ】では、実際にPyQを3か月体験した僕がPyQのメリット・デメリット・評判について徹底的にレビューしていきます!...

PyQは敷居が低くコーディングも簡単ですが、出来ることが多く奥が深い言語です。

短期的にPythonを習得する方法を以下の記事でまとめていますので合わせてチェックしてみてください!

Python 勉強
【入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

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

Pythonでできること7つをコード例をまじえてまとめておく!当サイト【スタビジ】本記事では、Pythonでできることを7つまとめていきます!!Pythonで何ができるのか分からない状況から深い理解にもっていきますよー!実際にPythonでの実装例や勉強方法も取り上げているのでぜひご自分の環境で手を動かして実装してみてくださいね!...

KaggleにはPythonでできることのうち一部の機能しか必要ないですが、実はWebアプリケーション開発やAPI連携などサーバーサイド言語としての機能も併せ持つ言語なんです。

興味のある方はぜひチェックしてみてください!

機械学習手法の理解と実装

PythonやRが使えるようになっても機械学習手法の知識がないといけません。

機械学習を理解する上ではある程度の数学理解とPythonでの実装の両輪ができるレベルまで欲しいところです。

数学に関しては書籍で学ぶ前手にUdemyの講座で学んでおくべきです。

おさえておくべきは微分と線形代数の知識!

以下のUdemy講座がめちゃくちゃ分かりやすいんです。

Udemy コース アルゴリズム
\30日間返金無料/

教育サービスを提供するキカガクの代表取締役の方が丁寧に機械学習のアルゴリズムについて教えてくれます。

まあ機械学習の基本・土台となる単回帰分析を数式から学んでいくもの。

ビックリしたんですが、パワポではなく紙に手書きで進んでいくんです!

Udemy コース ブラックボックス中級
\30日間返金無料/

本コースでは線形代数を学びながら重回帰分析まで展開していきます。

線形代数を学びながら微分も用いて定式化していきますよー!

実際に手計算で重回帰分析を行い、その後Pythonのscikit-learnを使って分析を行っていきます。

これら微分・線形代数の基本を学んだあと、さらに深く理論を学びたい人は以下の書籍を読み込んでみてください。

created by Rinker
¥3,190
(2020/10/31 15:28:14時点 Amazon調べ-詳細)

めちゃくちゃエッセンスが詰め込まれています。

AI・機械学習を学ぶ前手の数学勉強法については以下の記事で詳しくまとめています!

AI 数学
AI(人工知能)や機械学習に必要な数学のレベルと勉強方法を5分で解説!当サイト【スタビジ】本記事では、AIを理解する上で必要な数学の知識についてまとめていきます。AI理解に必要な数学は難しくありません。高校数学レベルの微積・線形代数・確率統計が分かっていれば問題なし。それらの数学をどのように勉強していけばよいのかについてもまとめていきますよー!...

それらの理論と合わせて学んでいくべきな実装編。

以下の講座が簡単な機械学習手法をPythonで実装して実際にデータ解析コンペに提出していくのでオススメです!

Udemy コース データサイエンス
\30日間返金無料/

簡単な単回帰分析から機械学習(決定木)を使って回帰と分類問題を解いていくコース!

課題定義や分析において気を付けるべきところについても学べるので実務においても役立つ内容です。

ここまででおおかた機械学習の理解と実装まで出来ると思いますが機械学習の中でもディープラーニングまで踏み込んで勉強したい場合は、テックアカデミーというプログラミングスクールもしくは以下の書籍をおすすめします!

書籍は超絶おすすめな内容です!

テックアカデミーのAIコースに関しては以下の記事で体験談をレビューしていますので合わせてチェックしてみてください!

https://toukei-lab.com/techachademy-ai

ただここまで来てPython・Rそして機械学習手法の理解が進んでも、実際のデータでは様々な困難があります。

地味なデータクレンジングや特徴量抽出など!

そんなデータエンジニアリングの実践力を高める上でKaggleは最適なのです!

そしてそんなエンジニアリングの能力を高めるために以下の書籍がめちゃくちゃオススメです!

created by Rinker
¥3,428
(2020/10/31 18:14:08時点 Amazon調べ-詳細)

結局手法が実装は簡単にライブラリ実装できるんですが、データを扱う勘所が分からないとKaggleで好成績を残せません。

ぜひこの書籍を読んでKaggleに挑戦してみましょう!

Kaggle まとめ

Kaggleについて簡単に見てきました!

ある程度Python・Rが書けるようになってきて、機械学習の基礎も理解できるようになったら、Kaggleに挑戦してみましょう!

初心者でも全く問題ない!Kaggleに入門してデータサイエンティストの道を歩むんです!

ロボたん
ロボたん
データサイエンスの能力が順位付けされて賞金が出るなんてめちゃくちゃやる気でるなー!!!
ウマたん
ウマたん
Kaggle上位入賞目指して頑張ろう!!!

Kaggleは実践的なエンジニアリングが体験できるのでめちゃくちゃオススメです!

腕試しにもなるし!!

データサイエンティストになるための学習ができるスクールは以下の記事でまとめています!

データサイエンティスト スクール
データサイエンティストのための学習ができるスクールおすすめ5選! スクール名 オススメ度 価格の安さ サポート体制 公式サイト テックアカデミー ...
Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!