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
Ajusta el binarizador de conjuntos de etiquetas, almacenando classes_.
Ajusta el binarizador de conjuntos de etiquetas y transforma los conjuntos de etiquetas dados.
Obtiene los parámetros para este estimador.
Transforma la matriz indicatriz dada en conjuntos de etiquetas.
Establece los parámetros de este estimador.
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 siclasses_[j]
está eny[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 declasses_[j]
para cadayt[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 siclasses_[j]
está eny[i]
, y 0 de lo contrario.