Spec-Zone.ru › scikit-learn

EllipticEnvelope

classsklearn.covariance.EllipticEnvelope(*, store_precision=True, assume_centered=False, support_fraction=None, contamination=0.1, random_state=None)[исходный код]

Объект для обнаружения выбросов в наборе данных с гауссовым распределением.

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

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

Указывает, нужно ли сохранять оценку точности.

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

Если True, вычисляется поддержка робастных оценок положения и ковариации, а затем на её основе повторно вычисляется оценка ковариации без центрирования данных. Полезно для работы с данными, среднее которых практически равно нулю, но не является в точности нулевым. Если False, робастные оценки положения и ковариации вычисляются непосредственно с помощью алгоритма FastMCD без дополнительной обработки.

support_fractionfloat, по умолчанию=None

Доля точек, включаемых в поддержку исходной оценки MCD. Если None, в алгоритме используется минимальное значение support_fraction: (n_samples + n_features + 1) / 2 * n_samples. Диапазон значений — (0, 1).

contaminationfloat, по умолчанию=0.1

Степень загрязнения набора данных, то есть доля выбросов в наборе данных. Диапазон значений — (0, 0.5].

random_stateint, экземпляр RandomState или None, по умолчанию=None

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

Атрибуты:
location_ndarray формы (n_features,)

Оценка робастного положения.

covariance_ndarray формы (n_features, n_features)

Оценка робастной матрицы ковариации.

precision_ndarray формы (n_features, n_features)

Оценка псевдообратной матрицы. (Сохраняется, только если store_precision равно True.)

support_ndarray формы (n_samples,)

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

offset_float

Смещение, используемое для определения функции принятия решения на основе исходных оценок. Выполняется соотношение: decision_function = score_samples - offset_. Смещение зависит от параметра contamination и задаётся таким образом, чтобы на обучении получать ожидаемое число выбросов (образцов со значением функции принятия решения < 0).

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

raw_location_ndarray формы (n_features,)

Исходная робастная оценка положения до коррекции и перевзвешивания.

raw_covariance_ndarray формы (n_features, n_features)

Исходная робастная оценка ковариации до коррекции и перевзвешивания.

raw_support_ndarray формы (n_samples,)

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

dist_ndarray формы (n_samples,)

Расстояния Махаланобиса для наблюдений обучающего набора (для которого вызывается fit).

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

Названия признаков, обнаруженных во время обучения. Определяется, только если X содержит названия признаков, состоящие из строк.

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

См. также

EmpiricalCovariance

Оцениватель ковариации методом максимального правдоподобия.

GraphicalLasso

Оценивание разреженной обратной ковариации с помощью оценивателя с l1-регуляризацией.

LedoitWolf

Оцениватель LedoitWolf.

MinCovDet

Минимальный определитель ковариации (робастный оцениватель ковариации).

OAS

Оцениватель сжимающей оценки, аппроксимирующий оракул.

ShrunkCovariance

Оцениватель ковариации со сжатием.

Примечания

Обнаружение выбросов на основе оценки ковариации может давать сбои или работать неудовлетворительно в условиях высокой размерности. В частности, всегда следует использовать n_samples > n_features ** 2.

Литература

[1]

Rousseeuw, P.J., Van Driessen, K. «Быстрый алгоритм для оценивателя минимального определителя ковариации», Technometrics 41(3), 212 (1999)

Примеры

>>> import numpy as np
>>> from sklearn.covariance import EllipticEnvelope
>>> true_cov = np.array([[.8, .3],
...                      [.3, .4]])
>>> X = np.random.RandomState(0).multivariate_normal(mean=[0, 0],
...                                                  cov=true_cov,
...                                                  size=500)
>>> cov = EllipticEnvelope(random_state=0).fit(X)
>>> # predict returns 1 for an inlier and -1 for an outlier
>>> cov.predict([[0, 0],
...              [3, 3]])
array([ 1, -1])
>>> cov.covariance_
array([[0.8102, 0.2736],
       [0.2736, 0.3330]])
>>> cov.location_
array([0.0769 , 0.0397])
correct_covariance(data)[исходный код]

Выполняет коррекцию исходных оценок минимального определителя ковариации.

Коррекция с использованием асимптотического поправочного коэффициента, полученного в работе [Croux1999].

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

Матрица данных с p признаками и n образцами. Набор данных должен совпадать с тем, который использовался для вычисления исходных оценок.

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

Скорректированная робастная оценка ковариации.

Литература

[Croux1999]

Функция влияния и эффективность оценивателя матрицы рассеяния на основе минимального определителя ковариации, 1999, Journal of Multivariate Analysis, том 71, выпуск 2, страницы 161–190

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

Вычисляет функцию принятия решения для заданных наблюдений.

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

Матрица данных.

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

Функция принятия решения для образцов. Она равна смещённым расстояниям Махаланобиса. Пороговое значение для отнесения к выбросам равно 0, что обеспечивает совместимость с другими алгоритмами обнаружения выбросов.

error_norm(comp_cov, norm='frobenius', scaling=True, squared=True)[исходный код]

Вычисляет среднеквадратичную ошибку между двумя оценивателями ковариации.

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

Ковариация для сравнения.

norm{“frobenius”, “spectral”}, по умолчанию=”frobenius”

Тип нормы, используемой для вычисления ошибки. Доступные типы ошибок: - ‘frobenius’ (по умолчанию): sqrt(tr(A^t.A)) - ‘spectral’: sqrt(max(eigenvalues(A^t.A)), где A — ошибка (comp_cov - self.covariance_).

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

Если True (по умолчанию), квадрат нормы ошибки делится на n_features. Если False, квадрат нормы ошибки не масштабируется.

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

Определяет, вычислять ли квадрат нормы ошибки или норму ошибки. Если True (по умолчанию), возвращается квадрат нормы ошибки. Если False, возвращается норма ошибки.

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

Среднеквадратичная ошибка (в смысле нормы Фробениуса) между оценивателями ковариации self и comp_cov.

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

Обучает модель EllipticEnvelope.

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

Обучающие данные.

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

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

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

Возвращает сам экземпляр.

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

Обучает модель на X и возвращает метки для X.

Для выбросов возвращает -1, а для нормальных объектов — 1.

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

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

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

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

**kwargsdict

Аргументы, передаваемые в fit.

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

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

1 для нормальных объектов, -1 для выбросов.

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

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

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

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

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

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

Получает параметры этого оценивателя.

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

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

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

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

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

Получает матрицу точности.

Возвращает:
precision_array-like формы (n_features, n_features)

Матрица точности, соответствующая текущему объекту ковариации.

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

Вычисляет квадраты расстояний Махаланобиса для заданных наблюдений.

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

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

Наблюдения, для которых вычисляются расстояния Махаланобиса. Предполагается, что наблюдения получены из того же распределения, что и данные, использованные при обучении.

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

Квадраты расстояний Махаланобиса для наблюдений.

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

Предсказывает метки для X согласно обученной модели (1 — нормальный объект, -1 — выброс).

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

Матрица данных.

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

Возвращает -1 для аномалий/выбросов и +1 для нормальных объектов.

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

Перевзвешивает исходные оценки минимального определителя ковариации.

Перевзвешивает наблюдения методом Rousseeuw (эквивалентным удалению выбросов из набора данных перед вычислением оценок положения и ковариации), описанным в [RVDriessen].

Для обеспечения согласованности перевзвешенной ковариации при нормальном распределении выполняется коррекция согласно [Croux1999].

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

Матрица данных с p признаками и n образцами. Набор данных должен совпадать с тем, который использовался для вычисления исходных оценок.

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

Перевзвешенная робастная оценка положения.

covariance_reweightedndarray формы (n_features, n_features)

Перевзвешенная робастная оценка ковариации.

support_reweightedndarray формы (n_samples,), dtype=bool

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

Литература

[RVDriessen]

Быстрый алгоритм для оценивателя минимального определителя ковариации, 1999, Американская статистическая ассоциация и Американское общество качества, TECHNOMETRICS

[Croux1999]

Функция влияния и эффективность оценивателя матрицы рассеяния на основе минимального определителя ковариации, 1999, Journal of Multivariate Analysis, том 71, выпуск 2, страницы 161–190

score(X, y, sample_weight=None)[исходный код]

Возвращает среднюю точность на заданных тестовых данных и метках.

В многометочной классификации это точность подмножества — строгая метрика, поскольку для каждого образца необходимо правильно предсказать весь набор меток.

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

Тестовые образцы.

yarray-like формы (n_samples,) или (n_samples, n_outputs)

Истинные метки для X.

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

Веса образцов.

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

Средняя точность self.predict(X) относительно y.

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

Вычисляет отрицательные расстояния Махаланобиса.

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

Матрица данных.

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

Расстояния Махаланобиса с обратным знаком.

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

Задаёт параметры этого оценивателя.

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

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

Параметры оценивателя.

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

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

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

Обнаружение выбросов в реальном наборе данных

Сравнение алгоритмов обнаружения аномалий для выявления выбросов в искусственных наборах данных

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

Spec-Zone.ru

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