SequentialFeatureSelector
- classsklearn.feature_selection.SequentialFeatureSelector(estimator, *, n_features_to_select='auto', tol=None, direction='forward', scoring=None, cv=5, n_jobs=None)[source]
-
Преобразователь, выполняющий последовательный отбор признаков.
Этот последовательный селектор признаков добавляет (прямой отбор) или удаляет (обратный отбор) признаки для формирования подмножества признаков жадным способом. На каждой стадии этот оценщик выбирает лучший признак для добавления или удаления на основе оценки перекрестной проверки оценщика. В случае обучения без учителя этот последовательный селектор признаков рассматривает только признаки (X), а не желаемые выходные данные (y).
Подробнее см. в Руководстве пользователя.
Добавлена в версии 0.24.
- Параметры:
-
- estimatorэкземпляр оценщика
-
Необученный оценщик.
- n_features_to_select“auto”, целое число или число с плавающей точкой, по умолчанию=”auto”
-
Если
"auto", поведение зависит от параметраtol:- если
tolнеNone, то признаки выбираются, пока изменение оценки не превыситtol. - в противном случае, выбирается половина признаков.
Если целое число, параметр представляет собой абсолютное число признаков для выбора. Если число с плавающей точкой от 0 до 1, это доля признаков для выбора.
Добавлена в версии 1.1: Вариант
"auto"был добавлен в версии 1.1.Изменено в версии 1.3: Значение по умолчанию изменилось с
"warn"на"auto"в 1.3. - если
- tolчисло с плавающей точкой, по умолчанию=None
-
Если оценка не увеличивается как минимум на
tolмежду двумя последовательными добавлениями или удалениями признаков, добавление или удаление прекращаются.tolможет быть отрицательным при удалении признаков, используяdirection="backward".tolдолжно быть строго положительным при прямом отборе. Это может быть полезно для уменьшения числа признаков за счет небольшого уменьшения оценки.tolвключен только тогда, когдаn_features_to_selectравно"auto".Добавлена в версии 1.1.
- direction{‘forward’, ‘backward’}, по умолчанию=’forward’
-
Выполнять прямой или обратный отбор.
- scoringстрока или вызываемый объект, по умолчанию=None
-
Одиночная строка (см. Параметр scoring: определение правил оценки моделей) или вызываемый объект (см. Вызываемые оценщики) для оценки прогнозов на тестовом наборе.
Обратите внимание, что при использовании пользовательского оценщика он должен возвращать единственное значение.
Если None, используется метод score оценщика.
- cvцелое число, генератор перекрестной проверки или итерируемый объект, по умолчанию=None
-
Определяет стратегию разделения перекрестной проверки. Возможные входные данные для cv:
- None, чтобы использовать стандартную 5-кратную перекрестную проверку,
- целое число, чтобы указать количество фолдов в
(Stratified)KFold, - Разделитель CV,
- Итерируемый объект, возвращающий (train, test) разделения в виде массивов индексов.
Для целочисленных/None входных данных, если оценщик является классификатором и
yявляется бинарным или многоклассовым, используетсяStratifiedKFold. Во всех остальных случаях используетсяKFold. Эти разделы инициализируютсяshuffle=False, поэтому разделы будут одинаковыми при вызовах.См. Руководство пользователя для различных стратегий перекрестной проверки, которые могут быть здесь использованы.
- n_jobsцелое число, по умолчанию=None
-
Количество задач, выполняемых параллельно. При оценке нового признака для добавления или удаления процедура перекрестной проверки выполняется параллельно по фолдам.
Noneозначает 1, за исключением контекстаjoblib.parallel_backend.-1означает использование всех процессоров. См. Словарь для получения более подробной информации.
- Атрибуты:
-
- n_features_in_целое число
-
Количество признаков, увиденных во время fit. Определено только если базовый оценщик имеет такой атрибут при fit.
Добавлена в версии 0.24.
-
feature_names_in_массив формы (
n_features_in_,) -
Имена признаков, увиденных во время fit. Определено только если
Xимеет имена признаков, которые все являются строками.Добавлена в версии 1.0.
- n_features_to_select_целое число
-
Количество выбранных признаков.
- support_массив формы (n_features,), тип данных=bool
-
Маска выбранных признаков.
См. также
GenericUnivariateSelect-
Унивариативный селектор признаков со настраиваемой стратегией.
RFE-
Повторное устранение признаков, основанное на весах важности.
RFECV-
Повторное устранение признаков, основанное на весах важности, с автоматическим выбором числа признаков.
SelectFromModel-
Выбор признаков на основе пороговых значений весов важности.
Примеры
>>> from sklearn.feature_selection import SequentialFeatureSelector >>> from sklearn.neighbors import KNeighborsClassifier >>> from sklearn.datasets import load_iris >>> X, y = load_iris(return_X_y=True) >>> knn = KNeighborsClassifier(n_neighbors=3) >>> sfs = SequentialFeatureSelector(knn, n_features_to_select=3) >>> sfs.fit(X, y) SequentialFeatureSelector(estimator=KNeighborsClassifier(n_neighbors=3), n_features_to_select=3) >>> sfs.get_support() array([ True, False, True, True]) >>> sfs.transform(X).shape (150, 3)- fit(X, y=None, **params)[source]
-
Обучить выбор признаков из X.
- Параметры:
-
- Xмассив-подобный объект формы (n_samples, n_features)
-
Векторы обучения, где
n_samples— количество примеров, аn_features— количество предикторов. - yмассив-подобный объект формы (n_samples,), по умолчанию=None
-
Значения целевой переменной. Этот параметр может быть проигнорирован для обучения без учителя.
- **paramsсловарь, по умолчанию=None
-
Параметры, передаваемые в базовый
estimator,cvиscorerобъекты.Добавлена в версии 1.6: Доступна только если
enable_metadata_routing=True, что можно задать с помощьюsklearn.set_config(enable_metadata_routing=True). См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.
- Возвращает:
-
- 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массив NumPy с формой (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[source]
-
Маскирование имён признаков в соответствии с выбранными признаками.
- Параметры:
-
- input_featuresмассив строк или 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]
-
Массив с вставленными столбцами нулей в тех позициях, где признаки были удалены методом
transform.
- 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>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- 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.SequentialFeatureSelector.html