sklearn.kernel_approximation.Nystroem

class sklearn.kernel_approximation.Nystroem

Aproxima un mapa de núcleo usando un subconjunto de los datos de entrenamiento.

Construye un mapa de características aproximado para un núcleo arbitrario usando un subconjunto de los datos como base.

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

Nuevo en la versión 0.13.

Parámetros
kernelcadena o invocable, default=”rbf”

Mapa de núcleo a aproximar. Un invocable debería aceptar dos argumentos y los argumentos de palabra clave pasados a este objeto como kernel_params, y debería devolver un número punto flotante.

gammaflotante, default=None

El parámetro Gamma para los núcleos RBF, laplacianos, polimoniales, exponenciales chi2 y sigmoides. La interpretación del valor predeterminado se deja en manos del núcleo; ver la documentación para sklearn.metrics.pairwise. Ignorado por otros núcleos.

coef0flotante, default=None

Coeficiente cero para los kernels o núcleos polinomiales y sigmoides. Ignorado por otros kernels.

degreeflotante, default=None

Grado del núcleo polinómico. Ignorado por otros núcleos.

kernel_paramsdict, default=None

Parámetros adicionales (argumentos de palabra clave) para la función del núcleo pasado como objeto invocable.

n_componentsint, default=100

Número de características a construir. Cuantos puntos de datos se usarán para construir el mapeo.

random_stateentero, instancia de RandomState o None, default=None

Generador de números pseudo-aleatorios para controlar el muestreo uniforme sin reemplazo de n_components de los datos de entrenamiento para construir el núcleo base. Pase un entero para una salida reproducible a través de múltiples llamadas de función. Ver el Glosario.

n_jobsentero, default=None

El número de trabajos a utilizar para el cálculo. Esto funciona descomponiendo la matriz de núcleo en n_jobs partes iguales y calculándolas en paralelo.

None significa 1 a menos que esté en un contexto joblib.parallel_backend. -1 significa que se utilizan todos los procesadores. Consulta Glosario para más detalles.

Nuevo en la versión 0.24.

Atributos
components_ndarray de forma (n_components, n_features)

Subconjunto de puntos de entrenamiento utilizados para construir el mapa de características.

component_indices_ndarray de forma (n_components)

Índices de components_ en el conjunto de entrenamiento.

normalization_ndarray de forma (n_components, n_components)

Matriz de normalización necesaria para el embedding. La raíz cuadrada de la matriz nucleo en components_.

Ver también

RBFSampler

Una aproximación al núcleo RBF usando características aleatorias de Fourier.

sklearn.metrics.pairwise.kernel_metrics

Lista de núcleos integrados.

Referencias

  • Williams, C.K.I. and Seeger, M. «Using the Nystroem method to speed up kernel machines», Advances in neural information processing systems 2001

  • T. Yang, Y. Li, M. Mahdavi, R. Jin and Z. Zhou «Nystroem Method vs Random Fourier Features: A Theoretical and Empirical Comparison», Advances in Neural Information Processing Systems 2012

Ejemplos

>>> from sklearn import datasets, svm
>>> from sklearn.kernel_approximation import Nystroem
>>> X, y = datasets.load_digits(n_class=9, return_X_y=True)
>>> data = X / 16.
>>> clf = svm.LinearSVC()
>>> feature_map_nystroem = Nystroem(gamma=.2,
...                                 random_state=1,
...                                 n_components=300)
>>> data_transformed = feature_map_nystroem.fit_transform(data)
>>> clf.fit(data_transformed, y)
LinearSVC()
>>> clf.score(data_transformed, y)
0.9987...

Métodos

fit

Ajusta el estimador a los datos.

fit_transform

Lo ajusta a los datos, y después lo transforma.

get_params

Obtiene los parámetros para este estimador.

set_params

Establece los parámetros de este estimador.

transform

Aplica el mapa de características a X.

fit()

Ajusta el estimador a los datos.

Muestrea un subconjunto de puntos de entrenamiento, calcula el núcleo en estas y calcula la matriz de normalización.

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

Datos del entrenamiento.

fit_transform()

Lo ajusta a los datos, y después lo transforma.

Ajusta el transformador a X y 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
deepbooleano, 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()

Aplica el mapa de características a X.

Calcula un mapa de características aproximado usando el núcleo entre algunos puntos de entrenamiento y X.

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

Datos a transformar.

Devuelve
X_transformedndarray de forma (n_samples, n_components)

Datos transformados.