RFECV#
- класс sklearn.feature_selection.RFECV(estimator, *, шаг=1, min_features_to_select=1, cv=None, оценка=None, verbose=0, n_jobs=None, importance_getter='auto')[источник]#
Рекурсивное исключение признаков с перекрестной проверкой для выбора признаков.
Истинные (правильные) значения целевой переменной. Требуется y_true >= 0.
RFEселектор на различных разбиениях кросс-валидации (предоставленныхcvпараметр). Производительность каждогоRFEселектор оценивается с использованиемscoringдля различного количества выбранных признаков и агрегируются вместе. Наконец, оценки усредняются по блокам, и количество выбранных признаков устанавливается равным количеству признаков, которые максимизируют оценку перекрестной проверки.См. запись в глоссарии для оценщик перекрестной проверки.
Подробнее в Руководство пользователя.
- Параметры:
- estimator
Estimatorэкземпляр Обучаемый классификатор с
fitметод, который предоставляет информацию о важности признаков либо черезcoef_атрибут или черезfeature_importances_атрибут.- шагint или float, по умолчанию=1
Если больше или равно 1, то
stepсоответствует (целому) количеству признаков для удаления на каждой итерации. Если в пределах (0.0, 1.0), тоstepсоответствует проценту (округленному вниз) признаков для удаления на каждой итерации. Обратите внимание, что последняя итерация может удалить меньше, чемstepпризнаков для достиженияmin_features_to_select.- min_features_to_selectint, по умолчанию=1
Минимальное количество признаков для выбора. Это количество признаков всегда будет оцениваться, даже если разница между исходным количеством признаков и
min_features_to_selectне делится наstep.Добавлено в версии 0.20.
- cvint, генератор кросс-валидации или итерируемый объект, по умолчанию=None
Определяет стратегию разделения для перекрестной проверки. Возможные значения для cv:
None, чтобы использовать стандартную 5-кратную перекрестную проверку,
целое число, чтобы указать количество фолдов.
Итерируемый объект, возвращающий (обучающие, тестовые) разбиения в виде массивов индексов.
Для целочисленных/None входов, если
yявляется бинарной или многоклассовой,StratifiedKFoldиспользуется. Если оценщик не является классификатором или еслиyне является ни бинарной, ни многоклассовой,KFoldиспользуется.Обратитесь Руководство пользователя для различных стратегий перекрестной проверки, которые можно использовать здесь.
Изменено в версии 0.22:
cvзначение по умолчанию None изменено с 3-кратной на 5-кратную перекрестную проверку.- оценкаstr или callable, по умолчанию=None
Метод оценки для
RFE(0 минут 0.107 секунд)str: см. Строковые имена скореров для опций.
callable: вызываемый объект scorer (например, функция) с сигнатурой
scorer(estimator, X, y). См. Вызываемые скореры подробности.None:estimator’s критерий оценки по умолчанию используется.
- verboseint, по умолчанию=0
Управляет подробностью вывода.
- n_jobsint или None, по умолчанию=None
Количество ядер для параллельного выполнения при обучении на разных фолдах.
Noneозначает 1, если только не вjoblib.parallel_backendконтекст.-1означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.Добавлено в версии 0.18.
- importance_getterstr или callable, по умолчанию='auto'
Если 'auto', использует важность признаков либо через
coef_илиfeature_importances_атрибуты оценщика.Также принимает строку, указывающую имя/путь атрибута для извлечения важности признаков. Например, дайте
regressor_.coef_в случаеTransformedTargetRegressorилиnamed_steps.clf.feature_importances_в случаеPipelineс последним шагом, названнымclf.Если
callable, переопределяет стандартный метод получения важности признаков. Вызываемый объект передается с обученным оценщиком и должен возвращать важность для каждого признака.Добавлено в версии 0.24.
- estimator
- Атрибуты:
classes_ndarray формы (n_classes,)Метки классов доступны, когда
estimatorявляется классификатором.- estimator_
Estimatorэкземпляр Обученный оценщик, используемый для выбора признаков.
- cv_results_словарь ndarrays
Все массивы (значения словаря) отсортированы в порядке возрастания по количеству используемых признаков (т.е. первый элемент массива представляет модели, использовавшие наименьшее количество признаков, а последний элемент представляет модели, использовавшие все доступные признаки).
Добавлено в версии 1.0.
Этот словарь содержит следующие ключи:
- split(k)_test_scorendarray формы (n_subsets_of_features,)
Оценки перекрестной проверки по (k)-й выборке.
- mean_test_scorendarray формы (n_subsets_of_features,)
Среднее значение оценок по фолдам.
- std_test_scorendarray формы (n_subsets_of_features,)
Стандартное отклонение оценок по фолдам.
- n_featuresndarray формы (n_subsets_of_features,)
Количество признаков, используемых на каждом шаге.
Добавлено в версии 1.5.
- split(k)_rankingndarray формы (n_subsets_of_features,)
Ранги перекрёстной проверки по (k)-й фолде. Выбранные (т.е. оцененные как лучшие) признаки получают ранг 1. Иллюстрация в Рекурсивное исключение признаков с перекрестной проверкой
Добавлено в версии 1.7.
- split(k)_supportndarray формы (n_subsets_of_features,)
Поддержка перекрестной проверки по (k)-й выборке. Поддержка представляет собой маску выбранных признаков.
Добавлено в версии 1.7.
- n_features_int
Количество выбранных признаков с перекрестной проверкой.
- n_features_in_int
Количество признаков, замеченных во время fit. Определяется только если базовая оценка предоставляет такой атрибут при обучении.
Добавлено в версии 0.24.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлено в версии 1.0.
- ranking_массив формы (n_features,)
Ранжирование признаков, такое что
ranking_[i]Версии Python, scikit-learn, numpy и scipy- support_ndarray формы (n_features,)
Маска выбранных признаков.
Смотрите также
RFEРекурсивное исключение признаков.
Примечания
Размер всех значений в
cv_results_равноceil((n_features - min_features_to_select) / step) + 1, где step — количество признаков, удаляемых на каждой итерации.Разрешает NaN/Inf во входных данных, если базовый оценщик также это делает.
Ссылки
[1]Guyon, I., Weston, J., Barnhill, S., & Vapnik, V., “Gene selection for cancer classification using support vector machines”, Mach. Learn., 46(1-3), 389–422, 2002.
Примеры
Следующий пример показывает, как извлечь 5 информативных признаков, априори неизвестных, в наборе данных Friedman #1.
>>> from sklearn.datasets import make_friedman1 >>> from sklearn.feature_selection import RFECV >>> from sklearn.svm import SVR >>> X, y = make_friedman1(n_samples=50, n_features=10, random_state=0) >>> estimator = SVR(kernel="linear") >>> selector = RFECV(estimator, step=1, cv=5) >>> selector = selector.fit(X, y) >>> selector.support_ array([ True, True, True, True, True, False, False, False, False, False]) >>> selector.ranking_ array([1, 1, 1, 1, 1, 6, 4, 3, 2, 5])
Для подробного примера использования RFECV при выборе признаков при обучении
LogisticRegression, см. Рекурсивное исключение признаков с перекрестной проверкой.- decision_function(X)[источник]#
Вычислить решающую функцию
X.- Параметры:
- X{array-like или разреженная матрица} формы (n_samples, n_features)
Входные выборки. Внутренне они будут преобразованы в
dtype=np.float32и если разреженная матрица предоставлена, в разреженнуюcsr_matrix.
- Возвращает:
- scoreмассив, форма = [n_samples, n_classes] или [n_samples]
Функция принятия решений входных выборок. Порядок классов соответствует порядку в атрибуте classes_. Регрессия и бинарная классификация производят массив формы [n_samples].
- fit(X, y, **params)[источник]#
Обучите модель RFE и автоматически настройте количество выбранных признаков.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Вектор обучения, где
n_samples— это количество образцов иn_features— это общее количество признаков.- yarray-like формы (n_samples,)
Целевые значения (целые числа для классификации, вещественные числа для регрессии).
- **paramsdict of str -> object
Параметры, передаваемые в
fitметод оценщика, оценщик и разделитель CV.Добавлено в версии 1.6: Доступно только если
enable_metadata_routing=True, который можно установить с помощьюsklearn.set_config(enable_metadata_routing=True). См. Руководство по маршрутизации метаданных для получения дополнительной информации.
- Возвращает:
- selfobject
Обученный оценщик.
- fit_transform(X, y=None, **fit_params)[источник]#
Обучение на данных с последующим преобразованием.
Обучает преобразователь на
Xиyс необязательными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
- Xarray-like формы (n_samples, n_features)
Входные выборки.
- yarray-like формы (n_samples,) или (n_samples, n_outputs), default=None
Целевые значения (None для неконтролируемых преобразований).
- **fit_paramsdict
Дополнительные параметры обучения. Передавайте только если оценщик принимает дополнительные параметры в своем
fitметод.
- Возвращает:
- X_newndarray массив формы (n_samples, n_features_new)
Преобразованный массив.
- get_feature_names_out(input_features=None)[источник]#
Маскировать имена признаков в соответствии с выбранными признаками.
- Параметры:
- input_featuresarray-like из str или None, по умолчанию=None
Входные признаки.
Если
input_featuresявляетсяNone, затемfeature_names_in_используется как имена признаков в. Еслиfeature_names_in_не определено, тогда генерируются следующие имена входных признаков:["x0", "x1", ..., "x(n_features_in_ - 1)"].Если
input_featuresявляется массивоподобным, тогдаinput_featuresдолжен соответствоватьfeature_names_in_iffeature_names_in_определен.
- Возвращает:
- feature_names_outndarray из str объектов
Преобразованные имена признаков.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
Добавлено в версии 1.6.
- Возвращает:
- маршрутизацияMetadataRouter
A
MetadataRouterИнкапсуляция информации о маршрутизации.
- get_params(глубокий=True)[источник]#
Получить параметры для этого оценщика.
- Параметры:
- глубокийbool, по умолчанию=True
Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.
- Возвращает:
- paramsdict
Имена параметров, сопоставленные с их значениями.
- get_support(индексы=False)[источник]#
Получить маску или целочисленный индекс выбранных признаков.
- Параметры:
- индексыbool, по умолчанию=False
Если True, возвращаемое значение будет массивом целых чисел, а не булевой маской.
- Возвращает:
- поддержкамассив
Индекс, который выбирает сохраняемые признаки из вектора признаков. Если
indicesравно False, это булев массив формы [# входных признаков], в котором элемент равен True, если соответствующий признак выбран для сохранения. Еслиindicesесли True, это целочисленный массив формы [# выходных признаков], значения которого являются индексами входного вектора признаков.
- inverse_transform(X)[источник]#
Обратить операцию преобразования.
- Параметры:
- Xмассив формы [n_samples, n_selected_features]
Входные образцы.
- Возвращает:
- X_originalмассив формы [n_samples, n_original_features]
Xсо столбцами нулей, вставленными там, где признаки были бы удалены с помощьюtransform.
- predict(X, **predict_params)[источник]#
Уменьшить X до выбранных признаков и предсказать с использованием оценщика.
- Параметры:
- Xмассив формы [n_samples, n_features]
Входные образцы.
- **predict_paramsdict
Параметры для маршрутизации в
predictметод базового оценщика.Добавлено в версии 1.6: Доступно только если
enable_metadata_routing=True, который можно установить с помощьюsklearn.set_config(enable_metadata_routing=True). См. Руководство по маршрутизации метаданных для получения дополнительной информации.
- Возвращает:
- yмассив формы [n_samples]
Предсказанные значения целевой переменной.
- predict_log_proba(X)[источник]#
Предсказать логарифмы вероятностей классов для X.
- Параметры:
- Xмассив формы [n_samples, n_features]
Входные образцы.
- Возвращает:
- pмассив формы (n_samples, n_classes)
Логарифмы вероятностей классов входных выборок. Порядок классов соответствует порядку в атрибуте classes_.
- predict_proba(X)[источник]#
Предсказать вероятности классов для X.
- Параметры:
- X{array-like или разреженная матрица} формы (n_samples, n_features)
Входные выборки. Внутренне они будут преобразованы в
dtype=np.float32и если разреженная матрица предоставлена, в разреженнуюcsr_matrix.
- Возвращает:
- pмассив формы (n_samples, n_classes)
Вероятности классов входных выборок. Порядок классов соответствует порядку в атрибуте classes_.
- score(X, y, **score_params)[источник]#
Оценка с использованием
scoringопцию на предоставленных тестовых данных и метках.- Параметры:
- Xarray-like формы (n_samples, n_features)
Тестовые выборки.
- yarray-like формы (n_samples,)
Истинные метки для X.
- **score_paramsdict
Параметры для передачи в
scoreметод базового скорера.Добавлено в версии 1.6: Доступно только если
enable_metadata_routing=True, который можно установить с помощьюsklearn.set_config(enable_metadata_routing=True). См. Руководство по маршрутизации метаданных для получения дополнительной информации.
- Возвращает:
- scorefloat
Оценка self.predict(X) относительно y, определенная
scoring.
- set_output(*, преобразовать=None)[источник]#
Установить контейнер вывода.
См. Введение API set_output для примера использования API.
- Параметры:
- преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None
Настройка вывода
transformиfit_transform."default": Формат вывода трансформера по умолчанию"pandas": DataFrame вывод"polars": Вывод PolarsNone: Конфигурация преобразования не изменена
Добавлено в версии 1.4:
"polars"опция была добавлена.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- set_params(**params)[источник]#
Установить параметры этого оценщика.
Метод работает как на простых оценщиках, так и на вложенных объектах (таких как
Pipeline). Последние имеют параметры видачтобы можно было обновить каждый компонент вложенного объекта.__ - Параметры:
- **paramsdict
Параметры оценщика.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- преобразовать(X)[источник]#
Уменьшить X до выбранных признаков.
- Параметры:
- Xмассив формы [n_samples, n_features]
Входные образцы.
- Возвращает:
- X_rмассив формы [n_samples, n_selected_features]
Входные выборки только с выбранными признаками.
Примеры галереи#
Рекурсивное исключение признаков с перекрестной проверкой