sklearn.preprocessing.MultiLabelBinarizer

class sklearn.preprocessing.MultiLabelBinarizer

Transformación entre iterable de iterables y un formato multietiqueta.

Aunque una lista de conjuntos o tuplas es un formato muy intuitivo para los datos multietiqueta, su procesamiento es difícil de manejar. Este transformador convierte entre este formato intuitivo y el formato de etiquetas múltiples admitido: una matriz binaria (muestras x clases) que indica la presencia de una etiqueta de clase.

Parámetros
classesarray-like de forma (n_classes,), default=None

Indica un orden para las etiquetas de las clases. Todas las entradas deben ser únicas (no pueden contener clases duplicadas).

sparse_outputbooleano, default=False

Establécelo en True si deseas un arreglo binario de salida en formato CSR disperso.

Atributos
classes_ndarray de forma (n_classes,)

Una copia del parámetro classes cuando se proporciona. En caso contrario, corresponde al conjunto ordenado de clases que se encuentran al ajustar.

Ver también

OneHotEncoder

Codifica las características categóricas utilizando un esquema one-hot también conocido como uno de K (one-of-K).

Ejemplos

>>> from sklearn.preprocessing import MultiLabelBinarizer
>>> mlb = MultiLabelBinarizer()
>>> mlb.fit_transform([(1, 2), (3,)])
array([[1, 1, 0],
       [0, 0, 1]])
>>> mlb.classes_
array([1, 2, 3])
>>> mlb.fit_transform([{'sci-fi', 'thriller'}, {'comedy'}])
array([[0, 1, 1],
       [1, 0, 0]])
>>> list(mlb.classes_)
['comedy', 'sci-fi', 'thriller']

Un error común es pasar una lista (list), lo que lleva al siguiente problema:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit(['sci-fi', 'thriller', 'comedy'])
MultiLabelBinarizer()
>>> mlb.classes_
array(['-', 'c', 'd', 'e', 'f', 'h', 'i', 'l', 'm', 'o', 'r', 's', 't',
    'y'], dtype=object)

Para corregir esto, la lista de etiquetas debe pasarse como:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit([['sci-fi', 'thriller', 'comedy']])
MultiLabelBinarizer()
>>> mlb.classes_
array(['comedy', 'sci-fi', 'thriller'], dtype=object)

Métodos

fit

Ajusta el binarizador de conjuntos de etiquetas, almacenando classes_.

fit_transform

Ajusta el binarizador de conjuntos de etiquetas y transforma los conjuntos de etiquetas dados.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Transforma la matriz indicatriz dada en conjuntos de etiquetas.

set_params

Establece los parámetros de este estimador.

transform

Transforma los conjuntos de etiquetas dados.

fit()

Ajusta el binarizador de conjuntos de etiquetas, almacenando classes_.

Parámetros
yiterable of iterables

Un conjunto de etiquetas (cualquier objeto ordenable y hashable) para cada muestra. Si se establece el parámetro classes, no se iterará y.

Devuelve
selfdevuelve la instancia de MultiLabelBinarizer
fit_transform()

Ajusta el binarizador de conjuntos de etiquetas y transforma los conjuntos de etiquetas dados.

Parámetros
yiterable of iterables

Un conjunto de etiquetas (cualquier objeto ordenable y hashable) para cada muestra. Si se establece el parámetro classes, no se iterará y.

Devuelve
y_indicator{ndarray, sparse matrix} de forma (n_samples, n_classes)

Una matriz tal que y_indicator[i, j] = 1 si y sólo si classes_[j] está en y[i], y 0 en caso contrario. La Matriz Dispersa tendrá el formato CSR.

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

Los nombres de los parámetros mapeados a sus valores.

inverse_transform()

Transforma la matriz indicatriz dada en conjuntos de etiquetas.

Parámetros
yt{ndarray, sparse matrix} de forma (n_samples, n_classes)

Una matriz que sólo contiene 1 (unos) y 0 (ceros).

Devuelve
ylista de tuplas

El conjunto de etiquetas para cada muestra tal que y[i] consta de classes_[j] para cada yt[i, j] == 1.

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()

Transforma los conjuntos de etiquetas dados.

Parámetros
yiterable of iterables

Un conjunto de etiquetas (cualquier objeto ordenable y hashable) para cada muestra. Si se establece el parámetro classes, no se iterará y.

Devuelve
y_indicatorarreglo o matriz CSR, forma (n_samples, n_classes)

Una matriz tal que y_indicator[i, j] = 1 si y sólo si classes_[j] está en y[i], y 0 de lo contrario.