エビデンスで教育を考えた

頭が良くなる科学論文を紹介していきます。お勧め商品は楽天ルームで!https://room.rakuten.co.jp/room_12b7a40f6d/items

kaggleメモ〜ラッパーメソッドでの特徴量削減したら逆にスコア下がった〜

 懲りずにコンペに参加しているザコデータサイエンティストです。

今回参加しているコンペは特徴量が多く専門的なため特徴量を何とか削減できないかと思案していました。

borutaのような自動で重要な特徴量を選択してくれるものも使ってみたんですが、あんまりスコアが上がらず。。

 そこで試したのがラッパーメソッド。ラッパーメソッドは特徴選択基準を予測子のパフォーマンスで削減する方法です。コードは以下。

# ダミーデータを生成
X, y = make_classification(n_samples=56, n_features=56, random_state=42)

# 特徴量削減のためのモデルとしてロジスティック回帰を使用
model = LogisticRegression()

# RFEを設定
rfe = RFE(model, n_features_to_select=10)

# RFEを適用
X_rfe = rfe.fit_transform(X, y)

# 選択された特徴量のインデックスを取得
selected_feature_indices = rfe.support_
print("選択された特徴量のインデックス:", selected_feature_indices)

# 選択された特徴量を抽出
selected_features = X[:, selected_feature_indices]
print("選択された特徴量:\n", selected_features)

# XGBoostモデルを初期化
xgb_model = XGBClassifier()

# XGBoostモデルに選択された特徴量を適用してトレーニング
xgb_model.fit(selected_features, y)


これでウキウキしながらスコアを測ったら、なんとダダ下がり。

そりゃそうだよな、だって分析してないもん。

方法論としてこういうのがあるのを知るのはいいけれど、最後は自分で考えていかないといけないなという教訓を得ました。

参考
https://www.sciencedirect.com/science/article/abs/pii/S0045790613003066