GraphicalLasso
- classsklearn.covariance.GraphicalLasso(alpha=0.01, *, mode='cd', covariance=None, tol=0.0001, enet_tol=0.0001, max_iter=100, verbose=False, eps=np.float64(2.220446049250313e-16), assume_centered=False)[source]
-
Оценка разреженных обратных ковариаций с помощью l1-оценки.
Пример использования см. в Визуализация структуры фондового рынка.
Подробнее см. в Руководстве пользователя.
Изменено в версии v0.20: GraphLasso было переименовано в GraphicalLasso
- Параметры:
-
- alphafloat, по умолчанию=0.01
-
Параметр регуляризации: чем выше alpha, тем больше регуляризация, тем разреженнее обратная ковариационная матрица. Диапазон (0, inf].
- mode{‘cd’, ‘lars’}, по умолчанию=’cd’
-
Метод решения задачи Lasso: метод координатного спуска или LARS. Используйте LARS для очень разреженных подлежащих графов, где p > n. В противном случае предпочтительнее cd, который более численно устойчив.
- covariance“precomputed”, по умолчанию=None
-
Если covariance равно “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_массив формы (n_features,)
-
Оценённое положение, т.е. оценённое среднее значение.
- covariance_массив формы (n_features, n_features)
-
Оценённая ковариационная матрица
- precision_массив формы (n_features, n_features)
-
Оценённая псевдообратная матрица.
- n_iter_int
-
Количество выполненных итераций.
- costs_список пар (objective, dual_gap)
-
Список значений целевой функции и двойного разрыва на каждой итерации. Возвращается только если return_costs равно True.
Добавлена в версии 1.3.
- n_features_in_int
-
Количество признаков, увиденных во время fit.
Добавлена в версии 0.24.
-
feature_names_in_массив формы (
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])- error_norm(comp_cov, norm='frobenius', scaling=True, squared=True)[source]
-
Вычислить среднеквадратическую ошибку между двумя оценщиками ковариации.
- Параметры:
-
- comp_covмассив формы (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)[source]
-
Обучить модель GraphicalLasso на X.
- Параметры:
-
- Xмассив формы (n_samples, n_features)
-
Данные, используемые для вычисления оценки ковариации.
- yИгнорируется
-
Не используется, присутствует для совместимости API по умолчанию.
- Возвращает:
-
- selfобъект
-
Возвращает экземпляр самого себя.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
См. Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
-
- routingMetadataRequest
-
MetadataRequestобъект, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценщика и вложенных подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- get_precision()[source]
-
Получение матрицы точности.
- Возвращает:
-
- precision_array-like формы (n_features, n_features)
-
Матрица точности, связанная с текущим объектом ковариации.
- mahalanobis(X)[source]
-
Вычисление квадратичных расстояний Махаланобиса заданных наблюдений.
- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Наблюдения, для которых вычисляются расстояния Махаланобиса. Предполагается, что наблюдения взяты из того же распределения, что и данные, используемые в методе fit.
- Возвращает:
-
- distndarray формы (n_samples,)
-
Квадратичные расстояния Махаланобиса наблюдений.
- score(X_test, y=None)[source]
-
Вычисление логарифма правдоподобия
X_testв рамках оценок Гауссовской модели.Гауссовская модель определяется своим средним значением и матрицей ковариаций, которые представлены соответственно
self.location_иself.covariance_.- Параметры:
-
- X_testarray-like формы (n_samples, n_features)
-
Тестовые данные, для которых вычисляется правдоподобие, где
n_samples— число образцов, аn_features— число признаков.X_testпредполагается взятым из того же распределения, что и данные, используемые в методе fit (включая центрирование). - yИгнорируется
-
Не используется, присутствует для соответствия API по соглашению.
- Возвращает:
-
- resfloat
-
Логарифм правдоподобия
X_testсself.location_иself.covariance_как оценками среднего и матрицы ковариаций Гауссовской модели соответственно.
- set_params(**params)[source]
-
Установить параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.covariance.GraphicalLasso.html