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