Toda la literatura de Modelado de Distribución de Especies sugiere que cuando se predice la presencia / ausencia de una especie utilizando un modelo que genera probabilidades (por ejemplo, RandomForests), la elección del umbral de probabilidad para clasificar una especie como presencia o ausencia es importante y uno debe No siempre se basa en el valor predeterminado de 0.5. ¡Necesito algo de ayuda con esto! Aquí está mi código:
library(randomForest)
library(PresenceAbsence)
#build model
RFfit <- randomForest(Y ~ x1 + x2 + x3 + x4 + x5, data=mydata, mytry = 2, ntrees=500)
#eventually I will apply this to (predict for) new data but for first I predict back to training data to compare observed vs. predicted
RFpred <- predict(RFfit, mydata, type = "prob")
#put the observed vs. predicted in the same dataframe
ObsPred <- data.frame(cbind(mydata), Predicted=RFpred)
#create auc.roc plot
auc.roc.plot(ObsPred, threshold = 10, xlab="1-Specificity (false positives)",
ylab="Sensitivity (true positives)", main="ROC plot", color=TRUE,
find.auc=TRUE, opt.thresholds=TRUE, opt.methods=9)
A partir de esto, determiné que el umbral que me gustaría usar para clasificar la presencia de las probabilidades pronosticadas es 0.7, no el valor predeterminado de 0.5. No entiendo totalmente qué hacer con esta información. ¿Simplemente uso este umbral al crear un mapa de mi salida? Podría crear fácilmente una salida mapeada con probabilidades continuas y luego simplemente reclasificar aquellos con valores mayores que 0.7 como presentes, y aquellos <0.7 como ausentes.
¿O quiero tomar esta información y volver a ejecutar mi modelado randomForests, usando el parámetro de corte? ¿Qué está haciendo exactamente el parámetro de corte? ¿Cambia el voto resultante? (actualmente dice que es "mayoría"). ¿Cómo uso este parámetro de corte? ¡No entiendo la documentación! ¡Gracias!