sklearn.kernel_approximation.RBFSampler

class sklearn.kernel_approximation.RBFSampler

Aproxima el mapa de características de un núcleo RBF por la aproximación de Monte Carlo de su transformación Fourier.

Implementa una variante de Random Kitchen Sinks.[1]

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

Parámetros
gammaflotante, default=1.0

Parámetro del núcleo RBF: exp(-gamma * x^2)

n_componentsentero, default=100

Número de muestras de Monte Carlo por característica original. Igual a la dimensionalidad del espacio de características calculado.

random_stateentero, RandomState instance o None, default=None

Generador de números pseudo-aleatorios para controlar la generación de los ponderados aleatorios y el desplazamiento aleatorio al ajustar los datos de entrenamiento. Pasa un int para una salida reproducible a través de múltiples llamadas de función. Ver Glosario.

Atributos
random_offset_ndarray de forma (n_components,), dtype=float64

Desplazamiento aleatorio usado para calcular la proyección en las dimensiones n_components del espacio de características.

random_weights_ndarray de forma (n_features, n_components), dtype=float64

Direcciones de proyección aleatoria extraídas de la transformación Fourier del núcleo RBF.

Notas

Ver «Random Features for Large-Scale Kernel Machines» por A. Rahimi y Benjamin Recht.

[1] «Weighted Sums of Random Kitchen Sinks: Replacing minimization with randomization in learning» por A. Rahimi y Benjamin Recht. (https://people.eecs.berkeley.edu/~brecht/papers/08.rah.rec.nips.pdf)

Ejemplos

>>> from sklearn.kernel_approximation import RBFSampler
>>> from sklearn.linear_model import SGDClassifier
>>> X = [[0, 0], [1, 1], [1, 0], [0, 1]]
>>> y = [0, 0, 1, 1]
>>> rbf_feature = RBFSampler(gamma=1, random_state=1)
>>> X_features = rbf_feature.fit_transform(X)
>>> clf = SGDClassifier(max_iter=5, tol=1e-3)
>>> clf.fit(X_features, y)
SGDClassifier(max_iter=5)
>>> clf.score(X_features, y)
1.0

Métodos

fit

Ajusta el modelo con X.

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 aproximado a X.

fit()

Ajusta el modelo con X.

Realiza un muestreo a la proyección aleatoria de acuerdo a n_features.

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

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

Devuelve
selfobject

Devuelve el transformador.

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 aproximado a X.

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

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

Devuelve
X_newarray-like, forma (n_samples, n_components)