No dudes en compartir nuestros post y códigos con tus amigos, necesitamos tu ayuda para ampliar esta comunidad.
Solución:
El paquete ROCR calculará el AUC entre otras estadísticas:
auc.tmp <- performance(pred,"auc"); auc <- as.numeric([email protected])
con el paquete pROC
puedes usar la funcion auc()
como este ejemplo de la página de ayuda:
> data(aSAH)
>
> # Syntax (response, predictor):
> auc(aSAH$outcome, aSAH$s100b)
Area under the curve: 0.7314
Como mencionaron otros, puede calcular el AUC utilizando el paquete ROCR. Con el paquete ROCR también puede trazar la curva ROC, la curva de elevación y otras medidas de selección de modelo.
Puede calcular el AUC directamente sin usar ningún paquete usando el hecho de que el AUC es igual a la probabilidad de que un true positivo se puntúa más que un true negativo.
Por ejemplo, si pos.scores
es un vector que contiene una puntuación de los ejemplos positivos, y neg.scores
es un vector que contiene los ejemplos negativos, entonces el AUC se aproxima mediante:
> mean(sample(pos.scores,1000,replace=T) > sample(neg.scores,1000,replace=T))
[1] 0.7261
dará una aproximación del AUC. También puede estimar la varianza del AUC mediante bootstrapping:
> aucs = replicate(1000,mean(sample(pos.scores,1000,replace=T) > sample(neg.scores,1000,replace=T)))
Finalizando este artículo puedes encontrar las observaciones de otros usuarios, tú asimismo tienes la libertad de insertar el tuyo si lo crees conveniente.