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.
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 contextojoblib.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 decv_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 decv_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.
Ver también
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
Calcula el Error Cuadrático Medio entre dos estimadores de covarianza.
Ajusta el modelo de covarianza GraphicalLasso a X.
Obtiene los parámetros para este estimador.
Colector para la matriz de precisión.
Calcula las distancias de mahalanobis cuadráticas de las observaciones dadas.
Calcula el logaritmo de la verosimilitud de un conjunto de datos Gaussiano con
self.covariance_
como un estimador de su matriz de covarianza.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
ycomp_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.