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