GraphicalLasso#

класс sklearn.covariance.GraphicalLasso(alpha=0.01, *, mode='cd', ковариация=None, tol=0.0001, enet_tol=0.0001, max_iter=100, verbose=False, eps=np.float64(2.220446049250313e-16), assume_centered=False)[источник]#

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

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

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

Изменено в версии v0.20: GraphLasso переименован в GraphicalLasso

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

Параметр регуляризации: чем выше alpha, тем больше регуляризация, тем более разреженной становится обратная ковариационная матрица. Диапазон: (0, inf].

mode{‘cd’, ‘lars’}, по умолчанию=’cd’

Решатель Lasso для использования: координатный спуск или LARS. Используйте LARS для очень разреженных графов, где p > n. В остальных случаях предпочтительнее cd, который более численно устойчив.

ковариация“precomputed”, по умолчанию None

Если ковариация "precomputed", входные данные в fit предполагается ковариационной матрицей. Если None, эмпирическая ковариация оценивается по данным X.

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

tolfloat, по умолчанию=1e-4

Допуск для объявления сходимости: если двойной разрыв опускается ниже этого значения, итерации останавливаются. Диапазон (0, inf].

enet_tolfloat, по умолчанию=1e-4

Допуск для решателя эластичной сети, используемого для вычисления направления спуска. Этот параметр управляет точностью направления поиска для данного обновления столбца, а не общей оценки параметра. Используется только для mode='cd'. Диапазон (0, inf].

max_iterint, по умолчанию=100

Максимальное количество итераций.

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

Если verbose=True, функция потерь и двойственный разрыв отображаются на каждой итерации.

epsfloat, по умолчанию=eps

Регуляризация с машинной точностью при вычислении диагональных факторов Холецкого. Увеличьте это для очень плохо обусловленных систем. По умолчанию np.finfo(np.float64).eps.

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

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

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

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

Оцененное местоположение, т.е. оцененное среднее.

covariance_ndarray формы (n_features, n_features)

Оценочная ковариационная матрица

precision_ndarray формы (n_features, n_features)

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

n_iter_int

Количество выполненных итераций.

costs_список пар (целевая функция, двойственный разрыв)

Список значений целевой функции и двойного разрыва на каждой итерации. Возвращается только если return_costs равен True.

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

Смотрите также

graphical_lasso

Оценщик ковариации с L1-штрафом.

GraphicalLassoCV

Разреженная обратная ковариация с кросс-валидационным выбором штрафа l1.

Примеры

>>> import numpy as np
>>> from sklearn.covariance import GraphicalLasso
>>> true_cov = np.array([[0.8, 0.0, 0.2, 0.0],
...                      [0.0, 0.4, 0.0, 0.0],
...                      [0.2, 0.0, 0.3, 0.1],
...                      [0.0, 0.0, 0.1, 0.7]])
>>> np.random.seed(0)
>>> X = np.random.multivariate_normal(mean=[0, 0, 0, 0],
...                                   cov=true_cov,
...                                   size=200)
>>> cov = GraphicalLasso().fit(X)
>>> np.around(cov.covariance_, decimals=3)
array([[0.816, 0.049, 0.218, 0.019],
       [0.049, 0.364, 0.017, 0.034],
       [0.218, 0.017, 0.322, 0.093],
       [0.019, 0.034, 0.093, 0.69 ]])
>>> np.around(cov.location_, decimals=3)
array([0.073, 0.04 , 0.038, 0.143])
отличается от(comp_cov, norm='frobenius', масштабирование=True, квадрат=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_).

масштабированиеbool, по умолчанию=True

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

квадратbool, по умолчанию=True

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

Возвращает:
результатfloat

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

fit(X, y=None)[источник]#

Обучить модель GraphicalLasso на X.

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

Данные, по которым вычисляется оценка ковариации.

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

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

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

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

6332()[источник]#

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

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

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

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

get_precision()[источник]#

Геттер для матрицы точности.

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

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

mahalanobis(X)[источник]#

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

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

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

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

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

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

score(X_test, y=None)[источник]#

Вычислить логарифмическое правдоподобие X_test в рамках предполагаемой гауссовой модели.

Гауссова модель определяется её средним значением и ковариационной матрицей, которые представлены соответственно self.location_ и self.covariance_.

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

Тестовые данные, для которых вычисляется правдоподобие, где n_samples это количество образцов и n_features это количество признаков. X_test предполагается, что он взят из того же распределения, что и данные, использованные при обучении (включая центрирование).

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

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

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

Логарифм правдоподобия X_test с self.location_ и self.covariance_ как оценщики среднего значения и ковариационной матрицы гауссовой модели соответственно.

set_params(**params)[источник]#

Установить параметры этого оценщика.

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

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

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

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

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