1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

How to Win a Data Science Competition: Learn from Top Kagglers サマリー Week 2《重要なところだけ》: EDA

Posted at

コースリンク: https://www.coursera.org/learn/competitive-data-science/
提供: National Research University, Higher School of Economics

はじめに

Kaggle初心者(natsuozawa)です。Kaggle Expertを目指して勉強しています。この講座をKaggle初心者ガイドで見つけ、面白そうだったので受けてみました。

読み返す価値のありそうな内容を集約しました。

過去の記事

EDA (Exploratory Data Analysis)

データを理解するためにデータを分析する。

ポイント: データを理解せずにモデルを組んでも、トップのスコアはたたき出せない。

基本的な過程

  1. データの領域知識(domain knowledge)をつける: ググる、Wikipediaを読むなどして、データが何を表すのか簡単に理解する
  2. データが常識的に間違っているところを見つける: 1の領域知識を使う。間違っている場合は、直す・is_correctの列を足すなどして改善できる
  3. データがどのように生成されたか理解する: バリデーションに必要。訓練データとテストデータが異なった方法で生成されていたら要注意

データの可視化

ヒストグラム

plt.hist(x)

ポイント: 異なる便個数・幅を使用したものを複数作って、データのパターンを入念に確認する

散布図

plt.plot(x, '.')

image.png

ポイント: 水平にパターンが見られるのはOKだが、縦方向にパターンがある場合データがシャッフルされていない。

なお、二つの特微量の関係を可視化することも良い。

plt.scatter(x1, x2, c=y)

image.png

ポイント:色を使いわける

平均・中央値・分散など

df.describe()

特微量同士の相関

df.corr()
plt.matshow(...)

特微量のグループ

相関する特微量をまとめてグループを見つける。特微量のグループはデータ生成に使える!

例:平均でまとめる
image.png

その他

x.value_counts()
x.isnull()
x.nunique()

検証

データの分け方

  • random split: 普通
  • 時間ベース: ある時間の前(test)と後(validation)に分ける
  • IDベース: 店番、製品IDなどに基づき分ける

ポイント:train/validationの分け方はtrain/testの分け方に似せる

検証の手法

  • Holdout: 普通のバリデーション sklearn.model_selection.ShuffleSplit
  • KFold: データのサイズが小さい場合 sklearn.model_selection.KFold
  • Leave one out (LOO): データのサイズが極めて小さい場合。名前通り。
  • Stratification: ラベルの分布を保持したい場合

ポイント:訓練で使ったデータを絶対に検証で再利用しない

検証時の問題

  • データが小さすぎる
  • データに一貫性がない

KFoldを何回も行い平均する、モデルチューニングと評価に別々の分割を使う

提出結果と検証スコアが一致しない問題

  • テストデータのサイズが小さい: しょうがない
  • テストデータの分布が訓練データと異なる: leaderboard probing、データの分け方を変える
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?