graphical_lasso#
- sklearn.covariance.graphical_lasso(emp_cov, alpha, *, mode='cd', tol=0.0001, enet_tol=0.0001, max_iter=100, verbose=False, return_costs=False, eps=np.float64(2.220446049250313e-16), return_n_iter=False)[источник]#
Оценщик ковариации с L1-штрафом.
Подробнее в Руководство пользователя.
Изменено в версии v0.20: graph_lasso был переименован в graphical_lasso
- Параметры:
- emp_covarray-like формы (n_features, n_features)
Эмпирическая ковариация, из которой вычисляется оценка ковариации.
- alphafloat
Параметр регуляризации: чем выше alpha, тем больше регуляризация, тем более разреженной становится обратная ковариационная матрица. Диапазон: (0, inf].
- mode{‘cd’, ‘lars’}, по умолчанию=’cd’
Решатель Lasso для использования: координатный спуск или LARS. Используйте LARS для очень разреженных графов, где p > n. В остальных случаях предпочтительнее cd, который более численно устойчив.
- tolfloat, по умолчанию=1e-4
Допуск для объявления сходимости: если двойной разрыв опускается ниже этого значения, итерации останавливаются. Диапазон (0, inf].
- enet_tolfloat, по умолчанию=1e-4
Допуск для решателя эластичной сети, используемого для вычисления направления спуска. Этот параметр управляет точностью направления поиска для данного обновления столбца, а не общей оценки параметра. Используется только для mode='cd'. Диапазон (0, inf].
- max_iterint, по умолчанию=100
Максимальное количество итераций.
- verbosebool, по умолчанию=False
Если verbose=True, целевая функция и двойной зазор выводятся на каждой итерации.
- return_costsbool, по умолчанию=False
Если return_costs установлен в True, целевая функция и двойной зазор на каждой итерации возвращаются.
- epsfloat, по умолчанию=eps
Регуляризация с машинной точностью при вычислении диагональных факторов Холецкого. Увеличьте это для очень плохо обусловленных систем. По умолчанию
np.finfo(np.float64).eps.- return_n_iterbool, по умолчанию=False
Возвращать или нет количество итераций.
- Возвращает:
- ковариацияndarray формы (n_features, n_features)
Оценочная ковариационная матрица.
- точностьndarray формы (n_features, n_features)
Оцененная (разреженная) матрица точности.
- затратысписок пар (целевая функция, двойственный разрыв)
Список значений целевой функции и двойного разрыва на каждой итерации. Возвращается только если return_costs равен True.
- n_iterint
Количество итераций. Возвращается только если
return_n_iterустановлено в True.
Смотрите также
GraphicalLassoОценка разреженной обратной ковариации с оценщиком, использующим штраф L1.
GraphicalLassoCVРазреженная обратная ковариация с кросс-валидационным выбором штрафа l1.
Примечания
Алгоритм, используемый для решения этой задачи, — алгоритм GLasso, из статьи Фридмана 2008 года в Biostatistics. Это тот же алгоритм, что и в R
glassoпакет.Одно возможное отличие от
glassoВ пакете R диагональные коэффициенты не штрафуются.Примеры
>>> import numpy as np >>> from sklearn.datasets import make_sparse_spd_matrix >>> from sklearn.covariance import empirical_covariance, graphical_lasso >>> true_cov = make_sparse_spd_matrix(n_dim=3,random_state=42) >>> rng = np.random.RandomState(42) >>> X = rng.multivariate_normal(mean=np.zeros(3), cov=true_cov, size=3) >>> emp_cov = empirical_covariance(X, assume_centered=True) >>> emp_cov, _ = graphical_lasso(emp_cov, alpha=0.05) >>> emp_cov array([[ 1.687, 0.212, -0.209], [ 0.212, 0.221, -0.0817], [-0.209, -0.0817, 0.232]])