sklearn использовать f_classif и выбирать объекты с оценкой выше порогового - PullRequest
1 голос
/ 06 апреля 2019

Я использую 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.

1 Ответ

0 голосов
/ 06 апреля 2019

На основе 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
...