sklearn.feature_extraction.FeatureHasher

class sklearn.feature_extraction.FeatureHasher

Implementa el hashing de características, también conocido como el truco del hashing.

Esta clase convierte secuencias de nombres de características simbólicas (strings) en matrices scipy.sparse, utilizando una función hash para calcular la columna de la matriz correspondiente a un nombre. La función hash empleada es la versión de 32 bits con signo de Murmurhash3.

Los nombres de características de tipo cadena de bytes(byte string) se utilizan tal cual. Las cadenas Unicode se convierten primero a UTF-8, pero no se realiza ninguna normalización Unicode. Los valores de las características deben ser números (finitos).

Esta clase es una alternativa de baja memoria a DictVectorizer y CountVectorizer, pensada para el aprendizaje a gran escala (en línea) y para situaciones en las que la memoria es escasa, por ejemplo, cuando se ejecuta código de predicción en dispositivos integrados(embedded).

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

Nuevo en la versión 0.13.

Parámetros
n_featuresint, default=2**20

El número de características (columnas) en las matrices de salida. Los números pequeños de características probablemente causen colisiones de hash, pero los números grandes causarán dimensiones de coeficiente más grandes en los algoritmos de aprendizaje lineales.

input_type{«dict», «pair», «string»}, default=»dict»

O bien «dict» (por defecto) para aceptar diccionarios sobre (feature_name, value); «pair» para aceptar pares de (feature_name, value); o «string» para aceptar cadenas simples. feature_name debe ser un string, mientras que value debe ser un número. En el caso de «string», el valor de 1 está implícito. El feature_name es mapeado (hashed) para encontrar la columna apropiada para la característica. El signo del valor puede estar invertido en la salida (pero ver non_negative, más abajo).

dtypedtype de numpy, default=np.float64

El tipo de los valores de las características. Se pasa a los constructores de matrices scipy.sparse como el argumento dtype. No lo establezcas como bool, np.boolean o cualquier tipo de entero sin signo.

alternate_signbool, default=True

Cuando es True, se añade un signo alternativo a las características para conservar aproximadamente el producto interno en el espacio mapeado (hashed), incluso para n_features pequeñas. Este enfoque es similar a la proyección aleatoria dispersa.

.. versionchanged:: 0.19

alternate_sign reemplaza el parámetro non_negative, ahora obsoleto.

Ver también

DictVectorizer

Vectoriza características con valores de cadena utilizando una tabla hash.

sklearn.preprocessing.OneHotEncoder

Maneja características nominales/categóricas.

Ejemplos

>>> from sklearn.feature_extraction import FeatureHasher
>>> h = FeatureHasher(n_features=10)
>>> D = [{'dog': 1, 'cat':2, 'elephant':4},{'dog': 2, 'run': 5}]
>>> f = h.transform(D)
>>> f.toarray()
array([[ 0.,  0., -4., -1.,  0.,  0.,  0.,  0.,  0.,  2.],
       [ 0.,  0.,  0., -2., -5.,  0.,  0.,  0.,  0.,  0.]])

Métodos

fit

No se puede.

fit_transform

Ajusta 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

Transforma una secuencia de instancias en una matriz scipy.sparse.

fit()

No se puede.

Este método no hace nada. Existe únicamente por compatibilidad con la API del transformador de scikit-learn.

Parámetros
Xndarray
Devuelve
selfFeatureHasher
fit_transform()

Ajusta 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 del estimador

Instancia del estimador.

transform()

Transforma una secuencia de instancias en una matriz scipy.sparse.

Parámetros
raw_Xiterable sobre características en bruto, length= n_samples

Muestras. Cada muestra debe ser un iterable (por ejemplo, una lista o tupla) que contenga/genere nombres de características (y opcionalmente valores, consulta el argumento del constructor input_type) que serán mapeados (hashed). raw_X no necesita ser compatible con la función len, por lo que puede ser el resultado de un generador; n_samples se determina sobre la marcha.

Devuelve
Xmatriz dispersa de forma (n_samples, n_features)

Matriz de características, para uso con estimadores o transformadores posteriores.

Ejemplos utilizando sklearn.feature_extraction.FeatureHasher