GraphicalLasso#
- класс sklearn.covariance.GraphicalLasso(alpha=0.01, *, mode='cd', ковариация=None, tol=0.0001, enet_tol=0.0001, max_iter=100, verbose=False, eps=np.float64(2.220446049250313e-16), assume_centered=False)[источник]#
Оценка разреженной обратной ковариации с оценщиком, использующим штраф L1.
Пример использования см. в Визуализация структуры фондового рынка.
Подробнее в Руководство пользователя.
Изменено в версии v0.20: GraphLasso переименован в GraphicalLasso
- Параметры:
- alphafloat, по умолчанию=0.01
Параметр регуляризации: чем выше alpha, тем больше регуляризация, тем более разреженной становится обратная ковариационная матрица. Диапазон: (0, inf].
- mode{‘cd’, ‘lars’}, по умолчанию=’cd’
Решатель Lasso для использования: координатный спуск или LARS. Используйте LARS для очень разреженных графов, где p > n. В остальных случаях предпочтительнее cd, который более численно устойчив.
- ковариация“precomputed”, по умолчанию None
Если ковариация "precomputed", входные данные в
fitпредполагается ковариационной матрицей. ЕслиNone, эмпирическая ковариация оценивается по даннымX.Добавлено в версии 1.3.
- tolfloat, по умолчанию=1e-4
Допуск для объявления сходимости: если двойной разрыв опускается ниже этого значения, итерации останавливаются. Диапазон (0, inf].
- enet_tolfloat, по умолчанию=1e-4
Допуск для решателя эластичной сети, используемого для вычисления направления спуска. Этот параметр управляет точностью направления поиска для данного обновления столбца, а не общей оценки параметра. Используется только для mode='cd'. Диапазон (0, inf].
- max_iterint, по умолчанию=100
Максимальное количество итераций.
- 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)
Оцененная псевдообратная матрица.
- n_iter_int
Количество выполненных итераций.
- costs_список пар (целевая функция, двойственный разрыв)
Список значений целевой функции и двойного разрыва на каждой итерации. Возвращается только если return_costs равен True.
Добавлено в версии 1.3.
- n_features_in_int
Количество признаков, замеченных во время fit.
Добавлено в версии 0.24.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлено в версии 1.0.
Смотрите также
graphical_lassoОценщик ковариации с L1-штрафом.
GraphicalLassoCVРазреженная обратная ковариация с кросс-валидационным выбором штрафа l1.
Примеры
>>> import numpy as np >>> from sklearn.covariance import GraphicalLasso >>> 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 = GraphicalLasso().fit(X) >>> np.around(cov.covariance_, decimals=3) array([[0.816, 0.049, 0.218, 0.019], [0.049, 0.364, 0.017, 0.034], [0.218, 0.017, 0.322, 0.093], [0.019, 0.034, 0.093, 0.69 ]]) >>> np.around(cov.location_, decimals=3) array([0.073, 0.04 , 0.038, 0.143])
- отличается от(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)[источник]#
Обучить модель GraphicalLasso на X.
- Параметры:
- Xarray-like формы (n_samples, n_features)
Данные, по которым вычисляется оценка ковариации.
- yИгнорируется
Не используется, присутствует для согласованности API по соглашению.
- Возвращает:
- selfobject
Возвращает сам экземпляр.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
- маршрутизацияMetadataRequest
A
MetadataRequestИнкапсуляция информации о маршрутизации.
- 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
Экземпляр оценщика.