sklearn.decomposition.SparsePCA

class sklearn.decomposition.SparsePCA

Análisis de Componentes Principales Disperso (SparsePCA).

Encuentra el conjunto de componentes dispersos que pueden reconstruir óptimamente los datos. La cantidad de dispersión (sparseness) es controlable por el coeficiente de la penalización L1, dado por el parámetro alfa.

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

Parámetros
n_componentsint, default=None

Número de átomos dispersos a extraer.

alphafloat, default=1

Parámetro de control de la dispersión. Los valores más altos conducen a componentes más dispersos.

ridge_alphafloat, default=0.01

Cantidad de contracción de cresta (ridge) a aplicar para mejorar el acondicionamiento al llamar al método de transformación.

max_iterint, default=1000

Número máximo de iteraciones a realizar.

tolfloat, default=1e-8

Tolerancia para la condición de parada.

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

lars: utiliza el método de regresión de ángulo mínimo para resolver el problema de Lasso (linear_model.lars_path) cd: utiliza el método de descenso de coordenadas para calcular la solución de Lasso (linear_model.Lasso). Lars será más rápido si los componentes estimados son dispersos.

n_jobsint, default=None

Número de trabajos paralelos a ejecutar. 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.

U_initndarray de forma (n_samples, n_components), default=None

Valores iniciales de las cargas para los escenarios de reinicio en caliente.

V_initndarray de forma (n_components, n_features), default=None

Valores iniciales de los componentes para los escenarios de reinicio en caliente.

verboseint o bool, default=False

Controla la verbosidad; cuanto más alto, más mensajes. El valor predeterminado es 0.

random_stateint, instancia de RandomState o None, default=None

Se utiliza durante el aprendizaje de diccionario (dictionary learning). Pasa un int para obtener resultados reproducibles a través de múltiples llamadas a la función. Ver Glosario.

Atributos
components_ndarray de forma (n_components, n_features)

Componentes dispersos extraídos de los datos.

error_ndarray

Vector de errores en cada iteración.

n_components_int

Número estimado de componentes.

Nuevo en la versión 0.23.

n_iter_int

Número de iteraciones ejecutadas.

mean_ndarray de forma (n_features,)

Media empírica por característica, estimada a partir del conjunto de entrenamiento. Igual a `` X.mean(axis=0)``.

Ejemplos

>>> import numpy as np
>>> from sklearn.datasets import make_friedman1
>>> from sklearn.decomposition import SparsePCA
>>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0)
>>> transformer = SparsePCA(n_components=5, random_state=0)
>>> transformer.fit(X)
SparsePCA(...)
>>> X_transformed = transformer.transform(X)
>>> X_transformed.shape
(200, 5)
>>> # most values in the components_ are zero (sparsity)
>>> np.mean(transformer.components_ == 0)
0.9666...

Métodos

fit

Ajusta el modelo a partir de los datos en X.

fit_transform

Ajusta a los datos y luego los transforma.

get_params

Obtiene los parámetros para este estimador.

set_params

Establece los parámetros de este estimador.

transform

Proyección por Mínimos Cuadrados de los datos sobre los componentes dispersos.

fit()

Ajusta el modelo a partir de los datos en X.

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

Vector de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características.

yIgnorado
Devuelve
selfobject

Devuelve la instancia de sí misma.

fit_transform()

Ajusta a los datos y luego los transforma.

Ajusta el transformador a X e y con los parámetros opcionales fit_params y devuelve una versión transformada de X.

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

Muestras de entrada.

yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None

Valores objetivo (None para transformaciones no supervisadas).

**fit_paramsdict

Parámetros de ajuste adicionales.

Devuelve
X_newarreglo ndarray de forma (n_samples, n_features_new)

Arreglo transformado.

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 mapeados a sus valores.

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 de estimador

Instancia del estimador.

transform()

Proyección por Mínimos Cuadrados de los datos sobre los componentes dispersos.

Para evitar problemas de inestabilidad en caso de que el sistema esté subdeterminado, se puede aplicar una regularización (Regresión de cresta «Ridge regression») a través del parámetro ridge_alpha.

Ten en cuenta que la ortogonalidad de los componentes del Sparce PCA (Análisis de componentes principales disperso) no se aplica como en el PCA, por lo tanto no se puede utilizar una simple proyección lineal.

Parámetros
Xndarray de forma [n_samples, n_features)

Los datos de prueba que se van a transformar, deben tener el mismo número de características que los datos utilizados para entrenar el modelo.

Devuelve
X_newndarray de forma (n_samples, n_components)

Datos transformados.