Spec-Zone.ru › scikit-learn

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_covмассивоподобный объект формы (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

Возвращать ли количество итераций.

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

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

precisionndarray формы (n_features, n_features)

Оцененная разреженная матрица точности.

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

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

n_iterint

Количество итераций. Возвращается только если для return_n_iter задано значение True.

См. также

GraphicalLasso

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

GraphicalLassoCV

Оценивание разреженной обратной ковариационной матрицы с выбором L1-штрафа методом перекрёстной проверки.

Примечания

Для решения этой задачи используется алгоритм GLasso из статьи Friedman 2008 года в журнале Biostatistics. Это тот же алгоритм, что и в пакете R glasso.

Одно из возможных отличий от пакета R glasso состоит в том, что диагональные коэффициенты не подвергаются регуляризации.

Примеры

>>> 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]])

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

Spec-Zone.ru

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