sklearn.multiclass
.OneVsOneClassifier¶
- class sklearn.multiclass.OneVsOneClassifier¶
Estrategia multiclase uno contra uno (one-vs-one)
Esta estrategia consiste en ajustar un clasificador por cada par de clases. En el momento de la predicción, se selecciona la clase que ha recibido más votos. Dado que requiere ajustar clasificadores
n_classes * (n_classes - 1) / 2
, este método suele ser más lento que el de uno-vs-el-resto (one-vs-the-rest), debido a su complejidad O(n_classes^2). Sin embargo, este método puede ser ventajoso para algoritmos como los de núcleo que no escalan bien conn_samples
. Esto se debe a que cada problema de aprendizaje individual sólo implica un pequeño subconjunto de los datos, mientras que, con uno-vs-el-resto, el conjunto de datos completo se utilizan_classes
veces.Más información en 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álculo: los problemas
n_classes * ( n_classes - 1) / 2
OVO 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.
- Atributos
- estimators_ : lista de
n_classes * (n_classes - 1) / 2
estimadoreslista de Estimadores usados para predicciones.
- classes_arreglo de numpy de forma [n_classes]
Arreglo que contiene etiquetas.
- n_classes_int
Número de clases
- pairwise_indices_ : list, length =
len(estimators_)
, oNone
list, length =len(estimators_)
, orNone
Índices de las muestras utilizadas en el entrenamiento de los estimadores.
None
cuando la etiquetapairwise
deestimator
es False.Obsoleto desde la versión 0.24: El atributo _pairwise queda obsoleto en 0.24. A partir de la versión 1.1 (cambio de nombre de la versión 0.25),
pairwise_indices_
utilizará la etiqueta de estimación por pares en su lugar.
- estimators_ : lista de
Ejemplos
>>> from sklearn.datasets import load_iris >>> from sklearn.model_selection import train_test_split >>> from sklearn.multiclass import OneVsOneClassifier >>> from sklearn.svm import LinearSVC >>> X, y = load_iris(return_X_y=True) >>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, test_size=0.33, shuffle=True, random_state=0) >>> clf = OneVsOneClassifier( ... LinearSVC(random_state=0)).fit(X_train, y_train) >>> clf.predict(X_test[:10]) array([2, 1, 0, 2, 0, 2, 0, 1, 1, 1])
Métodos
Función de decisión para OneVsOneClassifier.
Ajustar estimadores subyacentes.
Obtiene los parámetros de este estimador.
Estimadores subyacentes ajustados parcialmente
Estima la mejor etiqueta de clase para cada muestra en X.
Devuelve la precisión media en los datos de prueba y las etiquetas dados.
Establece los parámetros de este estimador.
- decision_function()¶
Función de decisión para OneVsOneClassifier.
Los valores de decisión de las muestras se calculan agregando la suma normalizada de los niveles de confianza de la clasificación por pares a los votos, con el fin de desambiguar entre los valores de decisión cuando los votos de todas las clases son iguales y se produce un empate.
- Parámetros
- Xarray-like de forma (n_samples_X, n_features)
- Devuelve
- Yarray-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.
- yarray-like de forma (n_samples,)
Objetivos multiclase.
- 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 subobjetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- partial_fit()¶
Estimadores subyacentes ajustados parcialmente
Se debe utilizar cuando la memoria es ineficiente para entrenar todos los datos. Se pueden pasar trozos de datos en varias iteraciones, donde la primera invocación debe tener un arreglo de todas las variables objetivo.
- Parámetros
- X(sparse) array-like de forma (n_samples, n_features)
Datos.
- yarray-like de forma (n_samples,)
Objetivos multiclase.
- 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()¶
Estima la mejor etiqueta de clase para cada muestra en X.
Esto se implementa como
argmax(decision_function(X), axis=1)
que devolverá la etiqueta de la clase con más votos por los estimadores que predicen el resultado de una decisión para cada par de clases posibles.- Parámetros
- X(sparse) array-like de forma (n_samples, n_features)
Datos.
- Devuelve
- yarreglo de numpy de forma [n_samples]
Predicción de objetivos multiclase.
- 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_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 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 del estimador
Instancia de estimador.