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-кратную перекрестную проверку,
целое число, чтобы указать количество фолдов.
Итерируемый объект, возвращающий (обучающие, тестовые) разбиения в виде массивов индексов.
Для целочисленных/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
Экземпляр оценщика.