Step Forward の特徴量選択について
解決したいこと
Step Forwardでの特徴量選択を行った結果、全部で36個の特徴量のうち2つを使ったときのスコアが最も高く(0.4716)、その後は大体同じようなものでした(0.45~0.468)。
これは特徴量が2つの時が一番いいらしいと解釈してよいのでしょうか?自分の薄いドメイン知識からでもとても信じられません。
またχ2検定や相関を調べる方法よりは実際にモデルを使ったほうがよさそうだと思いこの方法にしましたが、他の方法のほうが優れていることもあるのでしょうか?
該当するソースコード
for i in range(1, x.shape[1]+1):
sfs1 = SFS(lgb.LGBMClassifier(objective="multiclass", num_class=3,n_jobs=-1, random_state=1),
n_features_to_select=i,
direction="forward",
scoring='neg_log_loss',
cv=KFold(n_splits=10, shuffle=True, random_state=1))
sfs1 = sfs1.fit(train_x, train_y)
selected_feat = sfs1.transform(x)
clf = lgb.LGBMClassifier(objective="multiclass", num_class=3,n_jobs=-1, random_state=1)
scores = cross_val_score(clf, selected_feat, y, n_jobs=-1, cv=KFold(n_splits=10, shuffle=True, random_state=1),scoring="accuracy")
score = scores.mean()
print(i)
print(score)
print()
0