2016-05-24 4 views
2

Je calcule un modèle SVM-RFE en utilisant "ROC" comme métrique, avec la fonction rfe (package caret). À ma connaissance, l'algorithme rfe optimise les valeurs AUC en utilisant la fonction roc du paquet pROC, avec ses arguments prédéfinis. Cependant, je voudrais placer l'argument direction à "<" au lieu de "auto" parce que dans certains cas l'AUC moyen résultant est calculé en sens inverse (mes données ne sont pas très bonnes ...). Ce problème est expliqué dans la réponse ici: Difference in average AUC computation using ROCR and pROC (R)Modifier les arguments par défaut du calcul ROC (pROC) dans le processus RFE (caret) - R

Comment pourrais-je modifier cette valeur d'argument par défaut de la fonction roc dans le calcul rfe?

J'ai essayé cette option simple, mais il ne fonctionne pas:

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) 

Répondre

1

J'ai regardé le code source de caret, et il ne semble pas être facilement possible en ce moment. Les arguments ne sont pas transmis à l'appel de la fonction roc.

Je suggère de soumettre une demande d'amélioration sur the github repository of the package. Max Kuhn le mainteneur est très réactif et vous avez une bonne chance de voir cela implémenté dans une future version.

+0

Je sais que je devrais éviter ce type de commentaires ici, mais je dois vous remercier @Calimo pour toute votre aide parce que je suis nouveau avec R et il est difficile de faire face à tous ces types de problèmes que j'ai! –