Spec-Zone.ru › scikit-learn

SimpleImputer

classsklearn.impute.SimpleImputer(*, missing_values=nan, strategy='mean', fill_value=None, copy=True, add_indicator=False, keep_empty_features=False)[source]

Унивариантный импутер для заполнения пропущенных значений простыми стратегиями.

Заменяет пропущенные значения с помощью описательной статистики (например, среднего, медианы или наиболее часто встречающегося значения) по каждому столбцу или с использованием константного значения.

Подробнее см. в Руководстве пользователя.

Добавлен в версии 0.20: SimpleImputer заменяет предыдущий sklearn.preprocessing.Imputer оценщик, который теперь удалён.

Параметры:
missing_valuesint, float, str, np.nan, None or pandas.NA, default=np.nan

Заполнитель для пропущенных значений. Все вхождения missing_values будут импутированы. Для фреймов данных pandas с нулевыми целочисленными типами данных с пропущенными значениями, missing_values можно установить в np.nan или pd.NA.

strategystr или Callable, по умолчанию=’mean’

Стратегия импутации.

  • Если “mean”, то пропущенные значения заменяются средним значением по каждому столбцу. Может быть использован только с числовыми данными.
  • Если “median”, то пропущенные значения заменяются медианой по каждому столбцу. Может быть использован только с числовыми данными.
  • Если “most_frequent”, то пропущенные значения заменяются наиболее часто встречающимся значением по каждому столбцу. Может быть использован со строковыми или числовыми данными. Если таких значений несколько, возвращается наименьшее.
  • Если “constant”, то пропущенные значения заменяются fill_value. Может быть использован со строковыми или числовыми данными.
  • Если экземпляр Callable, то пропущенные значения заменяются скалярной статистикой, полученной путём применения callable к плотному одномерному массиву, содержащему непропущенные значения каждого столбца.

Добавлен в версии 0.20: strategy=”constant” для импутации фиксированного значения.

Добавлен в версии 1.5: strategy=callable для пользовательской импутации значений.

fill_valueстрока или числовое значение, по умолчанию=None

Когда strategy == “constant”, fill_value используется для замены всех вхождений missing_values. Для строковых или объектных типов данных, fill_value должна быть строкой. Если None, fill_value будет 0 при импутации числовых данных и “missing_value” для строковых или объектных типов данных.

copybool, по умолчанию=True

Если True, будет создана копия X. Если False, импутация будет выполняться на месте, когда это возможно. Обратите внимание, что в следующих случаях всегда будет создана новая копия, даже если copy=False:

  • Если X не является массивом с плавающей точкой;
  • Если X закодирован как CSR-матрица;
  • Если add_indicator=True.
add_indicatorbool, по умолчанию=False

Если True, преобразование MissingIndicator будет добавлено к результату преобразования импутера. Это позволяет предсказательному оценщику учитывать пропущенные значения, несмотря на импутацию. Если у признака нет пропущенных значений во время обучения/тренировки, признак не будет отображаться в индикаторе пропущенных значений, даже если существуют пропущенные значения во время преобразования/тестирования.

keep_empty_featuresbool, по умолчанию=False

Если True, признаки, которые состоят исключительно из пропущенных значений, когда fit вызывается, возвращаются в результатах, когда transform вызывается. Импутированное значение всегда 0 за исключением случая strategy="constant", в котором вместо этого используется fill_value.

Добавлен в версии 1.2.

Изменено в версии 1.6: В настоящее время, когда keep_empty_feature=False и strategy="constant", пустые признаки не отбрасываются. Это поведение изменится в версии 1.8. Установите keep_empty_feature=True для сохранения этого поведения.

Атрибуты:
statistics_массив формы (n_features,)

Значение заполнения для импутации каждого признака. Вычисление статистики может привести к np.nan значениям. Во время transform, признаки, соответствующие np.nan статистике, будут отброшены.

indicator_MissingIndicator

Индикатор, используемый для добавления двоичных индикаторов для пропущенных значений. None если add_indicator=False.

n_features_in_int

Количество признаков, увиденных во время fit.

Добавлен в версии 0.24.

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, увиденные во время fit. Определены только когда X имеет имена признаков, которые все являются строками.

Добавлен в версии 1.0.

См. также

IterativeImputer

Мультивариативный импутер, который оценивает значения для импутации для каждого признака с пропущенными значениями из всех других.

KNNImputer

Мультивариативный импутер, который оценивает пропущенные признаки, используя ближайшие образцы.

Примечания

Столбцы, которые содержали только пропущенные значения во время fit, отбрасываются при transform, если strategy не "constant".

В контексте предсказания простая импутация обычно плохо работает, когда она связана со слабым обучаемым. Однако, с мощным обучаемым, она может привести к такой же или лучшей производительности, чем сложная импутация, например, IterativeImputer или KNNImputer.

Примеры

>>> import numpy as np
>>> from sklearn.impute import SimpleImputer
>>> imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')
>>> imp_mean.fit([[7, 2, 3], [4, np.nan, 6], [10, 5, 9]])
SimpleImputer()
>>> X = [[np.nan, 2, 3], [4, np.nan, 6], [10, np.nan, 9]]
>>> print(imp_mean.transform(X))
[[ 7.   2.   3. ]
 [ 4.   3.5  6. ]
 [10.   3.5  9. ]]

Более подробный пример см. в Заполнение пропущенных значений перед построением оценщика.

fit(X, y=None)[source]

Обучение импутера на X.

Параметры:
X{array-like, sparse matrix}, shape (n_samples, n_features)

Входные данные, где n_samples — количество выборок, а n_features — количество признаков.

yИгнорируется

Не используется, присутствует здесь для соответствия API по соглашению.

Возвращает:
selfобъект

Обученная модель.

fit_transform(X, y=None, **fit_params)[source]

Обучает модель на данных, затем преобразует их.

Обучает трансформер на X и преобразует их с опциональными параметрами fit_params, и возвращает преобразованную версию X.

Параметры:
Xarray-like формы (n_samples, n_features)

Входные выборки.

yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None

Значения целевой переменной (None для неконтролируемых преобразований).

**fit_paramsdict

Дополнительные параметры для обучения.

Возвращает:
X_newмассив ndarray формы (n_samples, n_features_new)

Преобразованный массив.

END_OF_DOCUMENT_MARKER
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]

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.

Возвращает:
routingMetadataRequest

MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

Получить параметры этого оценщика.

Параметры:
deepbool, по умолчанию=True

Если True, вернёт параметры этого оценщика и вложенных подобъектов, являющихся оценщиками.

Возвращает:
paramsсловарь

Имена параметров, сопоставленные с их значениями.

inverse_transform(X)[source]

Преобразовать данные обратно в исходное представление.

Инвертирует операцию transform, выполненную над массивом. Эту операцию можно выполнить только после того, как SimpleImputer был инициализирован с add_indicator=True.

Обратите внимание, что inverse_transform может инвертировать преобразование только в признаках, которые имеют двоичные индикаторы для отсутствующих значений. Если в признаке нет отсутствующих значений в момент fit, признак не будет иметь двоичного индикатора, и импутация, выполненная в момент transform, не будет инвертирована.

Добавлена в версии 0.24.

Параметры:
Xмассив-подобный тип, форма (n_samples, n_features + n_features_missing_indicator)

Данные с импутированными значениями, которые должны быть обработаны обратно к исходным данным. Он должен быть расширенным массивом импутированных данных и маски индикатора отсутствующих значений.

Возвращает:
X_originalмассив с формой (n_samples, n_features)

Исходные X с отсутствующими значениями, как они были до импутации.

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_imputed{массив, разреженная матрица} формы (n_samples, n_features_out)

Данные X с заполненными значениями.

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

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

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

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

Объединение предикторов с помощью стекинга

Важность перестановки против важности признаков случайного леса (MDI)

Отображение конвейеров

Отображение оценщиков и сложных конвейеров

Введение API set_output

Заполнение пропущенных значений перед построением оценщика

Заполнение пропущенных значений с помощью вариантов IterativeImputer

ColumnTransformer с разными типами

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.impute.SimpleImputer.html

Spec-Zone.ru

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