評価指標がMAEの場合のテクニック

今回のコンペの評価指標はMean Absolute Error(MAE)です.
少し前にKaggleで同じく評価指標がMAEのコンペが行われていました.
(https://www.kaggle.com/c/ventilator-pressure-prediction/overview)
題材は全く違いますが,予測対象の値が連続値ではなく離散値であることも共通しています.

いくつか役に立ちそうなDiscussionの内容を共有します.

https://www.kaggle.com/c/ventilator-pressure-prediction/discussion/276138
評価関数がMAEの場合はアンサンブルの際にmeanではなくmedianを使う.

https://www.kaggle.com/c/ventilator-pressure-prediction/discussion/277690
評価関数がMAEでも損失関数にそのままMAEを使わないほうが良い.
※書籍『Kaggleで勝つデータ分析の技術』2.6.4にも同じような記載があります.

https://www.kaggle.com/snnclsr/a-dummy-approach-to-improve-your-score-postprocess/comments#1532455
出力の予測値を連続値から離散値に変換.このコンペだと以下ですかね.

loan_amount_unique = np.array(sorted(df_train['LOAN_AMOUNT'].unique()))
df_sub['LOAN_AMOUNT'] = df_sub['LOAN_AMOUNT'].map(lambda x: loan_amount_unique[np.abs(loan_amount_unique-x).argmin()])

Favicon
new user
コメントするには 新規登録 もしくは ログイン が必要です。