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ámetronon_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
No se puede.
Ajusta los datos y luego los transforma.
Obtiene los parámetros para este estimador.
Establece los parámetros de este estimador.
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
ey
con los parámetros opcionalesfit_params
y devuelve una versión transformada deX
.- 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.