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)
-
Преобразованный массив.
- 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с заполненными значениями.
Примеры из галереи
© 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