24 votos

¿Cuál es la diferencia entre decision_function, predict_proba y predict function para un problema de regresión logística?

He estado revisando la documentación de sklearn pero no soy capaz de entender el propósito de estas funciones en el contexto de la regresión logística. Para decision_function dice que es la distancia entre el hiperplano y la instancia de prueba. ¿en qué es útil esta información en particular? y ¿cómo se relaciona esto con predict y predict-proba ¿Métodos?

53voto

eldering Puntos 3814

Recordemos que la forma funcional de la regresión logística es

f(x)=11+e(β0+β1x1++βkxk)

Esto es lo que devuelve predict_proba .

El término dentro del exponencial

d(x)=β0+β1x1++βkxk

es lo que devuelve decision_function . El "hiperplano" al que se refiere la documentación es

β0+β1x1++βkxk=0

Esta terminología es un vestigio de las máquinas de vectores soporte, que estiman literalmente un hiperplano de separación. En el caso de la regresión logística, este hiperplano es una construcción un tanto artificial: es el plano de igual probabilidad, en el que el modelo ha determinado que ambas clases objetivo tienen la misma probabilidad.

En predict devuelve una decisión de clase utilizando la regla

f(x)>0.5

A riesgo de caer en el error, el predict La función tiene muy pocos usos legítimos, y considero que utilizarla es un signo de error a la hora de revisar el trabajo de otros. Yo iría tan lejos como para llamarlo un error de diseño en el propio sklearn (el predict_proba debería haberse llamado a la función predict y predict debería haberse llamado predict_class si es que hay algo).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X