sklearn.covariance.GraphicalLassoCV

class sklearn.covariance.GraphicalLassoCV

Covarianza inversa dispersa con elección de validación cruzada de la penalidad l1.

Ver entrada de glosario para cross-validation estimator.

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

Distinto en la versión v0.20: GraphLassoCV ha sido renombrado a GraphicalLassoCV

Parámetros
alphasentero o array-like de la forma (n_alphas,), dtype=float, default=4

Si un entero es dado, corrige el número de puntos en las rejillas de alfa a ser usadas. Si una lista es dada, devuelve la rejilla a ser usada. Ver las notas en la clase docstring para mas detalles. El rango es (0, inf] cuando recibe flotantes.

n_refinementsint, default=4

El número de veces que se refina la rejilla. No usado si se pasan valores explícitos de alfas. El rango es [1, inf).

cvint, generador de validación cruzada o iterable, default=None

Determina la estrategia de división de la validación cruzada. Las posibles entradas para cv son:

  • None, para usar la validación cruzada de 5 partes por defecto,

  • entero, para especificar el número de pliegues.

  • separador de CV,

  • Un iterable que produce divisiones (train, test) como arreglos de índices.

Para entradas None/de enteros se usa KFold.

Consulta Manual de usuario para las diversas estrategias de validación cruzada que pueden ser utilizadas aquí.

Distinto en la versión 0.20: cv es el valor predeterminado si None cambió de 3 partes a 5 partes.

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.

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

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

n_jobsint, default=None

número de trabajos a ejecutar en paralelo. None significa 1 a menos que esté en un contexto joblib.parallel_backend. -1 significa utilizar todos los procesadores. Ver Glosario para más detalles.

Distinto en la versión v0.20: n_jobs por defecto cambiado de 1 a Ninguna

verbosebool, default=False

Si verbose es True, la función objetivo y la brecha de dualidad se imprimen 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)

Matriz de precisión estimada (covarianza inversa).

alpha_float

Parámetro de penalización seleccionado.

cv_alphas_lista de forma (n_alphas,), dtype=float

Todos los parámetros de penalización explorados.

Obsoleto desde la versión 0.24: El atributo cv_alphas_ está obsoleto en la versión 0.24 a favor de cv_results['alphas'] y será eliminado en la versión 1.1 (renombrado desde 0.26).

grid_scores_ndarray de forma (n_alphas, n_folds)

Puntuación del logaritmo de la verosimilitud de los datos excluidos de los pliegues.

Obsoleto desde la versión 0.24: El atributo grid_scores_ está obsoleto en la versión 0.24 a favor de cv_results_ y será eliminado en la versión 1.1 (renombrado desde 0.26).

cv_results_dict de ndarrays

Un dict con las claves:

alphasndarray de forma (n_alphas,)

Todos los parámetros de penalización explorados.

split(k)_scorendarray de forma (n_alphas,)

Puntuación del logaritmo de la verosimilitud en los datos excluidos del (k)-ésimo pliegue.

mean_scorendarray de forma (n_alphas,)

Media de puntajes sobre los pliegues.

std_scorendarray de forma (n_alphas,)

Desviación estándar de los puntajes sobre los pliegues.

Nuevo en la versión 0.24.

n_iter_int

Número de iteraciones ejecutadas para el alfa óptimo.

Notas

La búsqueda del parámetro de penalización óptimo (alpha) se hace en una cuadrícula refinada iterativamente: primero los puntajes validados de manera cruzada son calculados, y entonces una nueva cuadrícula es refinada y centrada alrededor del máximo, y así sucesivamente.

Uno de los retos a los que se enfrenta aquí es que los solucionadores podrían no converger a un estimado bien condicionado. Los correspondientes valores de alpha entonces son devueltos como valores faltantes, pero el óptimo quizás sea cercano a estos valores faltantes.

Ejemplos

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

Métodos

error_norm

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

fit

Ajusta el modelo de covarianza 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.

Devuelve
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 de covarianza 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.

Devuelve
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.

Devuelve
paramsdict

Nombres de parámetros asignados a sus valores.

get_precision()

Colector para la matriz de precisión.

Devuelve
precision_array-like de forma (n_features, n_features)

La matriz de precisión asociada al objeto de covariancia 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.

Devuelve
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.

Devuelve
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.

Devuelve
selfinstancia del estimador

Instancia del estimador.

Ejemplos usando sklearn.covariance.GraphicalLassoCV