我使用f_classif
来确定我的功能得分:
def select_feature_anova(x,y,data):
anova = feature_selection.f_classif(x, y)
threshold = 10
# How to build x_new?
将x
转换为x_new
以使其仅包括分数高于阈值的特征的最简单方法是什么?另外,我想排除得分为Nan
的功能。
答案 0 :(得分:0)
基于documentation
,我们可以基于F分数过滤功能。
尝试一下!
from sklearn.feature_selection import f_classif
import numpy as np
np.seterr(divide='ignore', invalid='ignore')
def select_feature_anova(X, y, threshold=10):
F,_ = feature_selection.f_classif(X, y)
X_new = X[:,F>threshold]
return X_new