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)
Khozzy
la source

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 .

cdeterman
la source
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