出版社からのコメント
Kaggleで勝つための暗黙知が明かされる! |
●評価指標
回帰 | |
評価指標 | scikit-learn |
RMSE(Root Mean Squared Error:平均平方二乗誤差) | mean_squared_error |
RMSLE(Root Mean Squared Logarithmic Error) | mean_squared_log_error |
MAE(Mean Absolute Error) | mean_absolute_error |
決定係数(R^2) | r2_score |
二値分類 | |
評価指標 | scikit-learn |
confusion matrix(混合行列) | confuion_matrix |
accuracy(正答率) | accuracy_score |
precision(適合率) | precision_score |
recall(再現率) | recall_score |
F1-score | f1_score |
Fβ-score | fbeta_score |
MCC(Matthews Correlation Coefficient) | matthews_corrcoef |
logloss | log_loss |
AUC(Area Under the ROC Curve) | roc_auc_score |
多クラス分類 | |
評価指標 | scikit-learn |
multi-class accuracy | accuracy_score |
multi-class logloss | log_loss |
mean-F1 / macro-F1 / micro-F1 | f1_score |
quadratic weighted kappa | quadratic_weighted_kappa |
レコメンデーション | |
評価指標 | scikit-learn |
MAP@K |
●目的関数は下記が一般的
・回帰タスク:RMSE
・分類タスク:logloss
●閾値の最適化(scipy.optimize)
・Nedler-Mead
・COBYLA
●予測確率とその調整
・予測確率が歪んでいる場合
・データが十分でない場合
・モデルの学習のアルゴリズム上、妥当な確率を
予測するように最適化されない場合
・予測確率の調整
・予測値をn乗する
・極端に0や1に近い確率のクリップ
・スタッキング
・CalibratedClassifierCV
●リーク
・テストデータが学習データに入っている
・テストデータの特徴量に予測対象の値が入っている
・将来の情報が過去のデータに入っている
・利用できないように削除した変数の代理となる変数が残っている
・難読化・ランダム化・匿名化などを解析して元に戻すことができる
・モデルを実際に学習・予測するときに利用できない情報が含まれている
・第三者のデータに上記の情報が含まれている
●特徴量作成のテクニック
・変数を変換することで特徴量を作成する方法
・欠損値の扱い
・数値変数の変換
・カテゴリ変数の変換
・日付・時刻を表す変数の変換
・変数の組合せ
・別のテーブルのデータや時系列データから作成する方法
・他のテーブルの結合
・集約して統計量をとる
・時系列データの扱い
・次元削減・教師なし学習による特徴量の作成
・PCA(主成分分析)
・非負値行列因子分解(NMF)
・Latent Dirichlet Allocation(LDA)
・線形判別分析(LDA)
・t-SNE、UMAP
・オートエンコーダ
・クラスタリング
・その他のテクニック
●特徴選択の方法
・単変量統計を用いる方法
・相関係数
・カイ二乗統計量
・相互情報量
・特徴量の重要度を用いる方法
・ランダムフォレスト
・GBDT
・反復して探索する方法
・Greedy Forward Selection
●アンサンブルの方法
・多様なモデルを使う
・ハイパーパラメータを変える
・特徴量を変える
・問題の捉え方を変える
●その他のkaggle本