sklearn.feature_extraction.DictVectorizer

class sklearn.feature_extraction.DictVectorizer

Transforma listas de mapeos de valores-características en vectores.

Este transformador convierte listas de mapeos (objetos tipo dict) de nombres de características a valores de características en arreglos Numpy o matrices scipy.sparse para su uso con estimadores de scikit-learn.

Cuando los valores de las características son cadenas (string), este transformador realizará una codificación binaria one-hot (también conocida como one-of- K): se construye una característica con valor booleano para cada uno de los posibles valores de cadena que puede tomar la característica. Por ejemplo, una característica «f» que puede tomar los valores «ham» y «spam» se convertirá en dos características en la salida, una significando «f=ham», la otra «f=spam».

Si un valor de una característica es una secuencia o conjunto de cadenas, este transformador iterará sobre los valores y contará las ocurrencias de cada valor de cadena.

Sin embargo, ten en cuenta que este transformador sólo hará una codificación binaria one-hot cuando los valores de las características sean de tipo string. Si las características categóricas se representan como valores numéricos, tales como int o iterables de strings , el DictVectorizer puede ser seguido por OneHotEncoder para completar la codificación binaria one-hot.

Las características que no aparecen en una muestra (mapeo) tendrán un valor cero en el arreglo/matriz resultante.

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

Parámetros
dtypedtype, default=np.float64

El tipo de los valores de las características. Se pasa a los constructores de arreglos Numpy/matrices scipy.sparse como argumento dtype.

separatorstr, default=»=»

Cadena de separación utilizada cuando se construyen nuevas características para la codificación one-hot.

sparsebool, default=True

Si la transformación debe producir matrices scipy.sparse.

sortbool, default=True

Si feature_names_ y vocabulary_ deben ser ordenados cuando se ajustan.

Atributos
vocabulary_dict

Un diccionario que mapea nombres de características a índices de características.

feature_names_list

Una lista de longitud n_features que contiene los nombres de las características (por ejemplo, «f=ham» y «f=spam»).

Ver también

FeatureHasher

Realiza la vectorización utilizando sólo una función hash.

sklearn.preprocessing.OrdinalEncoder

Maneja características nominales/categóricas codificadas como columnas de tipos de datos arbitrarios.

Ejemplos

>>> from sklearn.feature_extraction import DictVectorizer
>>> v = DictVectorizer(sparse=False)
>>> D = [{'foo': 1, 'bar': 2}, {'foo': 3, 'baz': 1}]
>>> X = v.fit_transform(D)
>>> X
array([[2., 0., 1.],
       [0., 1., 3.]])
>>> v.inverse_transform(X) == [{'bar': 2.0, 'foo': 1.0},
...                            {'baz': 1.0, 'foo': 3.0}]
True
>>> v.transform({'foo': 4, 'unseen_feature': 3})
array([[0., 0., 4.]])

Métodos

fit

Aprende una lista de nombres de características -> mapeos de índices.

fit_transform

Aprende una lista de nombres de características -> mapeos de índices y transforma X.

get_feature_names

Devuelve una lista de nombres de características, ordenada por sus índices.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Transforma la matriz dispersa X en mapeos de características.

restrict

Restringe las características a aquellas que soportan la selección de características.

set_params

Establece los parámetros de este estimador.

transform

Característica de transformación->valores del diccionario a un arreglo o a una matriz dispersa.

fit()

Aprende una lista de nombres de características -> mapeos de índices.

Parámetros
XMapping o iterable sobre Mappings

Dict(s) o Mapping(s) a partir de los nombres de las características(objetos arbitrarios de Python) a valores de características (strings o convertibles a dtype).

Distinto en la versión 0.24: Acepta múltiples valores de string para una característica categórica.

y(Ignorado)
Devuelve
self
fit_transform()

Aprende una lista de nombres de características -> mapeos de índices y transforma X.

Como fit(X) seguido de transform(X), pero no requiere materializar X en memoria.

Parámetros
XMapping o iterable sobre Mappings

Dict(s) o Mapping(s) a partir de los nombres de las características(objetos arbitrarios de Python) a valores de características (strings o convertibles a dtype).

Distinto en la versión 0.24: Acepta múltiples valores de string para una característica categórica.

y(Ignorado)
Devuelve
Xa{array, sparse matrix}

Vectores de característica; siempre 2-d(dos dimensiones).

get_feature_names()

Devuelve una lista de nombres de características, ordenada por sus índices.

Si se aplica la codificación one-of-K a las características categóricas, se incluirán los nombres de las características construidas pero no las originales.

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.

inverse_transform()

Transforma la matriz dispersa X en mapeos de características.

X debe haber sido producido por el método transform o fit_transform de DictVectorizer; solo puede haber pasado por transformadores que preserven el número de características y su orden.

En el caso de la codificación one-hot/one-of-K, se devuelven los nombres y valores de las características construidas en lugar de las originales.

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

Matriz de muestras.

dict_typetype, default=dict

Constructor para mapeos de características. Debe ajustarse a la API collections.Mapping.

Devuelve
Dlist de dict_type objects de forma (n_samples,)

Mapeos de características para las muestras en X.

restrict()

Restringe las características a aquellas que soportan la selección de características.

Esta función modifica el estimador in situ.

Parámetros
supportarray-like

Máscara booleana o lista de índices (como la devuelta por el miembro get_support de los selectores de características).

indicesbool, default=False

Si el soporte es una lista de índices.

Devuelve
self

Ejemplos

>>> from sklearn.feature_extraction import DictVectorizer
>>> from sklearn.feature_selection import SelectKBest, chi2
>>> v = DictVectorizer()
>>> D = [{'foo': 1, 'bar': 2}, {'foo': 3, 'baz': 1}]
>>> X = v.fit_transform(D)
>>> support = SelectKBest(chi2, k=2).fit(X, [0, 1])
>>> v.get_feature_names()
['bar', 'baz', 'foo']
>>> v.restrict(support.get_support())
DictVectorizer()
>>> v.get_feature_names()
['bar', 'foo']
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()

Característica de transformación->valores del diccionario a un arreglo o a una matriz dispersa.

Las características con nombre que no se encuentren durante fit o fit_transform serán ignoradas silenciosamente.

Parámetros
XMapping o iterable sobre Mappings de forma (n_samples,)

Dict(s) o Mapping(s) a partir de los nombres de las características(objetos arbitrarios de Python) a valores de características (strings o convertibles a dtype).

Devuelve
Xa{array, sparse matrix}

Vectores de característica; siempre 2-d(dos dimensiones).

Ejemplos usando sklearn.feature_extraction.DictVectorizer