Hola a todos, estoy teniendo problemas a la hora de ejecutar SVM. El ordenador lleva 5 días encendido pero todavía no ha impreso ningún resultado. Necesito consejo sobre como puedo agilizar este proceso o otra forma de realizar la misma acción pero con otro código más eficiente. A continuación dejo unas indicaciones de los datos a tratar y un ejemplo del código utilizado. CPU: i7-4710HQ, 8 GB RAM Datos: entrenamiento - 339701 obs. of 33 variables Código: #svm radial inicio <- Sys.time() ajuste_modelo_svm_radial <- tune(svm, Casualty_Severity~., data = entrenamiento, kernel='radial',gamma = c(1,50,100), ranges = list(cost= c(10, 100, 1000, 10000, 100000))) summary(ajuste_modelo_svm_radial) mejor_modelo_svm_radial <- ajuste_modelo_svm_radial$best.model summary(mejor_modelo_svm_radial) prediccion_svm_radial <- predict(mejor_modelo_svm_radial, test) (table(prediccion=prediccion_svm_radial, verdad = test$Casualty_Severity)) svm_radial_roc <- tune(svm, Casualty_Severity~., data = entrenamiento, kernel='radial',gamma = c(1,50,100), ranges = list(cost= c(10, 100, 1000, 10000, 100000)), decision.values =T) mejor_modelo_svm_radial_roc <- svm_radial_roc$best.model ajuste_roc_svm_radial <- attributes(predict(mejor_modelo_svm_radial_roc, test, decision.values= T))$decision.values rocplot(ajuste_roc_svm_radial, test$Casualty_Severity, main = 'Test Data') print(duracion<-Sys.time()-inicio) Muchas gracias de antemano, un saludo. [[alternative HTML version deleted]]
Carlos J. Gil Bellosta
2018-Jan-19 19:24 UTC
[R-es] Excediendo capacidad de cálculo del ordenador
Comienza con un subconjunto pequeño de los datos (¿1000?). Luego increméntalo (¿10k?). Etc. Eso te puede dar idea de lo que puede tardar el proceso con los datos completos. Posiblemente puedas paralelizar: estás ajustando el modelo con varios parámetros distintos secuencialmente. Prueba la paralelización comenzando primero con datos pequeños. Prueba también antes con un kernel lineal. Tardará una fracción del tiempo. Igual puedes determinar los parámetros razonables (mucha gente escribiría "óptimos" en lugar de "razonables", pero yo no) con un subcojunto y correr una única vez con ellos en el conjunto de datos completos. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El vie., 19 ene. 2018 a las 20:16, Alberto (<alpedauye en hotmail.com>) escribió:> Hola a todos, > > estoy teniendo problemas a la hora de ejecutar SVM. El ordenador lleva 5 > días encendido pero todavía no ha impreso ningún resultado. Necesito > consejo sobre como puedo agilizar este proceso o otra forma de realizar la > misma acción pero con otro código más eficiente. A continuación dejo unas > indicaciones de los datos a tratar y un ejemplo del código utilizado. > > CPU: i7-4710HQ, 8 GB RAM > > Datos: entrenamiento - 339701 obs. of 33 variables > > Código: > > #svm radial > inicio <- Sys.time() > ajuste_modelo_svm_radial <- tune(svm, Casualty_Severity~., data > entrenamiento, kernel='radial',gamma = c(1,50,100), ranges = list(cost> c(10, 100, 1000, 10000, 100000))) > summary(ajuste_modelo_svm_radial) > mejor_modelo_svm_radial <- ajuste_modelo_svm_radial$best.model > summary(mejor_modelo_svm_radial) > prediccion_svm_radial <- predict(mejor_modelo_svm_radial, test) > (table(prediccion=prediccion_svm_radial, verdad = test$Casualty_Severity)) > > svm_radial_roc <- tune(svm, Casualty_Severity~., data = entrenamiento, > kernel='radial',gamma = c(1,50,100), ranges = list(cost= c(10, 100, 1000, > 10000, 100000)), decision.values =T) > mejor_modelo_svm_radial_roc <- svm_radial_roc$best.model > ajuste_roc_svm_radial <- attributes(predict(mejor_modelo_svm_radial_roc, > test, decision.values= T))$decision.values > rocplot(ajuste_roc_svm_radial, test$Casualty_Severity, main = 'Test Data') > print(duracion<-Sys.time()-inicio) > > > Muchas gracias de antemano, un saludo. > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es[[alternative HTML version deleted]]
Hola, Puedes probar esta otra variante de SVM más rápida que la que estás usando: liquidSVM: A Fast and Versatile SVM Package https://cloud.r-project.org/web/packages/liquidSVM/index.html Saludos, Carlos Ortega www.qualityexcellence.es El 19 de enero de 2018, 20:16, Alberto <alpedauye en hotmail.com> escribió:> Hola a todos, > > estoy teniendo problemas a la hora de ejecutar SVM. El ordenador lleva 5 > días encendido pero todavía no ha impreso ningún resultado. Necesito > consejo sobre como puedo agilizar este proceso o otra forma de realizar la > misma acción pero con otro código más eficiente. A continuación dejo unas > indicaciones de los datos a tratar y un ejemplo del código utilizado. > > CPU: i7-4710HQ, 8 GB RAM > > Datos: entrenamiento - 339701 obs. of 33 variables > > Código: > > #svm radial > inicio <- Sys.time() > ajuste_modelo_svm_radial <- tune(svm, Casualty_Severity~., data > entrenamiento, kernel='radial',gamma = c(1,50,100), ranges = list(cost> c(10, 100, 1000, 10000, 100000))) > summary(ajuste_modelo_svm_radial) > mejor_modelo_svm_radial <- ajuste_modelo_svm_radial$best.model > summary(mejor_modelo_svm_radial) > prediccion_svm_radial <- predict(mejor_modelo_svm_radial, test) > (table(prediccion=prediccion_svm_radial, verdad = test$Casualty_Severity)) > > svm_radial_roc <- tune(svm, Casualty_Severity~., data = entrenamiento, > kernel='radial',gamma = c(1,50,100), ranges = list(cost= c(10, 100, 1000, > 10000, 100000)), decision.values =T) > mejor_modelo_svm_radial_roc <- svm_radial_roc$best.model > ajuste_roc_svm_radial <- attributes(predict(mejor_modelo_svm_radial_roc, > test, decision.values= T))$decision.values > rocplot(ajuste_roc_svm_radial, test$Casualty_Severity, main = 'Test Data') > print(duracion<-Sys.time()-inicio) > > > Muchas gracias de antemano, un saludo. > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]