Vérifier l'état du processus de formation dans R [fermé]


10

Je forme un modèle utilisant le caretpackage en R pendant près de 3 jours. Les calculs sont exécutés en parallèle (plusieurs processus). Malheureusement, il n'y a pas de sortie dans la console R (modèle SVM du kernlabpackage), donc je ne sais pas si j'ai terminé à 10% ou à 90%.

Existe-t-il un moyen de comprendre d'une manière ou d'une autre quel est le processus de calcul?

J'utilise OS X, donc peut-être vider la pile de processus et essayer de trouver les valeurs des paramètres en cours d'évaluation ou l'itération de k-fold. Mais comment?

EDIT: le script de formation:

ctrl <- trainControl(method = "cv", number = 10, selectionFunction = "best", 
                     classProbs = TRUE, summaryFunction =  twoClassSummary,
                     verboseIter = TRUE)

grid_svm <- expand.grid(.C = logseq(2^-15, 2^3, 10))

svm <- train(CLASS ~ ., data = dataset, method = "svmLinear", preProcess = c("center", "scale"),
            metric = "ROC", trControl = ctrl, tuneGrid = grid_svm, verbose = TRUE)

Réponses:


8

Lorsque vous utilisez caretpour la formation, vous pouvez définir l'option verbose = TRUEdans la trainfonction. Pour plus de détails, il y a aussi l' verboseIterargument dans l' trainControlappel. Max Kuhn a un excellent site Web construit à partir de la page github qui peut vous aider à vous familiariser davantage avec les fonctions ici .


1
Merci de répondre. Je connais ces options mais elles ne semblent pas fonctionner pour le traitement parallèle. J'ai mis à jour mon message avec un extrait du code utilisé.
Khozzy

Ah, ce n'était pas clair (votre extrait de code omet allowParallelcependant l' argument). Pour l'instant, je ne connais aucune fonctionnalité au sein du curseur pour fournir une sortie verbeuse parallèle. Cela est dû au fait que les foreachboucles sont verbosecodées en dur comme FALSE. Si cela est important pour vous, votre meilleur pari peut être de soumettre un problème sur la page github et de voir si un changement peut être mis en œuvre.
cdeterman

Suite à votre recommandation, j'ai créé un problème sur Github. Je pense que c'est une fonctionnalité très souhaitée.
Khozzy

Bien, par courtoisie si la fonctionnalité est créée, ce serait bien si vous pouviez publier à nouveau ici avec la réponse afin que les autres puissent voir comment la solution fonctionne.
cdeterman

2
Vous pouvez modifier la fitfonction pour imprimer davantage. Si vous ne voyez aucun journal et que vous en avez verboseIter = TRUE, utilisez-vous RStudio? RStudio détourne la sortie différemment de R; Je reçois des journaux dans la base R mais pas dans RStudio. Il y a aussi topsur unix pour que vous puissiez vérifier que vous n'avez pas épuisé la mémoire système (vous avez besoin de plus pour fonctionner en parallèle) et que les travailleurs sont actifs.
topepo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.