GraphicalLassoCV#

класс sklearn.covariance.GraphicalLassoCV(*, альфы=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

Параметры:
альфыint или array-like формы (n_alphas,), dtype=float, по умолчанию 4

Если указано целое число, оно фиксирует количество точек на сетке значений alpha. Если указан список, он задает сетку для использования. Подробнее см. примечания в документации класса. Диапазон для целого числа: [1, inf). Диапазон для массива чисел с плавающей точкой: (0, inf].

n_refinementsint, по умолчанию=4

Количество уточнений сетки. Не используется, если переданы явные значения альфа. Диапазон [1, бесконечность).

cvint, генератор перекрестной проверки или итерируемый объект, по умолчанию=None

Определяет стратегию разделения для перекрестной проверки. Возможные значения для cv:

  • None, чтобы использовать стандартную 5-кратную перекрестную проверку,

  • целое число, чтобы указать количество фолдов.

  • CV splitter,

  • Итерируемый объект, возвращающий (обучающие, тестовые) разбиения в виде массивов индексов.

Для целочисленных/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, default=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_словарь ndarrays

Словарь с ключами:

альфыndarray формы (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

Количество итераций, выполненных для оптимального альфа.

n_features_in_int

Количество признаков, замеченных во время fit.

Добавлено в версии 0.24.

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, наблюдаемых во время fit. Определено только когда 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 сжатие и эмпирическую ковариацию на высокоразмерных гауссовских данных, см. Оценка разреженной обратной ковариации.

отличается от(comp_cov, norm='frobenius', масштабирование=True, квадрат=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_).

масштабированиеbool, по умолчанию=True

Если True (по умолчанию), норма квадрата ошибки делится на n_features. Если False, норма квадрата ошибки не масштабируется.

квадратbool, по умолчанию=True

Вычислять ли квадрат нормы ошибки или норму ошибки. Если True (по умолчанию), возвращается квадрат нормы ошибки. Если False, возвращается норма ошибки.

Возвращает:
результатfloat

Среднеквадратичная ошибка (в смысле нормы Фробениуса) между self и comp_cov оценки ковариации.

fit(X, y=None, **params)[источник]#

Подогнать модель ковариации GraphicalLasso к X.

Параметры:
Xarray-like формы (n_samples, n_features)

Данные, по которым вычисляется оценка ковариации.

yИгнорируется

Не используется, присутствует для согласованности API по соглашению.

**paramsdict, по умолчанию=None

Параметры, передаваемые в CV splitter и функцию cross_val_score.

Добавлено в версии 1.5: Доступно только если enable_metadata_routing=True, который можно установить с помощью sklearn.set_config(enable_metadata_routing=True). См. Руководство по маршрутизации метаданных для более подробной информации.

Возвращает:
selfobject

Возвращает сам экземпляр.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Добавлено в версии 1.5.

Возвращает:
маршрутизацияMetadataRouter

A MetadataRouter Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=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). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.