Ich trainiere ein Modell mit caret
Paket 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 kernlab
Paket), 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)
quelle
allowParallel
Argument jedoch aus). Derzeit sind mir keine Funktionen in Caret bekannt, die eine parallele ausführliche Ausgabe ermöglichen. Dies liegt daran, dass dieforeach
Schleifenverbose
fest als codiert sindFALSE
. 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.fit
Funktion ändern , um mehr auszudrucken. Wenn Sie keine Protokolle sehen und habenverboseIter = TRUE
, verwenden Sie RStudio? RStudio leitet die Ausgabe anders um als R; Ich bekomme Logs in Base R, aber nicht in RStudio. Es gibt auchtop
Unix, 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.