Согласно этому сообщению quora
Объект RFECV помогает настроить или найти этот параметр n_features, используя перекрестную проверку. Для каждого шага, где исключается количество «шагов», он рассчитывает балл по данным проверки. Количество функций, оставленных на шаге, которое дает максимальный балл для данных проверки, считается «лучшим n_features» ваших данных.
В которой говорится, что RFECV определяет оптимальное количество функций (n_features) для получения наилучшего результата.
Встроенный объект RFECV
содержит атрибут ranking_
с ранжированием объектов и маску support_
для выбора оптимальных найденных объектов.
Однако, если вы ДОЛЖНЫ выбрать лучшие n_features из RFECV, вы можете использовать атрибут ranking_
optimal_features = X[:, selector.support_] # selector is a RFECV fitted object
n = 6 # to select top 6 features
feature_ranks = selector.ranking_ # selector is a RFECV fitted object
feature_ranks_with_idx = enumerate(feature_ranks)
sorted_ranks_with_idx = sorted(feature_ranks_with_idx, key=lambda x: x[1])
top_n_idx = [idx for idx, rnk in sorted_ranks_with_idx[:n]]
top_n_features = X[:5, top_n_idx]
Ссылка:
документация sklearn , Quora post