sklearn.multiclass.OutputCodeClassifier

class sklearn.multiclass.OutputCodeClassifier

(Corrección de errores) Estrategia de código de salida (Output-Code) multiclase

Las estrategias basadas en el código de salida (Output-Code) consisten en representar cada clase con un código binario (un arreglo de 0s y 1s). En el momento del ajuste, se ajusta un clasificador binario por cada bit del libro de códigos (code book). En el momento de la predicción, los clasificadores se utilizan para proyectar nuevos puntos en el espacio de clases y se elige la clase más cercana a los puntos. La principal ventaja de estas estrategias es que el número de clasificadores utilizados puede ser controlado por el usuario, ya sea para comprimir el modelo (0 < code_size < 1) o para hacer el modelo más robusto a los errores (code_size > 1). Consulta la documentación para obtener más detalles.

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

Parámetros
estimatorestimator object

Un objeto estimador que implementa fit y uno de decision_function o predict_proba.

code_sizefloat

Porcentaje del número de clases que se utilizará para crear el libro de códigos. Un número entre 0 y 1 requerirá menos clasificadores que uno contra el resto (one-vs-the-rest). Un número mayor que 1 requerirá más clasificadores que uno contra el resto.

random_stateentero, instancia de RandomState, default=None

El generador utilizado para inicializar el libro de códigos (code_book). Pasa un int para una salida reproducible a través de múltiples llamadas a la función. Ver Glosario.

n_jobsint, default=None

El número de trabajos a utilizar para el cómputo: los problemas multiclase se calculan en paralelo.

None significa 1 a menos que esté en un contexto joblib.parallel_backend. -1 significa que se utilizan todos los procesadores. Consulta Glosario para más detalles.

Atributos
estimators_ : lista de int(n_classes * code_size) estimadoreslista de

Estimadores usados para predicciones.

classes_arreglo de numpy de forma [n_classes]

Arreglo que contiene etiquetas.

code_book_arreglo de numpy de forma [n_classes, code_size]

Arreglo binario que contiene el código de cada clase.

Referencias

1

«Solving multiclass learning problems via error-correcting output codes», Dietterich T., Bakiri G., Journal of Artificial Intelligence Research 2, 1995.

2

«The error coding method and PICTs», James G., Hastie T., Journal of Computational and Graphical statistics 7, 1998.

3

«The Elements of Statistical Learning», Hastie T., Tibshirani R., Friedman J., page 606 (second-edition) 2008.

Ejemplos

>>> from sklearn.multiclass import OutputCodeClassifier
>>> from sklearn.ensemble import RandomForestClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=100, n_features=4,
...                            n_informative=2, n_redundant=0,
...                            random_state=0, shuffle=False)
>>> clf = OutputCodeClassifier(
...     estimator=RandomForestClassifier(random_state=0),
...     random_state=0).fit(X, y)
>>> clf.predict([[0, 0, 0, 0]])
array([1])

Métodos

fit

Ajustar estimadores subyacentes.

get_params

Obtener los parámetros de este estimador.

predict

Predecir objetivos multiclase utilizando estimadores subyacentes.

score

Devuelve la precisión media en los datos y etiquetas de prueba dados.

set_params

Establece los parámetros de este estimador.

fit()

Ajustar estimadores subyacentes.

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

Datos.

yarreglo de numpy de forma [n_samples]

Objetivos multiclase.

Devuelve
self
get_params()

Obtener los parámetros de este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los sub objetos contenidos que son estimadores.

Devuelve
paramsdict

Nombres de parámetros mapeados a sus valores.

predict()

Predecir objetivos multiclase utilizando estimadores subyacentes.

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

Datos.

Devuelve
yarreglo de numpy de forma [n_samples]

Objetivos multiclase predichos.

score()

Devuelve la precisión media en los datos y etiquetas de prueba dados.

En la clasificación multietiqueta, se trata de la precisión del subconjunto, que es una métrica rigurosa, ya que se requiere para cada muestra que cada conjunto de etiquetas sea predicho correctamente.

Parámetros
Xarray-like de forma (n_samples_X, n_features)

Muestras de prueba.

yarray-like de forma (n_samples,) o (n_samples, n_outputs)

Etiquetas True para X.

sample_weightarray-like de forma (n_samples,), default=None

Ponderaciones de la muestra.

Devuelve
scorefloat

Precisión media de self.predict(X) con respecto a y.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto con 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 de estimador.