Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

385
Vistas
entender sklearn calibratedClassifierCV

Hola a todos, tengo problemas para entender cómo usar la salida de sklearn.calibration.CalibratedClassifierCV .

He calibrado mi clasificador binario usando este método y los resultados han mejorado mucho. Sin embargo, no estoy seguro de cómo interpretar los resultados. La guía Sklearn establece que, después de la calibración,

la salida del método predict_proba se puede interpretar directamente como un nivel de confianza. Por ejemplo, un clasificador (binario) bien calibrado debería clasificar las muestras de tal manera que, entre las muestras a las que les dio un valor predict_proba cercano a 0,8, aproximadamente el 80 % en realidad pertenecen a la clase positiva.

Ahora me gustaría reducir los falsos positivos aplicando un límite de .6 para que el modelo prediga la etiqueta True . Sin la calibración, simplemente habría usado my_model.predict_proba() > .6 . Sin embargo, parece que después de la calibración, el significado de predict_proba ha cambiado, por lo que no estoy seguro de poder seguir haciendo eso.

A partir de una prueba rápida, parece que predict y predict_proba siguen la misma lógica que esperaría antes de la calibración. La salida de:

 pred = my_model.predict(valid_x) proba= my_model.predict_proba(valid_x) pd.DataFrame({"label": pred, "proba": proba[:,1]})

es el siguiente:
ingrese la descripción de la imagen aquí

Donde todo lo que tiene una probabilidad superior a 0,5 se clasifica como Verdadero y todo lo que está por debajo de 0,5 como Falso.

¿Puede confirmar que, después de la calibración, todavía puedo usar predict_proba para aplicar un límite diferente para identificar mis etiquetas?

2 https://scikit-learn.org/stable/modules/calibration.html#calibration

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para mí, puede usar predict_proba() después de la calibración para aplicar un límite diferente.

Lo que sucede dentro de la clase CalibratedClassifierCV (como notó) es efectivamente que la salida de predict() se basa en la salida de predict_proba() (consulte aquí como referencia), es decir, np.argmax(self.predict_proba(X), axis=1) == self.predict(X) .

Por otro lado, para el clasificador no calibrado que está pasando a CalibratedClassifierCV (dependiendo de si es un clasificador probabilístico o no), la igualdad anterior puede o no ser válida (por ejemplo, no es así para un clasificador SVC() - ver aquí , por ejemplo, para algunos otros detalles sobre esto).

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda