How to Win a Data Science Competition (Week1-2)
Kaggle 機械学習
Published: 2019-05-15

はじめに

Coursera の 「How to Win a Data Science Competition」 のメモです。

英語字幕しかなかったので、翻訳の意味が分からないところがあるかもしれません。

Introduction & Recap

学習目標

  • Describe competition mechanics
  • Compare real life applications and competitions
  • Summarize reasons to participate in data science competitions
  • Describe main types of ML algorithms
  • Describe typical hardware and software requirements
  • Analyze decision boundries of different classifiers
  • Use standard ML libraries

Competition mechanics

  • Data
  • Model
  • Submission
  • Evaluation
  • Leaderboard

Data

  • データは提供されているもの

データのフォーマットの種類

  • SSV
  • テキスト
  • 写真付きのアーカイブ
  • データベースのダンプ
  • 無効化されたコード

Model

  • コンペの時に作るもの
  • データから答えに変換するもの(ある特定のアルゴリズムを指すのではない)

モデルの特性

  • 最良の予測をする
  • 再現性がある

Submit

  • 予測結果を提出する

Evaluation

  • モデルの質は正解率によって決められる
  • コンベではどの評価関数を使うか決められている

Leaderboard

  • スコア自体よりも他の参加者と比べて相対的な性能を見る
  • データ分析 -> モデル改良 -> 提出 -> Leaderboard を見る を何度も繰り返す
  • 提出物を評価する時、Public、Private の2つのテストデータがある
    • Public はコンペ中の評価に使われるもの
    • Private はコンペ終了時に最終評価するもの(非公開)

コンペに参加する理由

  • 学習の機会
  • 視野を広げる
  • 賞金を獲得できるかもしれない…

Kaggle Overview

  • Kaggle の Overview > Evaluation には、このコンペの評価関数が記載されている
  • コンペの Rules を注意深くみること、参加人数、提出制限などなど、大事なことが書いてある

カーネルの目的

  • アイデアを素早くチェックする
  • 他の参加者にコードを共有する

Real World Application vs Competitions

実世界の機械学習

  • ビジネスの観点から問題を理解する
  • 問題の定式化
  • データを集める
  • データの前処理を行う
  • モデルを構築する
  • モデルを評価する方法
  • モデルをデプロイする方法

コンペ

  • データの前処理を行う
  • モデルを構築する

コンペは実世界の機械学習と比べて、単純化されている。

データに関する洞察は、アルゴリズムよりも大切

参考