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)[исходный код]

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

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

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

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

Параметры:
missing_valuesint, float, str, np.nan, None или pandas.NA, по умолчанию=np.nan

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

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

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

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

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

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

fill_valuestr или числовое значение, по умолчанию=None

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

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

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

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

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

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

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

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

Атрибуты:
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, если стратегия не равна "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)[исходный код]

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

Параметры:
X{array-like, разреженная матрица}, форма (n_samples, n_features)

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

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

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

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

Обученный оценщик.

fit_transform(X, y=None, **fit_params)[исходный код]

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

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

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

Входные образцы.

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

Целевые значения (None для преобразований без учителя).

**fit_paramsdict

Дополнительные параметры обучения. Передавайте их только в том случае, если оценщик принимает дополнительные параметры в методе fit.

Возвращает:
X_newndarray формы (n_samples, n_features_new)

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

get_feature_names_out(input_features=None)[исходный код]

Получить названия выходных признаков для преобразования.

Параметры:
input_featuresarray-like из строк или None, по умолчанию=None

Входные признаки.

  • Если input_features равно None, то в качестве названий входных признаков используются feature_names_in_. Если feature_names_in_ не определено, генерируются следующие названия входных признаков: ["x0", "x1", ..., "x(n_features_in_ - 1)"].
  • Если input_features является array-like, то input_features должно соответствовать feature_names_in_, если feature_names_in_ определено.
Возвращает:
feature_names_outndarray из строковых объектов

Названия преобразованных признаков.

get_metadata_routing()[исходный код]

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

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

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

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

get_params(deep=True)[исходный код]

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

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

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

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

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

inverse_transform(X)[исходный код]

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

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

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

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

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

Импутированные данные, которые нужно вернуть к исходному виду. Это должен быть расширенный массив, содержащий импутированные данные и маску индикатора пропусков.

Возвращает:
X_originalndarray формы (n_samples, n_features)

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

set_output(*, transform=None)[исходный код]

Задать контейнер вывода.

Дополнительные сведения см. в руководстве пользователя, а пример использования API — в разделе Знакомство с API set_output.

Параметры:
transform{“default”, “pandas”, “polars”}, по умолчанию=None

Настроить вывод transform и fit_transform.

  • "default": формат вывода преобразователя по умолчанию
  • "pandas": вывод DataFrame
  • "polars": вывод Polars
  • None: конфигурация преобразования не изменяется

Добавлено в версии 1.4: добавлен параметр "polars".

Возвращает:
selfэкземпляр оценщика

Экземпляр оценщика.

set_params(**params)[исходный код]

Задать параметры этого оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (например, Pipeline). У последних параметры имеют вид <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр оценщика

Экземпляр оценщика.

transform(X)[исходный код]

Импутировать все пропущенные значения в X.

Параметры:
X{array-like, разреженная матрица}, форма (n_samples, n_features)

Входные данные для заполнения.

Возвращает:
X_imputed{ndarray, разреженная матрица} формы (n_samples, n_features_out)

X с импутированными значениями.

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

Column Transformer с разными типами данных

Импутация пропущенных значений с вариантами IterativeImputer

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

Перестановочная важность и важность признаков Random Forest (MDI)

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

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

Знакомство с API set_output

Основные нововведения scikit-learn 0.23

Основные нововведения scikit-learn 1.1

Основные нововведения scikit-learn 1.5

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

Spec-Zone.ru

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