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. Для строковых типов или типа objectfill_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с импутированными значениями.
Примеры из галереи
© 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