SelectFromModel
- classsklearn.feature_selection.SelectFromModel(estimator, *, threshold=None, prefit=False, norm_order=1, max_features=None, importance_getter='auto')[исходный код]
-
Метапреобразователь для отбора признаков на основе весов важности.
Добавлено в версии 0.17.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- estimatorobject
-
Базовый оцениватель, на основе которого создается преобразователь. Это может быть обученный (если
prefitимеет значение True) или необученный оцениватель. После обучения у оценивателя должен быть атрибутfeature_importances_илиcoef_. В противном случае следует использовать параметрimportance_getter. - thresholdstr or float, default=None
-
Пороговое значение, используемое для отбора признаков. Признаки, абсолютное значение важности которых больше или равно порогу, сохраняются, остальные отбрасываются. Если задано “median” (соответственно, “mean”), то значением
thresholdявляется медиана (соответственно, среднее) важности признаков. Также можно задать масштабный коэффициент (например, “1.25*mean”). Если задано None и параметр penalty оценивателя установлен в l1 — явно или неявно (например, в Lasso), — используется порог 1e-5. В противном случае по умолчанию используется “mean”. - prefitbool, default=False
-
Определяет, ожидается ли передача предварительно обученной модели непосредственно в конструктор. Если
True,estimatorдолжен быть обученным оценивателем. ЕслиFalse,estimatorобучается и обновляется вызовамиfitиpartial_fitсоответственно. - norm_ordernon-zero int, inf, -inf, default=1
-
Порядок нормы, используемой для фильтрации векторов коэффициентов, значения которых ниже
threshold, если атрибутcoef_оценивателя имеет размерность 2. - max_featuresint, callable, default=None
-
Максимальное количество отбираемых признаков.
- Если задано целое число, оно определяет максимально допустимое количество признаков.
- Если задан вызываемый объект, он определяет способ вычисления максимально допустимого количества признаков. Вызываемый объект получает на вход
X:max_features(X). - Если задано
None, сохраняются все признаки.
Чтобы выполнять отбор только на основе
max_features, задайтеthreshold=-np.inf.Добавлено в версии 0.20.
Изменено в версии 1.1:
max_featuresпринимает вызываемый объект. - importance_getterstr or callable, default=’auto’
-
Если задано ‘auto’, важность признаков определяется с помощью атрибута
coef_или атрибутаfeature_importances_оценивателя.Также можно задать строку, указывающую имя или путь к атрибуту, из которого извлекается важность признаков (реализовано с помощью
attrgetter). Например, укажитеregressor_.coef_дляTransformedTargetRegressorилиnamed_steps.clf.feature_importances_дляPipeline, если его последний шаг называетсяclf.Если задано
callable, переопределяет используемый по умолчанию способ получения важности признаков. Вызываемому объекту передается обученный оцениватель; он должен возвращать важность каждого признака.Добавлено в версии 0.24.
- Атрибуты:
-
- estimator_estimator
-
Базовый оцениватель, на основе которого создан преобразователь. Этот атрибут существует только после вызова
fit.- Если задано
prefit=True, это глубокая копияestimator. - Если задано
prefit=False, это клонestimator, обученный на данных, переданных вfitилиpartial_fit.
- Если задано
-
n_features_in_int -
Количество признаков, обнаруженных во время
fit. - max_features_int
-
Максимальное количество признаков, вычисленное во время обучения. Определяется, только если
max_featuresне равенNone.- Если
max_featuresявляетсяint, тоmax_features_ = max_features. - Если
max_featuresявляется вызываемым объектом, тоmax_features_ = max_features(X).
Добавлено в версии 1.1.
- Если
-
feature_names_in_ndarray of shape (
n_features_in_,) -
Имена признаков, обнаруженных во время обучения. Определяется только в том случае, если
Xимеет имена признаков, представленные строками.Добавлено в версии 1.0.
-
threshold_float -
Пороговое значение, используемое для отбора признаков.
См. также
RFE-
Рекурсивное исключение признаков на основе весов важности.
RFECV-
Рекурсивное исключение признаков со встроенным отбором лучшего количества признаков с помощью перекрестной проверки.
SequentialFeatureSelector-
Последовательный отбор признаков на основе перекрестной проверки. Не использует веса важности.
Примечания
Допускает NaN/Inf во входных данных, если базовый оцениватель также их допускает.
Примеры
>>> from sklearn.feature_selection import SelectFromModel >>> from sklearn.linear_model import LogisticRegression >>> X = [[ 0.87, -1.34, 0.31 ], ... [-2.79, -0.02, -0.85 ], ... [-1.34, -0.48, -2.55 ], ... [ 1.92, 1.48, 0.65 ]] >>> y = [0, 1, 0, 1] >>> selector = SelectFromModel(estimator=LogisticRegression()).fit(X, y) >>> selector.estimator_.coef_ array([[-0.3252, 0.8345, 0.4976]]) >>> selector.threshold_ np.float64(0.55249) >>> selector.get_support() array([False, True, False]) >>> selector.transform(X) array([[-1.34], [-0.02], [-0.48], [ 1.48]])Использование вызываемого объекта для создания селектора, который использует не более половины входных признаков.
>>> def half_callable(X): ... return round(len(X[0]) / 2) >>> half_selector = SelectFromModel(estimator=LogisticRegression(), ... max_features=half_callable) >>> _ = half_selector.fit(X, y) >>> half_selector.max_features_ 2
- fit(X, y=None, **fit_params)[исходный код]
-
Обучить метапреобразователь SelectFromModel.
- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Обучающие входные образцы.
- yarray-like of shape (n_samples,), default=None
-
Целевые значения (целые числа, соответствующие классам в задаче классификации, вещественные числа в задаче регрессии).
- **fit_paramsdict
-
- Если задано
enable_metadata_routing=False(по умолчанию): параметры напрямую передаются методуfitподоценивателя. Они игнорируются, еслиprefit=True. - Если задано
enable_metadata_routing=True: параметры безопасно передаются методуfitподоценивателя. Они игнорируются, еслиprefit=True.
Изменено в версии 1.4: Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Если задано
- Возвращает:
-
- selfobject
-
Обученный оцениватель.
- fit_transform(X, y=None, **fit_params)[исходный код]
-
Обучить на данных, а затем преобразовать их.
Обучает преобразователь на
Xиyс дополнительными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Входные образцы.
- yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None
-
Целевые значения (None для неконтролируемых преобразований).
- **fit_paramsdict
-
Дополнительные параметры обучения. Передавайте их только в том случае, если оцениватель принимает дополнительные параметры в методе
fit.
- Возвращает:
-
- X_newndarray array of shape (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[исходный код]
-
Отфильтровать имена признаков в соответствии с отобранными признаками.
- Параметры:
-
- input_featuresarray-like of str or None, default=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_outndarray of str objects
-
Имена преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Получить сведения о маршрутизации метаданных этого объекта.
Ознакомьтесь с руководством пользователя, чтобы узнать, как работает механизм маршрутизации.
Добавлено в версии 1.4.
- Возвращает:
-
- routingMetadataRouter
-
MetadataRouter, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценивателя.
- Параметры:
-
- deepbool, default=True
-
Если True, будут возвращены параметры этого оценивателя и вложенных объектов, являющихся оценивателями.
- Возвращает:
-
- paramsdict
-
Имена параметров и соответствующие им значения.
- get_support(indices=False)[исходный код]
-
Получить маску или целочисленные индексы отобранных признаков.
- Параметры:
-
- indicesbool, default=False
-
Если True, возвращаемым значением будет массив целых чисел, а не логическая маска.
- Возвращает:
-
- supportarray
-
Индекс, выбирающий сохраняемые признаки из вектора признаков. Если
indicesимеет значение False, это логический массив формы [# input features], в котором элемент равен True тогда и только тогда, когда соответствующий признак выбран для сохранения. Еслиindicesимеет значение True, это целочисленный массив формы [# output features], значения которого являются индексами во входном векторе признаков.
- inverse_transform(X)[исходный код]
-
Обратить преобразование.
- Параметры:
-
- Xarray of shape [n_samples, n_selected_features]
-
Входные образцы.
- Возвращает:
-
- X_originalarray of shape [n_samples, n_original_features]
-
Xс добавленными столбцами нулей на местах, где признаки были удалены методомtransform.
- partial_fit(X, y=None, **partial_fit_params)[исходный код]
-
Обучить метапреобразователь SelectFromModel только один раз.
- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Обучающие входные образцы.
- yarray-like of shape (n_samples,), default=None
-
Целевые значения (целые числа, соответствующие классам в задаче классификации, вещественные числа в задаче регрессии).
- **partial_fit_paramsdict
-
- Если задано
enable_metadata_routing=False(по умолчанию): параметры напрямую передаются методуpartial_fitподоценивателя. - Если задано
enable_metadata_routing=True: параметры передаются методуpartial_fitподоценивателя. Они игнорируются, еслиprefit=True.
Изменено в версии 1.4:
**partial_fit_paramsпередаются подоценивателю, если параметрenable_metadata_routing=Trueзадан с помощьюset_config, что позволяет использовать псевдонимы.Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Если задано
- Возвращает:
-
- selfobject
-
Обученный оцениватель.
- set_output(*, transform=None)[исходный код]
-
Задать контейнер выходных данных.
Подробнее см. в руководстве пользователя, а пример использования API приведен в разделе Знакомство с API set_output.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, default=None
-
Настроить формат выходных данных
transformиfit_transform.-
"default": формат выходных данных преобразователя по умолчанию -
"pandas": вывод в формате DataFrame -
"polars": вывод в формате Polars -
None: конфигурация преобразования остается без изменений
Добавлено в версии 1.4: Добавлен параметр
"polars". -
- Возвращает:
-
- selfestimator instance
-
Экземпляр оценивателя.
- set_params(**params)[исходный код]
-
Задать параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и с вложенными объектами (например,
Pipeline). У последних параметры имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценивателя.
- Возвращает:
-
- selfestimator instance
-
Экземпляр оценивателя.
- transform(X)[исходный код]
-
Оставить в X только отобранные признаки.
- Параметры:
-
- Xarray of shape [n_samples, n_features]
-
Входные образцы.
- Возвращает:
-
- X_rarray of shape [n_samples, n_selected_features]
-
Входные образцы, содержащие только отобранные признаки.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.feature_selection.SelectFromModel.html