2016-05-24 12 views
2

Ich berechne ein SVM-RFE-Modell unter Verwendung der "ROC" als Metrik mit der rfe-Funktion (caret-Paket). Nach meinem Wissen optimiert der Algorithmus rfe die AUC-Werte unter Verwendung der roc-Funktion des pROC-Pakets mit seinen vordefinierten Argumenten. Allerdings möchte ich das direction Argument auf "<" anstelle von "auto" setzen, weil in einigen Fällen die resultierende durchschnittliche AUC umgekehrt berechnet wird (meine Daten sind nicht sehr gut ...). Dieses Problem wird in der Antwort hier erklärt: Difference in average AUC computation using ROCR and pROC (R)Ändern der Standardargumente der ROC-Berechnung (pROC) im RFE-Prozess (Caret) - R

Wie konnte ich diesen Standardargumentwert der roc Funktion in der rfe Berechnung ändern?

Ich habe diese einfache Möglichkeit versucht, aber es funktioniert nicht:

svmRFE_NG3 <- rfe(x = TAll[,2:50], 
       y = TAll[,1], 
       sizes = seq(1,42), 
       metric = "ROC", 
       levels = c("BREAST","LUNG"), 
       direction = "<", 
       rfeControl = FSctrl, 
       ## Options to train() 
       method = "svmLinear", 
       tuneLength = 10, 
       preProc = c("center", "scale"), 
       ## Inner resampling process 
       trControl = TRctrl) 

Antwort

1

ich auf den Quellcode von caret einen Blick hatte, und es scheint nicht, im Moment ohne weiteres möglich zu sein. Argumente werden nicht an den Aufruf der roc-Funktion übergeben.

Ich würde vorschlagen, eine Anfrage für die Verbesserung auf the github repository of the package einzureichen. Max Kuhn, der Betreuer, reagiert sehr gut und Sie haben eine gute Chance, dass dies in einer zukünftigen Version umgesetzt wird.

+0

Ich weiß, dass ich diese Art von Kommentaren hier vermeiden sollte, aber ich muss Ihnen @Calimo für all Ihre Hilfe danken, weil ich neu mit R bin und es schwierig ist, mit all diesen Problemen umzugehen, die ich habe! –