RFE
- классsklearn.feature_selection.RFE(estimator, *, n_features_to_select=None, step=1, verbose=0, importance_getter='auto')[source]
-
Ранжирование признаков с рекурсивным исключением признаков.
При заданном внешнем оценщике, который присваивает веса признакам (например, коэффициенты линейной модели), цель рекурсивного исключения признаков (RFE) — отобрать признаки, рекурсивно рассматривая всё меньшие и меньшие наборы признаков. Сначала оценщик обучается на исходном наборе признаков, и важность каждого признака определяется либо через определённый атрибут, либо вызываемый метод. Затем наименее важные признаки удаляются из текущего набора признаков. Этот процесс повторяется рекурсивно на усечённом наборе, пока не будет достигнуто желаемое число признаков для отбора.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
-
estimator
Estimatorэкземпляр -
Модель машинного обучения с
fitметодом, предоставляющим информацию о важности признаков (например,coef_,feature_importances_). - n_features_to_selectint или float, по умолчанию=None
-
Количество признаков для отбора. Если
None, выбирается половина признаков. Если целое число, то параметр — абсолютное число признаков для отбора. Если число с плавающей точкой между 0 и 1, то это доля признаков для отбора.Изменено в версии 0.24: Добавлены значения с плавающей точкой для долей.
- stepint или float, по умолчанию=1
-
Если больше или равно 1, то
stepсоответствует (целому) числу признаков, удаляемых на каждой итерации. Если значение находится в пределах (0.0, 1.0), тоstepсоответствует проценту (округленному вниз) признаков, удаляемых на каждой итерации. - verboseint, по умолчанию=0
-
Управление подробностью вывода.
- importance_getterстрока или вызываемый метод, по умолчанию=’auto’
-
Если ‘auto’, использует важность признака либо через
coef_, либоfeature_importances_атрибуты оценщика.Также принимает строку, которая указывает имя/путь атрибута для извлечения важности признаков (реализовано с помощью
attrgetter). Например, укажитеregressor_.coef_в случаеTransformedTargetRegressorилиnamed_steps.clf.feature_importances_в случае класса:~sklearn.pipeline.Pipelineс последним шагом под названиемclf.Если
callable, переопределяет значение по умолчанию для получения важности признаков. Вызываемый метод передаётся с обученной моделью, и он должен возвращать важность для каждого признака.Добавлен в версии 0.24.
-
estimator
- Атрибуты:
-
-
classes_массив формы (n_classes,) -
Метки классов, доступные, когда
estimator— классификатор. -
estimator_
Estimatorэкземпляр -
Обученный оценщик, используемый для отбора признаков.
- n_features_int
-
Количество отобранных признаков.
- n_features_in_int
-
Количество признаков, увиденных во время обучения. Определено только если основной оценщик имеет такой атрибут после обучения.
Добавлен в версии 0.24.
-
feature_names_in_массив формы (
n_features_in_,) -
Имена признаков, увиденные во время обучения. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлен в версии 1.0.
- ranking_массив формы (n_features,)
-
Ранжирование признаков, таким образом, что
ranking_[i]соответствует позиции ранжирования i-го признака. Отобранным (т.е. оценённым лучшим) признакам присваивается ранг 1. - support_массив формы (n_features,)
-
Маска отобранных признаков.
-
См. также
RFECV-
Рекурсивное исключение признаков с встроенным перекрестным оцениванием для выбора оптимального количества признаков.
SelectFromModel-
Отбор признаков на основе пороговых значений весов важности.
SequentialFeatureSelector-
Последовательный перекрестный отбор признаков. Не зависит от весов важности.
Примечания
Разрешает 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 RFE >>> from sklearn.svm import SVR >>> X, y = make_friedman1(n_samples=50, n_features=10, random_state=0) >>> estimator = SVR(kernel="linear") >>> selector = RFE(estimator, n_features_to_select=5, step=1) >>> 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])- свойствоclasses_
-
Метки классов, доступные, когда
estimator— классификатор.- Возвращает:
-
- массив формы (n_classes,)
- decision_function(X)[source]
-
Вычисление функции принятия решения для
X.- Параметры:
-
- X{массив или разреженная матрица} формы (n_samples, n_features)
-
Входные выборки. Внутренне будет преобразовано в
dtype=np.float32, а если предоставлена разреженная матрица, то в разреженнуюcsr_matrix.
- Возвращает:
-
- scoreмассив, форма = [n_samples, n_classes] или [n_samples]
-
Функция принятия решения для входных выборок. Порядок классов соответствует порядку в атрибуте classes_. Регрессия и бинарная классификация возвращают массив формы [n_samples].
- fit(X, y, **fit_params)[source]
-
Обучение модели RFE, а затем основной модели на отобранных признаках.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Входные образцы для обучения.
- yмассив формы (n_samples,)
-
Значения целевой переменной.
- **fit_paramsсловарь
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры, напрямую передаваемые методуfitбазового оценщика. - Если
enable_metadata_routing=True: Параметры, безопасно переданные методуfitбазового оценщика.
Изменено в версии 1.6: См. Руководство пользователя по маршрутизации метаданных для получения дополнительной информации.
- Если
- Возвращает:
-
- selfобъект
-
Обученная модель.
- fit_transform(X, y=None, **fit_params)[source]
-
Построение модели на данных, затем преобразование.
Построение преобразователя на
Xиyс необязательными параметрамиfit_paramsи возвращение преобразованной версииX.- Параметры:
-
- Xмассив-подобный размера (n_samples, n_features)
-
Входные образцы.
- yмассив-подобный размера (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для неконтролируемых преобразований).
- **fit_paramsсловарь
-
Дополнительные параметры построения модели.
- Возвращаемое значение:
-
- X_newмассив ndarray размера (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[source]
-
Маска имён признаков в соответствии с выбранными признаками.
- Параметры:
-
- input_featuresмассив-подобный 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_, еслиfeature_names_in_определено.
- Если
- Возвращаемое значение:
-
- feature_names_outмассив объектов str
-
Преобразованные имена признаков.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.
Добавлена в версии 1.6.
- Возвращаемое значение:
-
- routingMetadataRouter
-
MetadataRouter, инкапсулирующий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценщика и содержащихся в нём подобъектов, являющихся оценщиками.
- Возвращаемое значение:
-
- paramsсловарь
-
Имена параметров, сопоставленные с их значениями.
- get_support(indices=False)[source]
-
Получить маску или целочисленный индекс выбранных признаков.
- Параметры:
-
- indicesbool, по умолчанию=False
-
Если True, возвращаемое значение будет массивом целых чисел, а не булевой маской.
- Возвращаемое значение:
-
- supportмассив
-
Индекс, выбирающий сохранённые признаки из вектора признаков. Если
indicesравно False, это булев массив размера [# входные признаки], где элемент True, если соответствующий признак выбран для сохранения. Еслиindicesравно True, это целочисленный массив размера [# выходные признаки] с значениями, являющимися индексами во входном векторе признаков.
- inverse_transform(X)[source]
-
Обратное преобразование.
- Параметры:
-
- Xмассив размера [n_samples, n_selected_features]
-
Входные образцы.
- Возвращаемое значение:
-
- X_rмассив размера [n_samples, n_original_features]
-
Xс добавленными столбцами нулей, где признаки были удалены функциейtransform.
- predict(X, **predict_params)[source]
-
Сокращение X до выбранных признаков и предсказание с помощью оценщика.
- Параметры:
-
- Xмассив размера [n_samples, n_features]
-
Входные образцы.
- **predict_paramsсловарь
-
Параметры для маршрутизации в метод
predictбазового оценщика.Добавлена в версии 1.6: Доступно только если
enable_metadata_routing=True, что может быть установлено с помощьюsklearn.set_config(enable_metadata_routing=True). См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.
- Возвращаемое значение:
-
- yмассив размера [n_samples]
-
Предсказанные целевые значения.
- predict_log_proba(X)[source]
-
Предсказание логарифмов вероятностей классов для X.
- Параметры:
-
- Xмассив размера [n_samples, n_features]
-
Входные образцы.
- Возвращаемое значение:
-
- pмассив размера (n_samples, n_classes)
-
Логарифмы вероятностей классов входных образцов. Порядок классов соответствует атрибуту classes_.
- predict_proba(X)[source]
-
Предсказание вероятностей классов для X.
- Параметры:
-
- X{массив или разреженная матрица} формы (n_samples, n_features)
-
Входные образцы. Внутренне они будут преобразованы в
dtype=np.float32, а если предоставлена разреженная матрица, то в разреженнуюcsr_matrix.
- Возвращаемое значение:
-
- pмассив формы (n_samples, n_classes)
-
Вероятности классов входных образцов. Порядок классов соответствует порядку в атрибуте classes_.
- score(X, y, **score_params)[source]
-
Уменьшить X до отобранных признаков и вернуть оценку оценщика.
- Параметры:
-
- Xмассив формы [n_samples, n_features]
-
Входные образцы.
- yмассив формы [n_samples]
-
Целевые значения.
- **score_paramsсловарь
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры, напрямую переданные методуscoreбазового оценщика. - Если
enable_metadata_routing=True: Параметры безопасно перенаправлены на методscoreбазового оценщика.
Добавлен в версии 1.0.
Изменено в версии 1.6: См. Руководство пользователя по маршрутизации метаданных для получения дополнительных сведений.
- Если
- Возвращаемое значение:
-
- scoreчисло с плавающей точкой
-
Оценка базового оценщика, вычисленная с использованием отобранных признаков, возвращенных
rfe.transform(X)иy.
- set_output(*, transform=None)[source]
-
Установить контейнер вывода.
См. Введение в API set_output для примера использования API.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настроить вывод
transformиfit_transform.-
"default": Формат вывода по умолчанию трансформатора -
"pandas": Вывод DataFrame -
"polars": Вывод Polars -
None: Настройка трансформации не изменяется
Добавлен в версии 1.4:
"polars"вариант был добавлен. -
- Возвращаемое значение:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_params(**params)[source]
-
Установить параметры этого оценщика.
Метод работает с простыми оценщиками, а также с вложенными объектами (такими как
Pipeline). Последние имеют параметры в формате<component>__<parameter>, чтобы можно было обновить каждый компонент вложенного объекта.- Параметры:
-
- **paramsсловарь
-
Параметры оценщика.
- Возвращаемое значение:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- transform(X)[source]
-
Уменьшить X до отобранных признаков.
- Параметры:
-
- Xмассив формы [n_samples, n_features]
-
Входные образцы.
- Возвращаемое значение:
-
- X_rмассив формы [n_samples, n_selected_features]
-
Входные образцы только с отобранными признаками.
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.feature_selection.RFE.html