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)[исходный код]
-
Разреженная оценка обратной ковариационной матрицы с помощью оценщика с 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_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])- 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)[исходный код]
-
Обучить модель GraphicalLasso на X.
- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Данные, используемые для вычисления оценки ковариации.
- yИгнорируется
-
Не используется; присутствует в соответствии с соглашением для согласованности API.
- Возвращает:
-
- selfobject
-
Возвращает сам экземпляр.
- 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,)
-
Квадраты расстояний Махаланобиса для наблюдений.
- 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). У последних параметры имеют вид<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.GraphicalLasso.html