Por fin luego de mucho trabajar hemos encontrado el resultado de este dilema que agunos lectores de nuestra web han tenido. Si tienes alguna información que compartir puedes compartir tu conocimiento.
class sklearn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)
[source]-
Binarice las etiquetas de una manera “uno contra todos”.
Varios algoritmos de regresión y clasificación binaria están disponibles en scikit-learn. Una forma sencilla de extender estos algoritmos al caso de clasificación de clases múltiples es utilizar el llamado esquema de uno contra todos.
En el momento del aprendizaje, esto consiste simplemente en aprender un regresor o clasificador binario por clase. Al hacerlo, es necesario convertir etiquetas de varias clases en etiquetas binarias (pertenecen o no pertenecen a la clase). LabelBinarizer facilita este proceso con el método de transformación.
En el momento de la predicción, se asigna la clase para la que el modelo correspondiente dio la mayor confianza. LabelBinarizer facilita esto con el método inverse_transform.
Leer más en el Guía del usuario.
- Parámetros
-
neg_labelint, default=0
-
Valor con el que se deben codificar las etiquetas negativas.
pos_labelint, default=1
-
Valor con el que se deben codificar las etiquetas positivas.
sparse_outputbool, default=False
-
Verdadero si el regresó array from transform se desea que esté en formato CSR disperso.
- Atributos
-
classes_ndarray of shape (n_classes,)
-
Sostiene la etiqueta de cada clase.
y_type_str
-
Representa el tipo de datos de destino evaluados por utils.multiclass.type_of_target. Los tipos posibles son ‘continuo’, ‘continuo-multioutput’, ‘binario’, ‘multiclase’, ‘multiclase-multioutput’, ‘multilabel-indicador’ y ‘desconocido’.
sparse_input_bool
-
Verdadero si los datos de entrada para transformar se dan como una matriz dispersa, Falso en caso contrario.
Ver también
label_binarize
-
Función para realizar la operación de transformación de LabelBinarizer con clases fijas.
OneHotEncoder
-
Codifique características categóricas usando un esquema one-hot también conocido como one-of-K.
Ejemplos de
>>>from sklearn import preprocessing >>> lb = preprocessing.LabelBinarizer()>>> lb.fit([1,2,6,4,2]) LabelBinarizer()>>> lb.classes_ array([1,2,4,6])>>> lb.transform([1,6]) array([[1,0,0,0],[0,0,0,1]])
Los objetivos binarios se transforman en un vector de columna
>>> lb = preprocessing.LabelBinarizer()>>> lb.fit_transform(['yes','no','no','yes']) array([[1],[0],[0],[1]])
Pasando una matriz 2D para clasificación de múltiples etiquetas
>>>import numpy as np >>> lb.fit(np.array([[0,1,1],[1,0,0]])) LabelBinarizer()>>> lb.classes_ array([0,1,2])>>> lb.transform([0,1,2,1]) array([[1,0,0],[0,1,0],[0,0,1],[0,1,0]])
Métodos
fit
(y)Ajustar binarizador de etiquetas.
fit_transform
(y)Ajuste el binarizador de etiquetas y transforme las etiquetas de varias clases en etiquetas binarias.
get_params
([deep])Obtenga parámetros para este estimador.
inverse_transform
(Y[, threshold])Transformar etiquetas binarias de nuevo en etiquetas de clases múltiples.
set_params
(** parámetros)Establezca los parámetros de este estimador.
transform
(y)Transforme etiquetas de clases múltiples en etiquetas binarias.
fit(y)
[source]-
Ajustar binarizador de etiquetas.
- Parámetros
-
yndarray of shape (n_samples,) or (n_samples, n_classes)
-
Valores objetivo. La matriz 2-d solo debe contener 0 y 1, representa una clasificación de múltiples etiquetas.
- Devoluciones
-
selfreturns an instance of self.
fit_transform(y)
[source]-
Ajuste el binarizador de etiquetas y transforme las etiquetas de varias clases en etiquetas binarias.
La salida de la transformación a veces se denomina esquema de codificación 1 de K.
- Parámetros
-
yndarray, sparse matrix of shape (n_samples,) or (n_samples, n_classes)
-
Valores objetivo. La matriz 2-d solo debe contener 0 y 1, representa una clasificación de múltiples etiquetas. La matriz dispersa puede ser CSR, CSC, COO, DOK o LIL.
- Devoluciones
-
Yndarray, sparse matrix of shape (n_samples, n_classes)
-
La forma será (n_samples, 1) para problemas binarios. La matriz dispersa tendrá formato CSR.
get_params(deep=True)
[source]-
Obtenga 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.
- Devoluciones
-
paramsdict
-
Nombres de parámetros asignados a sus valores.
inverse_transform(Y, threshold=None)
[source]-
Transformar etiquetas binarias de nuevo en etiquetas de clases múltiples.
- Parámetros
-
Yndarray, sparse matrix of shape (n_samples, n_classes)
-
Valores objetivo. Todas las matrices dispersas se convierten a CSR antes de la transformación inversa.
thresholdfloat, default=None
-
Umbral utilizado en los casos binarios y de etiquetas múltiples.
Use 0 cuando
Y
contiene la salida de decision_function (clasificador). Use 0.5 cuandoY
contiene la salida de predict_proba.Si es None, se supone que el umbral está a medio camino entre neg_label y pos_label.
- Devoluciones
-
yndarray, sparse matrix of shape (n_samples,)
-
Valores objetivo. La matriz dispersa tendrá formato CSR.
Notas
En el caso de que las etiquetas binarias sean fraccionarias (probabilísticas), inverse_transform elige la clase con el mayor valor. Normalmente, esto permite utilizar la salida del método de función_decisión de un modelo lineal directamente como entrada de transformación_inversa.
set_params(**params)
[source]-
Establezca 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
para que sea posible actualizar cada componente de un objeto anidado.__ - Parámetros
-
**paramsdict
-
Parámetros del estimador.
- Devoluciones
-
selfestimator instance
-
Instancia de estimador.
transform(y)
[source]-
Transforme etiquetas de clases múltiples en etiquetas binarias.
Algunos autores a veces se refieren a la salida de la transformación como el esquema de codificación 1 de K.
- Parámetros
-
yarray, sparse matrix of shape (n_samples,) or (n_samples, n_classes)
-
Valores objetivo. La matriz 2-d solo debe contener 0 y 1, representa una clasificación de múltiples etiquetas. La matriz dispersa puede ser CSR, CSC, COO, DOK o LIL.
- Devoluciones
-
Yndarray, sparse matrix of shape (n_samples, n_classes)
-
La forma será (n_samples, 1) para problemas binarios. La matriz dispersa tendrá formato CSR.