Spec-Zone.ru › scikit-learn

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]

Входные образцы только с выбранными признаками.

Примеры галереи

Основные моменты выпуска scikit-learn 0.24

Выбор признаков на основе модели и поэтапный отбор признаков

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API