kaggleを全力でやります

kaggle masterを目指してやったことを、記録します

Kaggle入門その1

【追記】 kaggleの入門に最適な、「kaggleのチュートリアル」については、技術書典4で頒布し、これまで累計800部以上を売り上げています。
以下のリンク先で販売しています。

kaggleのチュートリアル。機械学習の入門に最適!今後更新あります!|カレーちゃん|note


4月22日の技術書典に向けて、Kaggleとデータ分析の本を書いているので、その一部をこのブログで公開していきたいと思います。

まだ、校正前なので、4月22日の本は大幅に違う本となるかもしれませんが、とりあえず現時点のものを載せて、コメントなどいただければという趣旨です。

Kaggleとは

Kaggleとは、企業などがデータを提供し、世界中の参加者(データ分析をする者)がその最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォームです。
企業などは、保有データの分析手法を求めるためにコンペを開催し、データの投稿及び賞金の提供を行います。
参加者は、コンペに参加し、データ分析の腕を競い、参加者同士で情報の交換などを行います。各コンペのページ(Kaggleのサイト上のKernelsやDisscusion)で実際の分析結果の共有や分析手法についての議論がされており、実践的な内容であるため、読んでいるだけでも勉強になります。(多くは英語で投稿されているので、英文を読む必要がありますが、コードと英文がセットなので、意外と読むことができます。)
そのため、データ分析のガチ勢(真剣にデータ分析をやっている強い方たち)にどのようにデータ分析の勉強をすれば良いか聞くと「Kaggleやれ」と返事がくるくらい。
それではKaggleを始めてみましょう。

Kaggleの始め方

Kaggleのサイト(https://www.kaggle.com/)にアクセスします。
右上にあるSign inをクリックすると、以下のようにFacebook、Google、Yahooのいずれかのアカウントでログインするか、新しいアカウントを作るか聞かれるので、お好みの方法でログインします。 f:id:currypurin:20180225235704p:plain

Kaggleの各ページの説明

f:id:currypurin:20180225235808p:plain 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」というタブが表示されます。 f:id:currypurin:20180226000245p:plain

それぞれの項目では次のようなことについて記載されています。他のコンペでも同様なものが多いです。

  • 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で提出用のデータをつくり、データの提出を行なってみます。