kaggleってやってみたいですけど、サイトが英語だったりで少し敷居が高いですよね。
全く初めてだけどkaggleをやってみたいという方に向け、kaggleのサイト構成の説明やカーネルの使い方などからはじめて、タイタニックコンペでのデータの可視化・ランダムフォレストを使っての予測・kaggleへのデータの提出を網羅した「kaggleのチュートリアル」を作成しました。
この本は、4月22日の技術書典で販売し、とても好評いただいたものです。
本編5章 + 付録 のうち、3章までを試し読みとして公開していますので、是非読んでみてください。 また4章とほぼ同じ内容を、https://note.mu/currypurin/n/n05b0a9a6cd94で書いています。
以下は1章と2章の内容の抜粋です。
Kaggleとは
Kaggleとは、企業などがデータを提供し、世界中の参加者(データ分析をする者)がその最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォームです。
企業などは、保有データの分析手法を求めるためにコンペを開催し、データの投稿及び賞金の提供を行います。
参加者は、コンペに参加し、データ分析の腕を競い、参加者同士で情報の交換などを行います。各コンペのページ(Kaggleのサイト上のKernelsやDisscusion)で実際の分析結果の共有や分析手法についての議論がされており、実践的な内容であるため、読んでいるだけでも勉強になります。(多くは英語で投稿されているので、英文を読む必要がありますが、コードと英文がセットなので、意外と読むことができます。)
そのため、データ分析のガチ勢(真剣にデータ分析をやっている強い方たち)にどのようにデータ分析の勉強をすれば良いか聞くと「Kaggleやれ」と返事がくるくらい。
それではKaggleを始めてみましょう。
Kaggleの始め方
Kaggleのサイト(https://www.kaggle.com/)にアクセスします。
右上にあるSign inをクリックすると、以下のようにFacebook、Google、Yahooのいずれかのアカウントでログインするか、新しいアカウントを作るか聞かれるので、お好みの方法でログインします。
Kaggleの各ページの説明
kaggleにログインすると、上部に次のようなナビゲーションが表示されます。ナビゲーションのうち、よく使う項目は次のような内容となっています。
- Competitions:現在開催されているコンペや、過去のコンペの一覧
- Datasets:参加者が公開しているデータセットの一覧
- Kernels:ブラウザ上からコードを動かすことができる場所。参加者が分析結果を共有しているので、読んでいるだけでも勉強になる
- Discussion:ディスカッションの場。
コンペのページ(概要)
Kaggleのコンペには、「タイタニックチュートリアル」という初めてKaggleのコンペをやる方向けの、練習用のコンペがあります。まずは、このコンペをやりってみましょう。
Kaggleのトップページから、右上のCompetitionsをクリックし、「Titanic:Machine Learning from Disaster」をクリックして、タイタニックのコンペのページに進みます。
タイタニックのコンペのページに進むと、以下のように「Overview」、「Data」、「Kernels」、「Discussion」、「Leaderboard」、「Rules」、「Team」、「My submissions」、「Submit preditions」というタブが表示されます。
それぞれの項目では次のようなことについて記載されています。他のコンペでも同様なものが多いです。
- Overview:文字通り概要が記載されています。Overviewは、更に以下のように細分化されています。
- Description:コンペについての説明。
- Evaluation:評価について。どのようなデータを提出し、どのような点数がつけられるか記載されている。
- Frequently Asked Questions:よくある質問(Getting Started conpetitionとは何か、private lederboarとpubilic liaderboardとは何か、チームの作り方、カーネルとは何か、チームがリーダーボードから消えるのは何故か、サポートへの質問の仕方)。
- Tutorials:Titanicチュートリアルの進め方。
- Data:トレーニングデータ、テストデータ、提出データのサンプルファイル及びデータについての説明。
- Kernels:再現性のある共同分析を可能にするクラウド環境。RおよびPython、Jupyter Notebook、Rmarkdownをサポートしている。参加者が公開している分析結果を閲覧し、コメントをつけることができる。
- Discussion:コンペについてのディスカッションの場。
- Leaderboard:コンペの順位表。
- Rules:コンペの順位が記載されています。チームについてや提出回数(10回まで)等。
- Team:チームを作るとき使う。
- My submissions:自分が提出したデータの一覧。
- Submit preditions:予測を提出するページ。
まとめ
今回はKaggleについての概要を記載しました。
次回は、KaggleのKernelで提出用のデータをつくり、データの提出を行なってみます。