sklearn.covariance.GraphicalLasso

class sklearn.covariance.GraphicalLasso

Estimación dispersa de la covarianza inversa con un estimador de penalidad l1.

Más información en el Manual de usuario.

Distinto en la versión v0.20: GraphLasso ha sido renombrado a GraphicalLasso

Parámetros
alphafloat, default=0.01

El parámetro de regularización: mientras el alfa sea más alto, habra más regularización, y sera mas disperso la covarianza inversa. El rango es (0, inf].

mode{“cd”, “lars”}, default=”cd”

El solucionador Lasso a usar: descenso de coordenadas o LARS. Use LARS para gráficos subyacentes muy dispersos, donde p > n. De otra forma se prefiere el dc (cd en inglés), que es más estable numéricamente.

tolfloat, default=1e-4

La tolerancia para declarar la convergencia: si la brecha dual va por debajo de este valor, se detienen las iteraciones. El rango es (0, inf].

enet_tolfloat, default=1e-4

La tolerancia para el solucionador de red elástica utilizado para calcular la dirección de descenso. Este parámetro controla la precisión de la dirección de búsqueda para una actualización de una columna determinada, no del estimado de parámetro general. Sólo se utiliza para mode=”cd”. El rango es (0, inf].

max_iterint, default=100

Número máximo de iteraciones.

verbosebool, default=False

Si verbose es True, la función objetivo y la brecha dual se grafican en cada iteración.

assume_centeredbool, default=False

Si es True, los datos no son centrados antes del calculó. Útil al trabajar con datos cuya media es casí, pero no igual a cero. Si es False, los datos son centrados antes del cálculo.

Atributos
location_ndarray de forma (n_features,)

Ubicación estimada, es decir, la media estimada.

covariance_ndarray de forma (n_features, n_features)

Matriz de covarianza estimada

precision_ndarray de forma (n_features, n_features)

Matrix pseudo inversa estimada.

n_iter_int

Número de iteraciones realizadas.

Ejemplos

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

Métodos

error_norm

Calcula el Error Cuadrático Medio entre dos estimadores de covarianza.

fit

Ajusta el modelo GraphicalLasso a X.

get_params

Obtiene los parámetros para este estimador.

get_precision

Colector para la matriz de precisión.

mahalanobis

Calcula las distancias de mahalanobis cuadráticas de las observaciones dadas.

score

Calcula el logaritmo de la verosimilitud de un conjunto de datos Gaussiano con self.covariance_ como un estimador de su matriz de covarianza.

set_params

Establece los parámetros de este estimador.

error_norm()

Calcula el Error Cuadrático Medio entre dos estimadores de covarianza. (En el sentido de la norma Frobenius).

Parámetros
comp_covarray-like de forma (n_features, n_features)

La covarianza con la cual se compara.

norm{«frobenius», «spectral»}, default=»frobenius»

El tipo de norma utilizada para calcular el error. Tipos de error disponibles: - “frobenius” (predeterminado): sqrt(tr(A^t.)) - “spectral”: sqrt(max(eigenvalues(A^t.A)) donde A es el error (comp_cov - self.covariance_).

scalingbool, default=True

Si es True (predeterminado), la norma del error cuadrático es dividida por n_features. Si es False, la norma del error cuadrático no es reescalada.

squaredbool, default=True

Si se calcula la norma de error cuadrático o la norma de error. Si es True (predeterminado) se devuelve la norma de error cuadrático. Si es False, se devuelve la norma de error.

Devoluciones
resultfloat

El Error Cuadrático Medio (en el sentido de la norma Frobenius) entre los estimadores de covarianza self y comp_cov.

fit()

Ajusta el modelo GraphicalLasso a X.

Parámetros
Xarray-like de forma (n_samples, n_features)

Datos desde los cuales calcular la estimación de covarianza

yIgnorado

No se utiliza, está presente para la coherencia de la API por convención.

Devoluciones
selfobjeto
get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devoluciones
paramsdict

Nombres de parámetros asignados a sus valores.

get_precision()

Colector para la matriz de precisión.

Devoluciones
precision_array-like de forma (n_features, n_features)

La matriz de precisión asociada al objeto de covarianza actual.

mahalanobis()

Calcula las distancias de mahalanobis cuadráticas de las observaciones dadas.

Parámetros
Xarray-like de forma (n_samples, n_features)

Las observaciones, las distancias Mahalanobis de lo que calculamos. Se asume que las observaciones se extraen de la misma distribución que utilizaron los datos en el ajuste.

Devoluciones
distndarray de forma (n_samples,)

Distancias de Mahalanobis cuadráticas de las observaciones.

score()

Calcula el logaritmo de la verosimilitud de un conjunto de datos Gaussiano con self.covariance_ como un estimador de su matriz de covarianza.

Parámetros
X_testarray-like de forma (n_samples, n_features)

Los datos de prueba de los cuales calculamos la probabilidad, donde n_samples es el número de muestras y n_features es el número de características. Se asume que X_test se extrae de la misma distribución que los datos utilizados (incluyendo el centrado).

yIgnorado

No se utiliza, está presente para la coherencia de la API por convención.

Devoluciones
resfloat

La probabilidad del conjunto de datos con self.covariance_ como un estimador de su matriz de covarianza.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto en estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devoluciones
selfinstancia del estimador

Instancia del estimador.