Добрый день! Выполняю отбор признаков с помощью sklearn. Возьмем для примера ANOVA - sklearn.feature_selection.f_classif. В описании аргументов функции sklearn.feature_selection.f_classif в качестве входного массива признаков значится
X{array-like, sparse matrix}. Я понимаю это, как признаки, часть из которых nan.
Запуск кода
X, y = make_classification(
n_samples=200,
n_features=10,
n_informative=2,
n_redundant=8,
n_repeated=0,
shuffle=False,
random_state=random_state
)
X[0][0] = np.nan
selected_features = SelectKBest(f_classif, k=2).fit_transform(X, y)
приводит к ошибке
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Комментирование строки
X[0][0] = np.nan
ошибку устраняет, т.е. проблема именно в nan значении.
Вопрос: что имеется в виду в документации под sparse matrix и какие есть методики feature selection в sklearn или в других python библиотеках для разреженного признакового пространства?