Spec-Zone.ru › scikit-learn

KNNImputer

classsklearn.impute.KNNImputer(*, missing_values=nan, n_neighbors=5, weights='uniform', metric='nan_euclidean', copy=True, add_indicator=False, keep_empty_features=False)[source]

Заполнение пропущенных значений с использованием k-ближайших соседей.

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

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

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

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

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

n_neighborsint, по умолчанию=5

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

weights{‘uniform’, ‘distance’} или вызываемая функция, по умолчанию=’uniform’

Функция весов, используемая в прогнозировании. Возможные значения:

  • ‘uniform’ : равные веса. Все точки в каждом соседстве имеют равные веса.
  • ‘distance’ : веса точек по обратному расстоянию. В этом случае, более близкие соседи точки запроса будут иметь большее влияние, чем соседи, которые дальше.
  • вызываемая функция : определяемая пользователем функция, которая принимает массив расстояний и возвращает массив той же формы, содержащий веса.
metric{‘nan_euclidean’} или вызываемая функция, по умолчанию=’nan_euclidean’

Метрика расстояния для поиска соседей. Возможные значения:

  • ‘nan_euclidean’
  • вызываемая функция : определяемая пользователем функция, которая соответствует определению func_metric(x, y, *, missing_values=np.nan). x и y соответствуют строке (т.е. одномерным массивам) X и Y, соответственно. Вызываемая функция должна возвращать скалярное значение расстояния.
copybool, по умолчанию=True

Если True, будет создана копия X. Если False, заполнение будет выполняться на месте, когда это возможно.

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

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

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

Если True, признаки, состоящие исключительно из пропущенных значений, когда вызывается fit, возвращаются в результатах при вызове transform. Заполненное значение всегда 0.

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

Атрибуты:
indicator_MissingIndicator

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

См. также

SimpleImputer

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

IterativeImputer

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

Ссылки

  • Olga Troyanskaya, Michael Cantor, Gavin Sherlock, Pat Brown, Trevor Hastie, Robert Tibshirani, David Botstein and Russ B. Altman, Missing value estimation methods for DNA microarrays, BIOINFORMATICS Vol. 17 no. 6, 2001 Pages 520-525.

Примеры

>>> 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)[source]

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

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

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

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

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

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

Обученная KNNImputer экземпляр класса.

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

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

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

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

Входящие образцы.

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

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

**fit_paramsdict

Дополнительные параметры подгонки.

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

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

get_feature_names_out(input_features=None)[source]

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

Параметры:
input_featuresarray-like из str или 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 из str объектов

Преобразованные имена признаков.

END_OF_DOCUMENT_MARKER
get_metadata_routing()[source]

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

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

Возвращает:
маршрутизацияMetadataRequest

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

get_params(deep=True)[source]

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

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

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

Возвращает:
параметрыdict

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

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>, чтобы было возможно обновление каждого компонента вложенного объекта.

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

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

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

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

transform(X)[source]

Заполнить все отсутствующие значения в X.

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

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

Возвращает:
Xarray-like формы (n_samples, n_output_features)

Заполненный набор данных. n_output_features — это количество признаков, которые не всегда отсутствуют во время fit.

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

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

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

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

Spec-Zone.ru

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