GraphicalLassoCV
- classsklearn.covariance.GraphicalLassoCV(*, alphas=4, n_refinements=4, cv=None, tol=0.0001, enet_tol=0.0001, max_iter=100, mode='cd', n_jobs=None, verbose=False, eps=np.float64(2.220446049250313e-16), assume_centered=False)[источник]
-
Разреженная обратная ковариационная матрица с выбором штрафа l1 с помощью перекрёстной проверки.
См. статью глоссария о оценивателе с перекрёстной проверкой.
Подробнее см. в руководстве пользователя.
Изменено в версии v0.20: GraphLassoCV переименован в GraphicalLassoCV
- Параметры:
-
- alphasint или array-like формы (n_alphas,), dtype=float, по умолчанию=4
-
Если задано целое число, оно определяет количество точек в сетке alpha. Если задан список, он задаёт используемую сетку. Подробнее см. примечания в документации класса. Для целого числа диапазон — [1, inf). Для массива чисел с плавающей точкой диапазон — (0, inf].
- n_refinementsint, по умолчанию=4
-
Количество итераций уточнения сетки. Не используется, если переданы явные значения alphas. Диапазон — [1, inf).
- cvint, генератор перекрёстной проверки или итерируемый объект, по умолчанию=None
-
Определяет стратегию разбиения для перекрёстной проверки. Возможные значения cv:
- None — использовать перекрёстную проверку с 5 блоками по умолчанию,
- целое число — задать количество блоков,
- разбиватель для перекрёстной проверки,
- итерируемый объект, возвращающий разбиения (train, test) в виде массивов индексов.
Для целочисленных значений и None используется
KFold.Различные стратегии перекрёстной проверки, которые можно использовать здесь, описаны в руководстве пользователя.
Изменено в версии 0.20: значение
cvпо умолчанию для None изменено с 3 блоков на 5. - tolfloat, по умолчанию=1e-4
-
Допуск для определения сходимости: если разрыв двойственности становится меньше этого значения, итерации прекращаются. Диапазон — (0, inf].
- enet_tolfloat, по умолчанию=1e-4
-
Допуск для решателя эластичной сети, используемого для вычисления направления спуска. Этот параметр управляет точностью направления поиска при обновлении заданного столбца, а не точностью общей оценки параметров. Используется только для mode=’cd’. Диапазон — (0, inf].
- max_iterint, по умолчанию=100
-
Максимальное количество итераций.
- mode{‘cd’, ‘lars’}, по умолчанию=’cd’
-
Используемый решатель Lasso: покоординатный спуск или LARS. Используйте LARS для очень разреженных графов, где количество признаков превышает количество образцов. В остальных случаях предпочтителен cd, обеспечивающий более высокую численную устойчивость.
- n_jobsint, по умолчанию=None
-
Количество задач для параллельного выполнения.
Noneозначает 1, если только не используется контекстjoblib.parallel_backend.-1означает использование всех процессоров. Подробнее см. в глоссарии.Изменено в версии v0.20: значение
n_jobsпо умолчанию изменено с 1 на None - 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)
-
Оценённая матрица точности (обратная ковариационная матрица).
- costs_список пар (целевая функция, разрыв двойственности)
-
Список значений целевой функции и разрыва двойственности на каждой итерации. Возвращается только если return_costs равно True.
Добавлено в версии 1.3.
- alpha_float
-
Выбранный параметр штрафа.
- cv_results_словарь массивов ndarray
-
Словарь со следующими ключами:
- alphasndarray формы (n_alphas,)
-
Все проверенные параметры штрафа.
- split(k)_test_scorendarray формы (n_alphas,)
-
Оценка логарифма правдоподобия на отложенных данных для (k)-го блока.
Добавлено в версии 1.0.
- mean_test_scorendarray формы (n_alphas,)
-
Среднее значение оценок по блокам.
Добавлено в версии 1.0.
- std_test_scorendarray формы (n_alphas,)
-
Стандартное отклонение оценок по блокам.
Добавлено в версии 1.0.
- n_iter_int
-
Количество итераций, выполненных для оптимального alpha.
- n_features_in_int
-
Количество признаков, обнаруженных во время обучения.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Имена признаков, обнаруженных во время обучения. Определён только если
Xсодержит имена признаков, представленные строками.Добавлено в версии 1.0.
См. также
graphical_lasso-
Оцениватель ковариации со штрафом L1.
GraphicalLasso-
Оценивание разреженной обратной ковариационной матрицы с помощью оценивателя со штрафом l1.
Примечания
Поиск оптимального параметра штрафа (
alpha) выполняется на итеративно уточняемой сетке: сначала вычисляются оценки с перекрёстной проверкой на сетке, затем вокруг максимума строится новая уточнённая сетка и так далее.Одна из возникающих здесь сложностей заключается в том, что решателям может не удаваться сойтись к оценке с хорошей обусловленностью. Соответствующие значения
alphaстановятся пропущенными, однако оптимум может находиться рядом с этими пропущенными значениями.В
fitпосле нахождения наилучшего параметраalphaс помощью перекрёстной проверки модель повторно обучается на всём обучающем наборе.Примеры
>>> import numpy as np >>> from sklearn.covariance import GraphicalLassoCV >>> 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 = GraphicalLassoCV().fit(X) >>> np.around(cov.covariance_, decimals=3) array([[0.816, 0.051, 0.22 , 0.017], [0.051, 0.364, 0.018, 0.036], [0.22 , 0.018, 0.322, 0.094], [0.017, 0.036, 0.094, 0.69 ]]) >>> np.around(cov.location_, decimals=3) array([0.073, 0.04 , 0.038, 0.143])Пример сравнения
sklearn.covariance.GraphicalLassoCV, сжатияsklearn.covariance.ledoit_wolfи эмпирической ковариации на многомерных данных с гауссовским распределением см. в разделе Оценивание разреженной обратной ковариационной матрицы.- 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, **params)[источник]
-
Обучить ковариационную модель GraphicalLasso на X.
- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Данные, по которым вычисляется оценка ковариации.
- yИгнорируется
-
Не используется; присутствует согласно соглашению для единообразия API.
- **paramsdict, по умолчанию=None
-
Параметры, передаваемые разбивателю для перекрёстной проверки и функции cross_val_score.
Добавлено в версии 1.5: Доступно только если
enable_metadata_routing=True, что можно настроить с помощьюsklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- selfobject
-
Возвращает сам экземпляр объекта.
- get_metadata_routing()[источник]
-
Получить сведения о маршрутизации метаданных этого объекта.
Информацию о работе механизма маршрутизации см. в руководстве пользователя.
Добавлено в версии 1.5.
- Возвращает:
-
- routingMetadataRouter
-
MetadataRouter, содержащий сведения о маршрутизации.
- 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.GraphicalLassoCV.html