KNNImputer#
- класс sklearn.impute.KNNImputer(*, missing_values=nan, n_neighbors=5, веса='uniform', метрика='nan_euclidean', copy=True, add_indicator=False, keep_empty_features=False)[источник]#
Импутация для заполнения пропущенных значений с использованием k-ближайших соседей.
Пропущенные значения каждой выборки заполняются с использованием среднего значения из
n_neighborsближайшие соседи, найденные в обучающем наборе. Два образца считаются близкими, если признаки, которые присутствуют у обоих, близки.Подробнее в Руководство пользователя.
Добавлено в версии 0.22.
- Параметры:
- missing_valuesint, float, str, np.nan или None, по умолчанию=np.nan
Заполнитель для пропущенных значений. Все вхождения
missing_valuesбудут импутированы. Для датафреймов pandas с нуллабельными целочисленными типами данных с пропущенными значениями,missing_valuesдолжно быть установлено в np.nan, так какpd.NAбудут преобразованы в np.nan.- n_neighborsint, по умолчанию=5
Количество соседних выборок, используемых для импутации.
- веса{'uniform', 'distance'} или вызываемый объект, по умолчанию='uniform'
Функция веса, используемая в предсказании. Возможные значения:
'uniform' : равномерные веса. Все точки в каждом соседстве взвешиваются одинаково.
'distance' : взвешивать точки обратно пропорционально их расстоянию. в этом случае ближайшие соседи точки запроса будут иметь большее влияние, чем соседи, находящиеся дальше.
callable : пользовательская функция, которая принимает массив расстояний и возвращает массив той же формы, содержащий веса.
- метрика{‘nan_euclidean’} или вызываемый объект, по умолчанию='nan_euclidean'
Метрика расстояния для поиска соседей. Возможные значения:
‘nan_euclidean’
callable : пользовательская функция, которая соответствует определению
func_metric(x, y, *, missing_values=np.nan).xиyсоответствует строке (т.е. 1-D массиву) изXиY, соответственно. Вызываемый объект должен возвращать скалярное значение расстояния.
- copybool, по умолчанию=True
Если True, будет создана копия X. Если False, заполнение будет выполнено на месте, когда это возможно.
- add_indicatorbool, по умолчанию=False
Если True,
MissingIndicatortransform добавит к выходным данным transform импьютера. Это позволяет прогностической модели учитывать пропуски, несмотря на импутацию. Если признак не имеет пропущенных значений во время обучения, признак не появится в индикаторе пропусков, даже если есть пропущенные значения во время transform/тестирования.- keep_empty_featuresbool, по умолчанию=False
Если True, признаки, которые состоят исключительно из пропущенных значений, когда
fitвызывается, возвращаются в результатах, когдаtransformвызывается. Импутированное значение всегда0.Добавлено в версии 1.2.
- Атрибуты:
- indicator_
MissingIndicator Индикатор, используемый для добавления бинарных индикаторов пропущенных значений.
Noneесли add_indicator равно False.- n_features_in_int
Количество признаков, замеченных во время fit.
Добавлено в версии 0.24.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлено в версии 1.0.
- indicator_
Смотрите также
SimpleImputerОдномерный импутер для заполнения пропущенных значений простыми стратегиями.
IterativeImputerМногомерный импутер, который оценивает значения для заполнения каждого признака с пропущенными значениями на основе всех остальных.
Ссылки
Примеры
>>> import numpy as np >>> from sklearn.impute import KNNImputer >>> X = [[1, 2, np.nan], [3, 4, 3], [np.nan, 6, 5], [8, 8, 7]] >>> imputer = KNNImputer(n_neighbors=2) >>> imputer.fit_transform(X) array([[1. , 2. , 4. ], [3. , 4. , 3. ], [5.5, 6. , 5. ], [8. , 8. , 7. ]])
Более подробный пример см. в Заполнение пропущенных значений перед построением оценщика.
- fit(X, y=None)[источник]#
Обучить импутер на X.
- Параметры:
- Xarray-like формы (n_samples, n_features)
Входные данные, где
n_samples— это количество образцов иn_featuresэто количество признаков.- yИгнорируется
Не используется, присутствует здесь для согласованности API по соглашению.
- Возвращает:
- selfobject
Обученная
KNNImputerэкземпляр класса.
- 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), default=None
Целевые значения (None для неконтролируемых преобразований).
- **fit_paramsdict
Дополнительные параметры обучения. Передавайте только если оценщик принимает дополнительные параметры в своем
fitметод.
- Возвращает:
- X_newndarray массив формы (n_samples, n_features_new)
Преобразованный массив.
- get_feature_names_out(input_features=None)[источник]#
Получить имена выходных признаков для преобразования.
- Параметры:
- input_featuresarray-like из 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_iffeature_names_in_определен.
- Возвращает:
- feature_names_outndarray из str объектов
Преобразованные имена признаков.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
- маршрутизацияMetadataRequest
A
MetadataRequestИнкапсуляция информации о маршрутизации.
- get_params(глубокий=True)[источник]#
Получить параметры для этого оценщика.
- Параметры:
- глубокийbool, по умолчанию=True
Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.
- Возвращает:
- paramsdict
Имена параметров, сопоставленные с их значениями.
- set_output(*, преобразовать=None)[источник]#
Установить контейнер вывода.
См. Введение API set_output для примера использования API.
- Параметры:
- преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None
Настройка вывода
transformиfit_transform."default": Формат вывода трансформера по умолчанию"pandas": DataFrame вывод"polars": Вывод PolarsNone: Конфигурация преобразования не изменена
Добавлено в версии 1.4:
"polars"опция была добавлена.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- set_params(**params)[источник]#
Установить параметры этого оценщика.
Метод работает как на простых оценщиках, так и на вложенных объектах (таких как
Pipeline). Последние имеют параметры видачтобы можно было обновить каждый компонент вложенного объекта.__ - Параметры:
- **paramsdict
Параметры оценщика.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- преобразовать(X)[источник]#
Заполняет все пропущенные значения в X.
- Параметры:
- Xarray-like формы (n_samples, n_features)
Входные данные для завершения.
- Возвращает:
- Xarray-like формы (n_samples, n_output_features)
Импутированный набор данных.
n_output_featuresэто количество признаков, которые не всегда отсутствуют во времяfit.
Примеры галереи#
Заполнение пропущенных значений перед построением оценщика