タグ・4本
特徴量エンジニアリング
pandasのshift(1)で「前日」を作ったら、2日前の値が入っていた
日付が抜けるとshift(1)は前日ではなく前の行を返します。NaN同士でも参照日が違う例を13行の人工データで確認。自分のCSVでずれた日付を探し、前日値と3日平均を作り直すコードを紹介します。
sklearnの既定値で精度が下がる場所を6データで実測—最初に疑うのはスケーリング忘れ
scikit-learnを既定のまま使うと精度が下がる箇所を、6つの分類データで比較しました。スケールがバラバラなwineではSVMの正解率が標準化だけで0.672から0.983へ上がる一方、元から同尺度の手書き数字ではわずかに下がります。max_iterとCの調整では改善を確認できませんでした。
ターゲットエンコーディングのデータリーク—無関係な列のAUCが0.795まで上がった
ターゲットエンコーディングを全データのカテゴリ平均で作ると、無関係な乱数列でも交差検証AUCが0.795まで上がりました(独立ホールドアウトでは0.499)。平滑化(スムージング)を強めても上振れは頭打ちで残り、out-of-fold実装なら0.5付近へ戻りました。どんな条件で見かけのスコアが膨らむかも、水準数と件数を変えて実測しています。
特徴量の「全部盛り」はGBDTの精度を下げるか—5手法を実測比較
特徴量を全部盛りにしても、GBDT(LightGBM)の held-out 精度は今回は壊れませんでした。数値信号が豊富な合成データではむしろ改善する一方、実データ adult では精度が動かないまま特徴量数と学習時間だけが数倍に増えました。合成2種と実データ2種でablation比較し、手元で試せる実装例つきで記録します。