sklearn.kernel_approximation.PolynomialCountSketch

class sklearn.kernel_approximation.PolynomialCountSketch

Aproximación de núcleos polinómicos a través de Tensor Sketch.

Implementa el Tensor Sketch, el cual aproxima el mapa de características del núcleo polinómico:

K(X, Y) = (gamma * <X, Y> + coef0)^degree

mediante el calculo eficiente de un Count Sketch del producto externo de un vector con sí mismo utilizando Transformaciones de Fourier Rapidas (TFR). Leer más en la Manual de Usuario.

Nuevo en la versión 0.24.

Parámetros
gammafloat, default=1.0

Parámetro del núcleo polinomial cuyo mapa de características será aproximado.

degreeint, default=2

Grado del núcleo polinomial cuyo mapa de características será aproximado.

coef0int, default=0

Término constante del núcleo polinomial cuyo mapa de características será aproximado.

n_componentsint, default=100

Dimensionalidad del espacio de características de salida. Usualmente, n_components debería ser mayor al número de características en las muestras de entrada para lograr un buen rendimiento. El balance óptimo entre puntuación/tiempo de ejecución suele alcanzarse en torno a n_components = 10 * n_features, pero esto depende del conjunto de datos específico que se utilice.

random_stateint, RandomState instance, default=None

Determina la generación de números aleatorios para la inicialización de indexHash y bitHash. Pase un int para una salida reproducible a través de múltiples llamadas a la función. Consulta Glossary.

Atributos
indexHash_ndarray de forma (degree, n_features), dtype=int64

Arreglo de índices en el rango [0, n_components) usados para representar las funciones de hash independientes a dos bandas para el calculo de Count Sketch.

bitHash_ndarray de forma (degree, n_features), dtype=float32

Arreglo con entradas aleatorias en {+1, -1} usadas para representar las funciones de hash independientes para el calculo de Count Sketch.

Ejemplos

>>> from sklearn.kernel_approximation import PolynomialCountSketch
>>> from sklearn.linear_model import SGDClassifier
>>> X = [[0, 0], [1, 1], [1, 0], [0, 1]]
>>> y = [0, 0, 1, 1]
>>> ps = PolynomialCountSketch(degree=3, random_state=1)
>>> X_features = ps.fit_transform(X)
>>> clf = SGDClassifier(max_iter=10, tol=1e-3)
>>> clf.fit(X_features, y)
SGDClassifier(max_iter=10)
>>> 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

Genera la aproximación del mapa de características para X.

fit()

Ajusta el modelo con X.

Inicializa las variables internas. El método no necesita información sobre la distribución de datos, así que sólo nos importa n_features en X.

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

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

Salida
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=False

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

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

Salida
selfinstancia de estimador

Instancia del estimador.

transform()

Genera la aproximación del mapa de características para X.

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

Salida
X_newarray-like, forma (n_samples, n_components)

Ejemplos usando sklearn.kernel_approximation.PolynomialCountSketch