sklearn.decomposition.KernelPCA

class sklearn.decomposition.KernelPCA

Análisis de Componentes Principales basado en Kernel (Kernel Principal component analysis, KPCA).

Reducción de la dimensionalidad no lineal mediante el uso de núcleos (ver Métricas por pares, afinidades y núcleos).

Lee más en el Manual de usuario.

Parámetros
n_componentsint, default=None

Número de componentes. Si es None, se mantienen todos los componentes distintos de cero.

kernel{“linear”, “poly”, “rbf”, “sigmoid”, “cosine”, “precomputed”}, default=”linear”

Núcleo utilizado para PCA.

gammafloat, default=None

Coeficiente del núcleo para los núcleos poly y sigmoide. Ignorado por otros núcleos. Si gamma es None, entonces se establece en 1/n_features.

degreeint, default=3

Grado para los núcleos poly. Ignorado por otros núcleos.

coef0float, default=1

Término independiente en los núcleos poly y sigmoide. Ignorado por otros núcleos.

kernel_paramsdict, default=None

Parámetros (argumentos de palabra clave) y valores para el kernel o núcleo pasados como objeto de llamada. Ignorado por otros núcleos.

alphafloat, default=1.0

Hiperparámetro de la regresión de cresta que aprende la transformación inversa (cuando fit_inverse_transform=True).

fit_inverse_transformbool, default=False

Aprende la transformación inversa para núcleos no precalculados. (es decir, aprende a encontrar la preimagen de un punto)

eigen_solver{“auto”, “dense”, “arpack”}, default=”auto”

Selecciona el método de obtención de autovalores a utilizar. Si n_components es mucho menor que el número de muestras de entrenamiento, arpack puede ser más eficiente que el método de obtención de autovalores denso.

tolfloat, default=0

Tolerancia de convergencia para arpack. Si es 0, el valor óptimo será elegido por arpack.

max_iterint, default=None

Número máximo de iteraciones para arpack. Si es None, el valor óptimo será elegido por arpack.

remove_zero_eigbool, default=False

Si es True, se eliminan todos los componentes con valores propios cero, de modo que el número de componentes en la salida puede ser < n_components (y a veces incluso cero debido a la inestabilidad numérica). Cuando n_componentes es None, este parámetro se ignora y los componentes con autovalores cero se eliminan a pesar de todo.

random_stateentero, instancia de RandomState o None, default=None

Se utiliza cuando eigen_solver == “arpack”. Pasa un número entero (int) para que los resultados sean reproducibles a través de múltiples llamadas a la función. Ver Glosario.

Nuevo en la versión 0.18.

copy_Xbool, default=True

Si es True, la entrada X es copiada y almacenada por el modelo en el atributo X_fit_. Si no se van a realizar más cambios en X, establecer copy_X=False ahorra memoria al almacenar una referencia.

Nuevo en la versión 0.18.

n_jobsint, default=None

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

Nuevo en la versión 0.18.

Atributos
lambdas_ndarray de forma (n_components,)

Los autovalores de la matriz núcleo centrada en orden decreciente. Si n_components y remove_zero_eig no están establecidos, entonces se almacenan todos los valores.

alphas_ndarray de forma (n_samples, n_components)

Los autovectores de la matriz núcleo centrada. Si n_components y remove_zero_eig no están establecidos, entonces se almacenan todos los componentes.

dual_coef_ndarray de forma (n_samples, n_features)

La matriz de transformación inversa. Solo está disponible cuando fit_inverse_transform es True.

X_transformed_fit_ndarray de forma (n_samples, n_components)

Proyección de los datos ajustados en los componentes principales basados en núcleo. Sólo disponible cuando fit_inverse_transform es True.

X_fit_ndarray de forma (n_samples, n_features)

Los datos utilizados para ajustar el modelo. Si copy_X=False, entonces X_fit_ es una referencia. Este atributo se utiliza para las llamadas a transformar.

Referencias

PCA basado en núcleo fue introducido en:

Bernhard Schoelkopf, Alexander J. Smola, and Klaus-Robert Mueller. 1999. Kernel principal component analysis. En Advances in kernel methods, MIT Press, Cambridge, MA, USA 327-352.

Ejemplos

>>> from sklearn.datasets import load_digits
>>> from sklearn.decomposition import KernelPCA
>>> X, _ = load_digits(return_X_y=True)
>>> transformer = KernelPCA(n_components=7, kernel='linear')
>>> X_transformed = transformer.fit_transform(X)
>>> X_transformed.shape
(1797, 7)

Métodos

fit

Ajusta el modelo a partir de los datos en X.

fit_transform

Ajustar el modelo a partir de los datos en X y transforma X.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Transforma X de nuevo al espacio original.

set_params

Establece los parámetros de este estimador.

transform

Transforma X.

fit()

Ajusta el modelo a partir de los datos en X.

Parámetros
X{array-like, sparse matrix} 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.

Devuelve
selfobject

Devuelve la propia instancia.

fit_transform()

Ajustar el modelo a partir de los datos en X y transforma X.

Parámetros
X{array-like, sparse matrix} 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.

Devuelve
X_newndarray de forma (n_samples, n_components)
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

Los nombres de los parámetros mapeados a sus valores.

inverse_transform()

Transforma X de nuevo al espacio original.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_components)
Devuelve
X_newndarray de forma (n_samples, n_features)

Referencias

«Learning to Find Pre-Images», G BakIr et al, 2004.

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.

transform()

Transforma X.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)
Devuelve
X_newndarray de forma (n_samples, n_components)