"Data Analysis Techniques to Win Kaggle" table of contents /「Kaggleで勝つデータ分析の技術」の目次
This is table of contents of a book "Data Analysis Techniques to Win Kaggle (amazon.co.jp) written in Japanese and published on Oct. 2019. Authors are threecourse, Jack, hskksk, maxwell .
en | ja |
---|---|
Data Analysis Techniques to Win Kaggle | Kaggleで勝つデータ分析の技術 |
Chapter I: What is data analysis competition? | 第1章 分析コンペとは? |
1.1 what is data analysis competition? | 1.1 分析コンペって何? |
1.1.1 what do you do in competition? | 1.1.1 何をするものか |
1.1.2 submission and leaderboard | 1.1.2 予測結果の提出と順位表(Leaderboard) |
1.1.3 team | 1.1.3 チームでの参加 |
1.1.4 prize | 1.1.4 入賞賞金・特典 |
1.2 data analysis competition platform | 1.2 分析コンペのプラットフォーム |
1.2.1 Kaggle | 1.2.1 Kaggle |
1.2.2 Rankings | 1.2.2 Rankings(ランキング・称号制度) |
1.2.3 Kernel | 1.2.3 Kernel |
1.2.4 Discussion | 1.2.4 Discussion |
1.2.5 Datasets | 1.2.5 Datasets |
1.2.6 API | 1.2.6 API |
1.2.7 Newsfeed | 1.2.7 Newsfeed |
1.2.8 types of competitions and examples | 1.2.8 開催された分析コンペの種類と具体例 |
1.2.9 formats of competitions | 1.2.9 分析コンペのフォーマット |
1.3 from start to finish in competition | 1.3 分析コンペに参加してから終わるまで |
1.3.1 participate in competition | 1.3.1 分析コンペに参加 |
1.3.2 concent to terms | 1.3.2 規約に同意 |
1.3.3 download data | 1.3.3 データをダウンロード |
1.3.4 prediction | 1.3.4 予測値の作成 |
1.3.5 submission | 1.3.5 予測値の提出 |
1.3.6 check Public Leaderboard | 1.3.6 Public Leaderboardをチェック |
1.3.7 select final submissions | 1.3.7 最終予測値を選ぶ |
1.3.8 check Private Leaderboard | 1.3.8 Private Leaderboardをチェック |
1.4 what do you participate for? | 1.4 分析コンペに参加する意義 |
1.4.1 prize | 1.4.1 賞金を得る |
1.4.2 performance tiers and ranking | 1.4.2 称号やランキングを得る |
1.4.3 experience to analyze real data | 1.4.3 実データを用いた分析の経験・技術を得る |
1.4.4 connection to data scentists | 1.4.4 データサイエンティストとのつながりを得る |
1.4.5 job oppotunity | 1.4.5 就業機会を得る |
1.5 key points to win | 1.5 上位を目指すためのポイント |
1.5.1 tasks and metrics | 1.5.1 タスクと評価指標 |
1.5.2 feature engineering | 1.5.2 特徴量の作成 |
1.5.3 modelling | 1.5.3 モデルの作成 |
1.5.4 validation | 1.5.4 モデルの評価 |
1.5.5 model tuning | 1.5.5 モデルのチューニング |
1.5.6 ensemble | 1.5.6 アンサンブル |
1.5.7 workflow in competition | 1.5.7 分析コンペの流れ |
column - computational resources | Column 計算リソース |
Chapter II Tasks and Metrics | 第2章 タスクと評価指標 |
2.1 types of tasks | 2.1 分析コンペにおけるタスクの種類 |
2.1.1 regression | 2.1.1 回帰タスク |
2.1.2 classification | 2.1.2 分類タスク |
2.1.3 recommendation | 2.1.3 レコメンデーション |
2.1.4 other tasks | 2.1.4 その他のタスク |
2.2 datasets | 2.2 分析コンペのデータセット |
2.2.1 table data | 2.2.1 テーブルデータ |
2.2.2 external data | 2.2.2 外部データ |
2.2.3 time-series data | 2.2.3 時系列データ |
2.2.4 image and natural language | 2.2.4 画像や自然言語などのデータ |
2.3 evalution metrics | 2.3 評価指標 |
2.3.1 what is evaluation metrics? | 2.3.1 評価指標(evaluation metrics)とは |
2.3.2 metrics for regression | 2.3.2 回帰における評価指標 |
2.3.3 metrics for binary classification - when predict binary label | 2.3.3 二値分類における評価指標〜正例か負例かを予測値とする場合 |
2.3.4 metrics for binary classification - when predict probability | 2.3.4 二値分類における評価指標〜正例である確率を予測値とする場合 |
2.3.5 metrics for multi-class classification | 2.3.5 多クラス分類における評価指標 |
2.3.6 metrics for recommendation | 2.3.6 レコメンデーションにおける評価指標 |
2.4 evaluation metrics and objective function | 2.4 評価指標と目的関数 |
2.4.1 difference between evaluation metrics and objective function | 2.4.1 評価指標と目的関数の違い |
2.4.2 custom metrics and custom objective function | 2.4.2 カスタム評価指標とカスタム目的関数 |
2.5 metrics optimization | 2.5 評価指標の最適化 |
2.5.1 approaches to metrics optimization | 2.5.1 評価指標の最適化のアプローチ |
2.5.2 optimize threshold | 2.5.2 閾値の最適化 |
2.5.3 optimize threshold with out-of-fold | 2.5.3 閾値の最適化をout-of-foldで行うべきか? |
column - out-of-fold | Column out-of-foldとは? |
2.5.4 predicted probability and its adjustment | 2.5.4 予測確率とその調整 |
2.6 cases of metrics optimization | 2.6 評価指標の最適化の例 |
2.6.1 optimize balanced accuracy | 2.6.1 balanced accuracyの最適化 |
2.6.2 optimize mean-F1 threshold | 2.6.2 mean-F1における閾値の最適化 |
2.6.3 optimize quadratic weighted kappa threshold | 2.6.3 quadratic weighted kappaにおける閾値の最適化 |
2.6.4 optimize MAE with custom objective function | 2.6.4 カスタム目的関数での評価指標の近似によるMAEの最適化 |
2.6.5 approximate MCC with PR-AUC | 2.6.5 MCCのPR-AUCによる近似とモデル選択 |
2.7 leakage | 2.7 リーク(data leakage) |
2.7.1 unexpected information leakage by host | 2.7.1 予測に有用な情報が想定外に漏れている意味でのリーク |
2.7.2 wrong validation scheme by participant | 2.7.2 バリデーションの枠組みの誤りという意味でのリーク |
Chapter III feature engineering | 第3章 特徴量の作成 |
3.1 structure of this chapter | 3.1 本章の構成 |
3.2 model and features | 3.2 モデルと特徴量 |
3.2.1 model and features | 3.2.1 モデルと特徴量 |
3.2.2 baseline feature engineering | 3.2.2 ベースラインとなる特徴量 |
3.2.3 think as if I were a decision tree | 3.2.3 決定木の気持ちになって考える |
3.3 handle missing values | 3.3 欠損値の扱い |
3.3.1 use missing values as-is | 3.3.1 欠損値のまま取り扱う |
3.3.2 fill by statistic values | 3.3.2 欠損値を代表値で埋める |
3.3.3 predict missing values with other variables | 3.3.3 欠損値を他の変数から予測する |
3.3.4 create features from missing values | 3.3.4 欠損値から新たな特徴量を作成する |
3.3.5 recognize missing value in data | 3.3.5 データ上の欠損の認識 |
3.4 transform numerical variable | 3.4 数値変数の変換 |
3.4.1 standarization | 3.4.1 標準化(standardization) |
column - scaling using only train data or concatenating train and test data | Column データ全体の数値を利用して変換を行うときに、 学習データのみを使うか、テストデータも使うか |
3.4.2 min-max scaling | 3.4.2 Min-Maxスケーリング |
3.4.3 non-linear transformation | 3.4.3 非線形変換 |
3.4.4 clipping | 3.4.4 clipping |
3.4.5 binning | 3.4.5 binning |
3.4.6 ranking | 3.4.6 順位への変換 |
3.4.7 rankgauss | 3.4.7 RankGauss |
3.5 transform categorical variable | 3.5 カテゴリ変数の変換 |
3.5.1 one-hot encoding | 3.5.1 one-hot encoding |
3.5.2 label encoding | 3.5.2 label encoding |
3.5.3 feature hashing | 3.5.3 feature hashing |
3.5.4 frequency encoding | 3.5.4 frequency encoding |
3.5.5 target encoding | 3.5.5 target encoding |
3.5.6 embedding | 3.5.6 embedding |
3.5.7 handle ordinal variable | 3.5.7 順序変数の扱い |
3.5.8 extract information from categorical variable | 3.5.8 カテゴリ変数の値の意味を抽出する |
3.6 transform datetime variable | 3.6 日付・時刻を表す変数の変換 |
3.6.1 key points to transfrom datetime variable | 3.6.1 日付・時刻を表す変数の変換のポイント |
3.6.2 features from datetime variable | 3.6.2 日付・時刻を表す変数の変換による特徴量 |
3.7 combine variables | 3.7 変数の組み合わせ |
3.8 merge other tables | 3.8 他のテーブルの結合 |
3.9 aggregation and statistics | 3.9 集約して統計量をとる |
3.9.1 take simple statistics | 3.9.1 単純な統計量をとる |
3.9.2 take temporal statistics | 3.9.2 時間的な統計量をとる |
3.9.3 filter | 3.9.3 条件を絞る |
3.9.4 change aggregation units | 3.9.4 集計する単位を変える |
3.9.5 focus on item, not only user | 3.9.5 ユーザ側でなく、アイテム側に注目する |
3.10 time-series data | 3.10 時系列データの扱い |
3.10.1 time-series data | 3.10.1 時系列データとは? |
3.10.2 use only information prior to prediction point of time | 3.10.2 予測する時点より過去の情報のみを使う |
3.10.3 wide and long format | 3.10.3 ワイドフォーマットとロングフォーマット |
3.10.4 lag feature | 3.10.4 ラグ特徴量 |
3.10.5 create feature correspoding to point of time | 3.10.5 時点と紐付いた特徴量を作る |
3.10.6 time range available for prediction | 3.10.6 予測に使えるデータの期間 |
3.11 dimension reduction and unsupervised learning | 3.11 次元削減・教師なし学習による特徴量 |
3.11.1 principal component analysis (PCA) | 3.11.1 主成分分析(PCA) |
3.11.2 non-negative matrix factorization (NMF) | 3.11.2 非負値行列因子分解(NMF) |
3.11.3 latent dirichlet allocation (LDA) | 3.11.3 Latent Dirichlet Allocation(LDA) |
3.11.4 linear discriminant analysis (LDA) | 3.11.4 線形判別分析(LDA) |
3.11.5 t-SNE, UMAP | 3.11.5 t-SNE、UMAP |
3.11.6 auto-encoder | 3.11.6 オートエンコーダ |
3.11.7 clustering | 3.11.7 クラスタリング |
3.12 other techniques | 3.12 その他のテクニック |
3.12.1 focus on mechanisms underlying | 3.12.1 背景にあるメカニズムから考える |
3.12.2 focus on relationship between records | 3.12.2 レコード間の関係性に注目する |
3.12.3 focus on relative values | 3.12.3 相対値に注目する |
3.12.4 focus on location | 3.12.4 位置情報に注目する |
3.12.5 NLP methods | 3.12.5 自然言語処理の手法 |
3.12.6 apply NLP methods to data other than natural language | 3.12.6 自然言語処理の手法の応用 |
3.12.7 apply topic model to transform categorical variables | 3.12.7 トピックモデルの応用によるカテゴリ変数の変換 |
3.12.8 image features | 3.12.8 画像特徴量を扱う手法 |
3.12.9 decision tree feature transformation | 3.12.9 decision tree feature transformation |
3.12.10 deanonymize anonymized data | 3.12.10 匿名化されたデータの変換前の値を推測する |
3.12.11 correct errors in data | 3.12.11 データの誤りを修正する |
3.13 cases of feature engineering in competition | 3.13 分析コンペにおける特徴量の作成の例 |
3.13.1 Kaggle - Recruit Restaurant Visitor Forecasting | 3.13.1 Kaggleの「Recruit Restaurant Visitor Forecasting」 |
3.13.2 Kaggle - Santander Product Recommendation | 3.13.2 Kaggleの「Santander Product Recommendation」 |
3.13.3 Kaggle - Instacart Market Basket Analysis | 3.13.3 Kaggleの「Instacart Market Basket Analysis」 |
3.13.4 KDD Cup 2015 | 3.13.4 KDD Cup 2015 |
3.13.5 other techniques in competition | 3.13.5 分析コンペにおけるその他のテクニックの例 |
Chapter IV Modeling | 第4章 モデルの作成 |
4.1 what is model? | 4.1 モデルとは何か? |
4.1.1 what is model? | 4.1.1 モデルとは何か? |
4.1.2 workflow of modeling | 4.1.2 モデル作成の流れ |
4.1.3 terms and points of modeling | 4.1.3 モデルに関連する用語とポイント |
4.2 models used in competition | 4.2 分析コンペで使われるモデル |
4.3 GBDT(gradient boosting decision tree) | 4.3 GBDT(勾配ブースティング木) |
4.3.1 overview of GBDT | 4.3.1 GBDTの概要 |
4.3.2 characteristics of GBDT | 4.3.2 GBDTの特徴 |
4.3.3 major libraries of GBDT | 4.3.3 GBDTの主なライブラリ |
4.3.4 how to use GBDT | 4.3.4 GBDTの実装 |
4.3.5 points to use xgboost | 4.3.5 xgboostの使い方のポイント |
4.3.6 lightgbm | 4.3.6 lightgbm |
4.3.7 catboost | 4.3.7 catboost |
column - xgboost algorithm | Column xgboostのアルゴリズムの解説 |
4.4. neural network | 4.4 ニューラルネット |
4.4.1 overview of neural network | 4.4.1 ニューラルネットの概要 |
4.4.2 characteristics of neural network | 4.4.2 ニューラルネットの特徴 |
4.4.3 major libraries of neural network | 4.4.3 ニューラルネットの主なライブラリ |
4.4.4 how to use neural network | 4.4.4 ニューラルネットの実装 |
4.4.5 points to use keras | 4.4.5 kerasの使い方のポイント |
4.4.6 solution references - multi layer perceptron | 4.4.6 参考になるソリューション - 多層パーセプトロン |
4.4.7 solution references - recent neural network developments | 4.4.7 参考になるソリューション - 最近のニューラルネットの発展 |
4.5 linear model | 4.5 線形モデル |
4.5.1 overview of linear model | 4.5.1 線形モデルの概要 |
4.5.2 characteristics of linear model | 4.5.2 線形モデルの特徴 |
4.5.3 major libraries of linear model | 4.5.3 線形モデルの主なライブラリ |
4.5.4 how to use linear model | 4.5.4 線形モデルの実装 |
4.5.5 points to use linear model | 4.5.5 線形モデルの使い方のポイント |
4.6 other models | 4.6 その他のモデル |
4.6.1 k-nearest neighbor algorithm (kNN) | 4.6.1 k近傍法(k-nearest neighbor algorithm、kNN) |
4.6.2 random forest (RF) | 4.6.2 ランダムフォレスト(Random Forest、RF) |
4.6.3 extremely randomized trees (ERT) | 4.6.3 Extremely Randomized Trees(ERT) |
4.6.4 regularized greedy forest (RGF) | 4.6.4 Regularized Greedy Forest(RGF) |
4.6.5 field-aware factorization machines (FFM) | 4.6.5 Field-aware Factorization Machines(FFM) |
4.7 other points and techniques | 4.7 モデルのその他のポイントとテクニック |
4.7.1 when there are missing values | 4.7.1 欠損値がある場合 |
4.7.2 when features are many | 4.7.2 特徴量の数が多い場合 |
4.7.3 when target is not correspended to a record | 4.7.3 目的変数に1対1で対応するテーブルでない場合 |
4.7.4 pseudo labeling | 4.7.4 pseudo labeling |
columns - structure of directories and classes for competition | Column 分析コンペ用のクラスやフォルダの構成 |
Chapter V Validation | 第5章 モデルの評価 |
5.1 what is validation? | 5.1 モデルの評価とは? |
5.2 validation methods | 5.2 バリデーションの手法 |
5.2.1 hold-out | 5.2.1 hold-out法 |
5.2.2 cross validation | 5.2.2 クロスバリデーション |
5.2.3 stratified k-fold | 5.2.3 stratified k-fold |
5.2.4 group k-fold | 5.2.4 group k-fold |
5.2.5 leave-one-out | 5.2.5 leave-one-out |
5.3 validation methods for time-series data | 5.3 時系列データのバリデーション手法 |
5.3.1 temporal hold-out | 5.3.1 時系列データのhold-out法 |
5.3.2 temporal cross validation(temporal order aware) | 5.3.2 時系列データのクロスバリデーション(時系列に沿って行う方法) |
5.3.3 temporal cross validation(temporal order ignorant) | 5.3.3 時系列データのクロスバリデーション(単純に時間で分割する方法) |
5.3.4 points of time-series data validation | 5.3.4 時系列データのバリデーションの注意点 |
5.3.5 Kaggle - Recruit Restaurant Visitor Forecasting | 5.3.5 Kaggleの「Recruit Restaurant Visitor Forecasting」 |
5.3.6 Kaggle - Santander Product Recommendation | 5.3.6 Kaggleの「Santander Product Recommendation」 |
5.4 validation points and techniques | 5.4 バリデーションのポイントとテクニック |
5.4.1 purpose of validation | 5.4.1 バリデーションを行う目的 |
5.4.2 mimic split of train and test data | 5.4.2 学習データとテストデータの分割をまねる |
5.4.3 when distribution between train and test data is different | 5.4.3 学習データとテストデータの分布が違う場合 |
5.4.4 utilize leaderboard | 5.4.4 Leaderboardの情報を利用する |
5.4.5 "overfit" to validation data or Public Leaderboard | 5.4.5 バリデーションデータやPublic Leaderboardへの過剰な適合 |
5.4.6 create feature for each cross validation split | 5.4.6 クロスバリデーションのfoldごとに特徴量を作り直す |
5.4.7 augment train data | 5.4.7 使える学習データを増やす |
Chapter VI Model Tuning | 第6章 モデルのチューニング |
6.1 hyper-parameter tuning | 6.1 パラメータチューニング |
6.1.1 hyper-parameter search methods | 6.1.1 ハイパーパラメータの探索手法 |
6.1.2 things to set in parameter tuning | 6.1.2 パラメータチューニングで設定すること |
6.1.3 points in parameter tuning | 6.1.3 パラメータチューニングのポイント |
6.1.4 Bayesian optimization | 6.1.4 ベイズ最適化でのパラメータ探索 |
6.1.5 GBDT parameters and tuning | 6.1.5 GBDTのパラメータおよびそのチューニング |
column - xgboost parameter tuning | Column xgboostの具体的なパラメータチューニングの方法 |
6.1.6 neural net parameters and tuning | 6.1.6 ニューラルネットのパラメータおよびそのチューニング |
column - MLP parameter tuning | Column 多層パーセプトロンの具体的なパラメータチューニングの方法 |
6.1.7 linear model parameter tuning | 6.1.7 線形モデルのパラメータおよびそのチューニング |
6.2 feature selection and feature importances | 6.2 特徴選択および特徴量の重要度 |
6.2.1 univariate statistics | 6.2.1 単変量統計を用いる方法 |
6.2.2 feature importances | 6.2.2 特徴量の重要度を用いる方法 |
6.3.3 iterative selection | 6.2.3 反復して探索する方法 |
6.3 imbalanced data | 6.3 クラスの分布が偏っている場合 |
column - algorithms of Baysian Optimization and TPE | Column ベイズ最適化およびTPEのアルゴリズム |
Chapter VII Ensemble | 第7章 アンサンブル |
7.1 what is ensemble? | 7.1 アンサンブルとは? |
7.2 simple ensemble methods | 7.2 シンプルなアンサンブル手法 |
7.2.1 average and weighted average | 7.2.1 平均、加重平均 |
7.2.2 voting and weighted voting | 7.2.2 多数決、重みづけ多数決 |
7.2.3 points and other techniques | 7.2.3 注意点とその他のテクニック |
7.3 stacking | 7.3 スタッキング |
7.3.1 overview of stacking | 7.3.1 スタッキングの概要 |
7.3.2 stacking as a method to create feature | 7.3.2 特徴量作成の方法としてのスタッキング |
7.3.3 how to use stacking | 7.3.3 スタッキングの実装 |
7.3.4 points of stacking | 7.3.4 スタッキングのポイント |
7.3.5 ensemble using hold-out prediction | 7.3.5 hold-outデータへの予測値を用いたアンサンブル |
7.4 what models should be included for ensemble? | 7.4 どんなモデルをアンサンブルすると良いか? |
7.4.1 diverse models | 7.4.1 多様なモデルを使う |
7.4.2 different hyper-paramters | 7.4.2 ハイパーパラメータを変える |
7.4.3 different features | 7.4.3 特徴量を変える |
7.4.4 differnet interpretation of task | 7.4.4 問題のとらえ方を変える |
7.5.4 model selection for ensemble | 7.4.5 スタッキングに含めるモデルの選択 |
7.5 cases in competition | 7.5 分析コンペにおけるアンサンブルの例 |
7.5.1 Kaggle - Otto Group Product Classification Challenge | 7.5.1 Kaggleの「Otto Group Product Classification Challenge」 |
7.5.2 Kaggle - Home Depot Product Search Relevance | 7.5.2 Kaggleの「Home Depot Product Search Relevance」 |
7.5.3 Kaggle - Home Credit Default Risk | 7.5.3 Kaggleの「Home Credit Default Risk」 |