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

Разреженная обратная ковариационная матрица с перекрёстной проверкой выбора l1-штрафа.

См. запись в глоссарии для оценки с перекрестной проверкой.

Подробнее см. в Руководстве пользователя.

Изменено в версии v0.20: GraphLassoCV переименована в GraphicalLassoCV

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

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

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

Количество раз, когда сетка уточняется. Не используется, если явно заданы значения alphas. Диапазон — [1, ∞).

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

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

  • None, для использования по умолчанию 5-кратной перекрестной проверки,
  • целое число, для указания количества фолдов.
  • разделитель перекрестной проверки,
  • итерируемый объект, возвращающий (train, test) разбиения как массивы индексов.

Для целых чисел/None используется KFold.

См. Руководство пользователя для различных стратегий перекрестной проверки, которые могут быть здесь использованы.

Изменено в версии 0.20: cv значение по умолчанию, если None, изменено с 3-кратной на 5-кратную.

tolfloat, по умолчанию=1e-4

Погрешность для объявления сходимости: если двойственная щель станет меньше этого значения, итерации прекращаются. Диапазон — (0, ∞].

enet_tolfloat, по умолчанию=1e-4

Погрешность для решателя эластичной сети, используемого для вычисления направления спуска. Этот параметр управляет точностью направления поиска для обновления данного столбца, а не общей оценкой параметра. Используется только для mode='cd'. Диапазон — (0, ∞].

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_словарь массивов

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

alphasмассив формы (n_alphas,)

Все исследованные параметры штрафа.

split(k)_test_scoreмассив формы (n_alphas,)

Оценка правдоподобия на оставшихся данных на (k)-ом фолде.

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

mean_test_scoreмассив формы (n_alphas,)

Среднее значение оценок по фолдам.

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

std_test_scoreмассив формы (n_alphas,)

Стандартное отклонение оценок по фолдам.

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

n_iter_int

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

n_features_in_int

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

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

feature_names_in_массив формы (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])
error_norm(comp_cov, norm='frobenius', scaling=True, squared=True)[source]

Вычислить среднеквадратическую ошибку между двумя оценками ковариации.

Параметры:
comp_covмассив-подобный с формой (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)[source]

Обучить модель ковариации GraphicalLasso на данных X.

Параметры:
Xмассив-подобный с формой (n_samples, n_features)

Данные для вычисления оценки ковариации.

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

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

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

Параметры, которые необходимо передать разбиению CV и функции cross_val_score.

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

Возвращает:
selfобъект

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

get_metadata_routing()[source]

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

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

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

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

А MetadataRouter содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

Параметры:
deepbool, по умолчанию=True

Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.

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

Имена параметров, сопоставленные со своими значениями.

get_precision()[source]

Получить матрицу точности.

Возвращает:
precision_массив-подобный с формой (n_features, n_features)

Матрица точности, связанная с текущим объектом ковариации.

mahalanobis(X)[source]

Вычислить квадраты расстояний Махаланобиса заданных наблюдений.

Параметры:
Xмассив-подобный с формой (n_samples, n_features)

Наблюдения, расстояния Махаланобиса которых мы вычисляем. Предполагается, что наблюдения взяты из того же распределения, что и данные, используемые в методе fit.

Возвращает:
distмассив NumPy с формой (n_samples,)

Квадраты расстояний Махаланобиса наблюдений.

score(X_test, y=None)[source]

Вычислить логарифмическое правдоподобие X_test при оцененной гауссовой модели.

Гауссова модель определяется своим средним значением и матрицей ковариаций, которые представлены соответственно self.location_ и self.covariance_.

Параметры:
X_testмассив-подобный с формой (n_samples, n_features)

Тестовые данные, для которых мы вычисляем правдоподобие, где n_samples — количество выборок, а n_features — количество признаков. X_test предполагается взятым из того же распределения, что и данные, используемые в методе fit (включая центрирование).

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

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

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

Логарифмическое правдоподобие X_test с self.location_ и self.covariance_ в качестве оценок среднего значения и матрицы ковариаций гауссовой модели соответственно.

set_params(**params)[source]

Установите параметры этого оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как Pipeline). У последних есть параметры вида <component>__<parameter>, чтобы можно было обновить каждый компонент вложенного объекта.

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

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

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

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

Примеры из галереи

Оценивание обратной ковариационной матрицы с разреженными значениями

Визуализация структуры фондового рынка

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

Spec-Zone.ru

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