Al construir la curva ROC para varios clasificadores, he observado que sus formas reales tienden a ser muy diferentes para modelos como la regresión logística o SVM en comparación con k-NN. Por ejemplo, en la imagen de abajo vemos una curva ROC que corresponde a un clasificador k-NN, y como puede verse apenas hay "escalones" o saltos, si es que los hay, por lo que es bastante suave. En cambio, si observamos la curva ROC que obtengo para el modelo SVM los escalones son definitivamente más abundantes. He probado esto para varios conjuntos de datos, y los pasos o saltos siempre parecen estar ausentes en el caso de la curva ROC para k-NN en scikit-learn; no sé si R hace esto también. ¿Alguien sabe por qué la curva ROC para k-NN puede adoptar esta forma específica, mientras que las de SVM o LR implican notablemente más pasos? Muchas gracias de antemano.
Respuesta
¿Demasiados anuncios?Las líneas diagonales aparecen en las curvas ROC cuando se producen empates, es decir, cuando hay una o más observaciones con exactamente el mismo valor de prueba tanto en el grupo positivo como en el negativo.
Los clasificadores SVM generan probabilidades continuas. La probabilidad de obtener un empate es normalmente muy baja. Por eso se obtiene una curva "escalonada".
Por otro lado, debido al número limitado de observaciones que toman una decisión k-NN, las probabilidades de salida no suelen ser continuas. Por ejemplo, si considera un clasificador k-NN con k = 3, las probabilidades sólo pueden ser 1,0, 0,67, 0,33, 0. Es muy probable que observe estos valores en ambos grupos, de ahí el empate y la línea diagonal.