Spec-Zone.ru › scikit-learn

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

Spec-Zone.ru

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