5 votos

Curva de Lorenz y coeficiente de Gini para medir el rendimiento de los clasificadores

A menudo utilizo un Curva ROC y el área bajo esa curva como medida de la precisión del clasificador en problemas de 2 clases, por ejemplo

#Load a dataset
library(mlbench)
data(Sonar)

#Build a model
library(caret)
model <- train(Class~., data=Sonar, method='gbm', tuneLength=1, trControl=trainControl(method='cv'))
model

#ROC curve and AUC
library(pROC)
pMal <- predict(model, newdata=Sonar, type='prob')[,2]
roc(Sonar$Class, pMal, plot=TRUE)
>Area under the curve: 0.9705

#Lorez curve and gini?

enter image description here

De forma similar, me gustaría poder trazar el curva de lorenz y calcular el coeficiente de gini para mi clasificador. Sé que Gini = 2*AUC-1 pero no estoy seguro de cómo calcularlo por sí solo. Además, todas las aplicaciones de la curva de Lorenz que he visto se refieren a datos univariantes (por ejemplo, la distribución de la renta). ¿Cómo calculo una curva de Lorenz cuando tengo 2 parámetros: la probabilidad prevista de la clase positiva y la propia clase positiva?

3voto

RexE Puntos 181

La curva de Lorenz también se conoce con el nombre de " curva de elevación " cuando se aplica a la clasificación/ranking. Para un intervalo determinado de valores de probabilidad predichos, la elevación representa un aumento multiplicativo de la tasa de la clase positiva (debido a un modelo predictivo determinado) con respecto a una estimación aleatoria.

paquete rocr puede calcular valores/curvas de elevación (el manual también tiene una definición concisa de la elevación). El índice de Gini puede calcularse a partir del área bajo la curva de elevación (yo suelo utilizar el valor de elevación acumulado en un umbral de probabilidad previsto dado, ya que es más fácil de relacionar con las métricas empresariales).

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