Verifique el estado del proceso de capacitación en R [cerrado]


10

Estoy entrenando un modelo usando el caretpaquete en R durante casi 3 días. Los cálculos se ejecutan en paralelo (múltiples procesos). Desafortunadamente, no hay salida en la consola R (modelo SVM del kernlabpaquete), así que no sé si he terminado con el 10% o el 90%.

¿Hay alguna manera de averiguar de alguna manera cuál es el proceso de los cálculos?

Estoy usando OS X, así que tal vez descarte la pila de procesos e intente encontrar los valores de los parámetros que se están evaluando actualmente o la iteración de k-fold. ¿Pero cómo?

EDITAR: el guión para la formación:

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)

Respuestas:


8

Cuando se usa caretpara entrenamiento, puede configurar la opción verbose = TRUEdentro de la trainfunción. Para más detalles, también existe el verboseIterargumento dentro de la trainControlllamada. Max Kuhn tiene un excelente sitio web creado a partir de la página de Github que puede ayudarlo a familiarizarse más con las funciones aquí .


1
Gracias por responder. Conozco esas opciones, pero no parecen funcionar para el procesamiento paralelo. He actualizado mi publicación con un fragmento del código utilizado.
Khozzy

Ah, eso no estaba claro ( allowParallelsin embargo, su fragmento omite el argumento). A partir de ahora, no conozco ninguna funcionalidad dentro de caret para proporcionar una salida detallada paralela. Esto se debe a que los foreachbucles se han verbosecodificado como FALSE. Si esto es importante para usted, su mejor opción puede ser enviar un problema en la página de github y ver si se puede implementar un cambio.
cdeterman

Siguiendo su recomendación, he creado un problema en Github. Creo que es una funcionalidad bastante deseada.
Khozzy

Bien, como cortesía si se crea la funcionalidad, sería genial si pudiera volver a publicar aquí con la respuesta para que otros puedan ver cómo funciona la solución.
cdeterman

2
Puede modificar la fitfunción para imprimir más. Si no está viendo ningún registro y lo ha hecho verboseIter = TRUE, ¿está utilizando RStudio? RStudio desvía la salida de manera diferente que R; Recibo registros en la base R pero no en RStudio. También hay topunix para que pueda verificar que no haya agotado la memoria del sistema (necesita más para ejecutarse en paralelo) y que los trabajadores estén activos.
topepo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.