Vorrei cambiare la metrica da RMSE al RMSLE utilizzando ilCome modificare le metriche utilizzando la libreria (caret)?
caret library
Dato alcuni dati di esempio:
ivar1<-rnorm(500, mean = 3, sd = 1)
ivar2<-rnorm(500, mean = 4, sd = 1)
ivar3<-rnorm(500, mean = 5, sd = 1)
ivar4<-rnorm(500, mean = 4, sd = 1)
dvar<-rpois(500, exp(3+ 0.1*ivar1 - 0.25*ivar2))
data<-data.frame(dvar,ivar4,ivar3,ivar2,ivar1)
ctrl <- rfeControl(functions=rfFuncs,
method="cv",
repeats = 5,
verbose = FALSE,
number=5)
model <- rfe(data[,2:4], data[,1], sizes=c(1:4), rfeControl=ctrl)
Qui vorrei cambiare per RMSLE e mantenere l'idea del grafico
plot <-ggplot(model,type=c("g", "o"), metric="RMSE")+ scale_x_continuous(breaks = 2:4, labels = names(data)[2:4])
che è un esempio eccellente chiaro ... thx –
Posso farti una domanda aggiuntiva: come incorporeresti la presenza di zero nella funzione mypostResample? –
Immagino che si possa fare '(log (1 + obs) - log (1 + pred))^2'. Questo è ciò che il pacchetto [Metrics] (http://cran.r-project.org/web/packages/Metrics/index.html) controlla la funzione 'sle'. . Detto questo, forse questa è una domanda che è più adatta agli statistici su http://stats.stackexchange.com/ – user20650