sklearn.multiclass
.OneVsRestClassifier¶
- class sklearn.multiclass.OneVsRestClassifier¶
Estrategia multiclase «uno contra el resto» (One-vs-the-Rest o OvR).
También conocida como «uno versus todos» (one-vs-all), esta estrategia consiste en ajustar un clasificador por clase. Para cada clasificador, la clase se compara con todas las demás. Además de su eficiencia computacional (sólo se necesitan clasificadores
n_classes
), una ventaja de este enfoque es su interpretabilidad. Dado que cada clase está representada por un solo clasificador, es posible obtener conocimientos sobre la clase inspeccionando su clasificador correspondiente. Esta es la estrategia más utilizada para la clasificación multiclase y es una elección por defecto justa.OneVsRestClassifier también puede utilizarse para la clasificación de etiquetas múltiples. Para utilizar esta función, proporciona una matriz indicadora para el objetivo
y
cuando invoques a.fit
. En otras palabras, las etiquetas del objetivo deben tener el formato de una matriz binaria 2D (0/1), donde [i, j] == 1 indica la presencia de la etiqueta j en la muestra i. Este estimador utiliza el método de relevancia binaria para realizar la clasificación multietiqueta, que implica el entrenamiento de un clasificador binario independientemente para cada etiqueta.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.
- n_jobsint, default=None
El número de trabajos a utilizar para el cómputo: los problemas
n_classes
de uno versus el resto (one-vs-rest) se calculan en paralelo.None
significa 1 a menos que esté en un contextojoblib.parallel_backend
.-1
significa que se utilizan todos los procesadores. Consulta Glosario para más detalles.Distinto en la versión v0.20:
n_jobs
predeterminado cambiado de 1 a None
- Atributos
- estimators_ : lista de estimadores de
n_classes
lista de Estimadores usados para predicciones.
- coef_ndarray de forma (1, n_features,) o (n_classes, n_features)
Coeficiente de las características en la función de decisión. Este atributo sólo existe si los
estimators_
definencoef_
.Obsoleto desde la versión 0.24: Este atributo está obsoleto en 0.24 y se eliminará en 1.1 (cambio de nombre de 0.26). Si utiliza este atributo en
RFE
oSelectFromModel
, puede pasar un invocable al parámetroimportance_getter
que extraiga las importaciones de características deestimators_
.- intercept_ndarray de forma (1, 1) o (n_classes, 1)
Si
y
es binario, la forma es(1, 1)
sino(n_classes, 1)
Este atributo sólo existe siestimators_
defineintercept_
.Obsoleto desde la versión 0.24: Este atributo está obsoleto en 0.24 y se eliminará en 1.1 (cambio de nombre de 0.26). Si utiliza este atributo en
RFE
oSelectFromModel
, puede pasar un invocable al parámetroimportance_getter
que extraiga las importaciones de características deestimators_
.- classes_ : arreglo, forma = [
n_classes
]arreglo, forma = [ Etiquetas de clase.
- n_classes_int
Número de clases.
- label_binarizer_Objeto LabelBinarizer
Objeto usado para transformar etiquetas multiclase en etiquetas binarias y viceversa.
multilabel_
booleanIndica si se trata de un clasificador multietiqueta
- estimators_ : lista de estimadores de
Ver también
sklearn.multioutput.MultiOutputClassifier
Forma alternativa de ampliar un estimador para la clasificación multietiqueta.
sklearn.preprocessing.MultiLabelBinarizer
Transforma un iterable de iterables a una matriz de indicadores binarios.
Ejemplos
>>> import numpy as np >>> from sklearn.multiclass import OneVsRestClassifier >>> from sklearn.svm import SVC >>> X = np.array([ ... [10, 10], ... [8, 10], ... [-5, 5.5], ... [-5.4, 5.5], ... [-20, -20], ... [-15, -20] ... ]) >>> y = np.array([0, 0, 1, 1, 2, 2]) >>> clf = OneVsRestClassifier(SVC()).fit(X, y) >>> clf.predict([[-19, -20], [9, 9], [-5, 5]]) array([2, 0, 1])
Métodos
Devuelve la distancia de cada muestra al límite de decisión para cada clase.
Ajustar estimadores subyacentes.
Obtiene los parámetros de este estimador.
Estimadores subyacentes ajustados parcialmente
Predecir objetivos multiclase utilizando estimadores subyacentes.
Estimaciones de probabilidad.
Devuelve la precisión media en los datos de prueba y las etiquetas dados.
Establece los parámetros de este estimador.
- decision_function()¶
Devuelve la distancia de cada muestra al límite de decisión para cada clase. Sólo puede utilizarse con estimadores que implementen el método decision_function.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
- Devuelve
- Tarray-like de forma (n_samples, n_classes) o (n_samples,) para clasificación binaria.
Distinto en la versión 0.19: la forma de la salida se ha cambiado a
(n_samples,)
para ajustarse a las convenciones de scikit-learn para la clasificación binaria.
- fit()¶
Ajustar estimadores subyacentes.
- Parámetros
- X(sparse) array-like de forma (n_samples, n_features)
Datos.
- y(sparse) array-like de forma (n_samples,) o (n_samples, n_classes)
Objetivos multiclase. Una matriz indicadora activa la clasificación multietiqueta.
- Devuelve
- self
- get_params()¶
Obtiene 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.
- property multilabel_¶
Indica si se trata de un clasificador multietiqueta
- partial_fit()¶
Estimadores subyacentes ajustados parcialmente
Debe usarse cuando la memoria es ineficiente para entrenar todos los datos. Se pueden pasar trozos de datos en varias iteraciones.
- Parámetros
- X(sparse) array-like de forma (n_samples, n_features)
Datos.
- y(sparse) array-like de forma (n_samples,) o (n_samples, n_classes)
Objetivos multiclase. Una matriz indicadora activa la clasificación multietiqueta.
- classesarreglo, forma (n_classes, )
Clases a través de todas las llamadas a partial_fit. Puede obtenerse mediante
np.unique(y_all)
, donde y_all es el vector objetivo del conjunto de datos completo. Este argumento sólo es necesario en la primera invocación de partial_fit y puede omitirse en las siguientes.
- Devuelve
- self
- predict()¶
Predecir objetivos multiclase utilizando estimadores subyacentes.
- Parámetros
- X(sparse) array-like de forma (n_samples, n_features)
Datos.
- Devuelve
- y(sparse) array-like de forma (n_samples,) o (n_samples, n_classes)
Objetivos multiclase predichos.
- predict_proba()¶
Estimaciones de probabilidad.
Las estimaciones devueltas para todas las clases están ordenadas por la etiqueta de las clases.
Ten en cuenta que, en el caso de las etiquetas múltiples, cada muestra puede tener cualquier número de etiquetas. Esto devuelve la probabilidad marginal de que la muestra dada tenga la etiqueta en cuestión. Por ejemplo, es totalmente coherente que dos etiquetas tengan ambas una probabilidad del 90% de aplicarse a una muestra determinada.
En el caso de una etiqueta multiclase, las filas de la matriz devuelta suman 1.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
- Devuelve
- T(sparse) array-like de forma (n_samples, n_classes)
Devuelve la probabilidad de la muestra para cada clase en el modelo, donde las clases se ordenan como están en
self.classes_
.
- score()¶
Devuelve la precisión media en los datos de prueba y las etiquetas 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, 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 ay
.
- 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 de estimador
Instancia de estimador.