Überprüfen Sie den Status des Trainingsprozesses in R [geschlossen]

10

Ich trainiere ein Modell mit caretPaket in R für fast 3 Tage. Die Berechnungen laufen parallel (mehrere Prozesse). Leider gibt es keine Ausgabe in der R-Konsole (SVM-Modell aus kernlabPaket), so dass ich nicht weiß, ob ich zu 10% oder zu 90% fertig bin.

Gibt es eine Möglichkeit, irgendwie herauszufinden, wie die Berechnungen ablaufen?

Ich verwende OS X, also speichere ich möglicherweise den Prozessstapel und versuche, Parameterwerte zu finden, die gerade ausgewertet werden, oder die Iteration von k-fach. Aber wie?

EDIT: das Skript für das Training:

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
quelle

Antworten:

8

Bei Verwendung caretfür das Training können Sie die Option verbose = TRUEinnerhalb der trainFunktion einstellen . Für weitere Details gibt es auch das verboseIterArgument innerhalb des trainControlAufrufs. Max Kuhn hat eine großartige Website, die aus der Github-Seite erstellt wurde und Ihnen hilft, sich besser mit den Funktionen hier vertraut zu machen .

cdeterman
quelle
1
Danke für die Antwort. Ich kenne diese Optionen, aber sie scheinen für die parallele Verarbeitung nicht zu funktionieren. Ich habe meinen Beitrag mit einem Ausschnitt des verwendeten Codes aktualisiert.
Khozzy
Ah, das war unklar (Ihr Ausschnitt lässt das allowParallelArgument jedoch aus). Derzeit sind mir keine Funktionen in Caret bekannt, die eine parallele ausführliche Ausgabe ermöglichen. Dies liegt daran, dass die foreachSchleifen verbosefest als codiert sind FALSE. Wenn dies für Sie wichtig ist, ist es möglicherweise am besten, ein Problem auf der Github-Seite einzureichen und zu prüfen, ob eine Änderung implementiert werden kann.
Determin
Auf Ihre Empfehlung hin habe ich ein Problem mit Github erstellt. Ich denke, dass es durchaus erwünschte Funktionalität ist.
Khozzy
Gut, aus Höflichkeit, wenn die Funktionalität erstellt wird, wäre es großartig, wenn Sie hier mit der Antwort erneut posten könnten, damit andere sehen können, wie die Lösung funktioniert.
Determin
2
Sie können die fitFunktion ändern , um mehr auszudrucken. Wenn Sie keine Protokolle sehen und haben verboseIter = TRUE, verwenden Sie RStudio? RStudio leitet die Ausgabe anders um als R; Ich bekomme Logs in Base R, aber nicht in RStudio. Es gibt auch topUnix, sodass Sie überprüfen können, ob der Systemspeicher nicht erschöpft ist (Sie benötigen mehr, um parallel ausgeführt zu werden) und ob die Worker aktiv sind.
Topepo