H2O va bien (muy bien) tanto en un ordenador sobremesa/portátil y sobre un clúster. En uno de sobremesa si tienes buena RAM y muchos cores, mejor. Y no tienes porqué usar Spark si no necesitas una solución tiempo real o "near real-time". H2O tiene otra solución para interaccionar con Spark (Sparkling Water).
Incluso sobre un clúster, puedes usar "sparklyr" y "rsparklyng" tanto para interaccionar con Spark sin salir de "R" (usando dplyr) y para interaccionar con H2O, igualmente sin salir de "R". Mira las páginas de RStudio que tratan estas dos soluciones o la presentación que hizo en el Grupo de Usuarios de R de Madrid de José Luis Cañadas que contó las dos alternativas. El 4 de junio de 2017, 12:04, Jesús Para Fernández < j.para.fernan...@hotmail.com> escribió: > H20 con grandes bases de datos y R funciona bien? O es necesario tirar de > spark y demás??? > > ------------------------------ > *De:* Carlos Ortega <c...@qualityexcellence.es> > *Enviado:* domingo, 4 de junio de 2017 12:02 > *Para:* Jesús Para Fernández > *Cc:* Isidro Hidalgo Arellano; Manuel Spínola; Lista R > *Asunto:* Re: [R-es] CV en R > > Si nos dices el tipo de problema que estás intentando solucionar y el > tamaño del dataset podemos recomendarte algo más. > En tu pseudo-código mezclas algoritmos supervisados y no-supervisados. > Además de ranger, daría alguna oportunidad a "gbm" o como no a "xgboost". > Y éstos los probaría dentro de H2O. > > Saludos, > Carlos Ortega > www.qualityexcellence.es > QualityExcellence <http://www.qualityexcellence.es/> > www.qualityexcellence.es > QUALITY EXCELLENCE, consultores en calidad, procesos y mejora continua > > > > El 4 de junio de 2017, 9:50, Jesús Para Fernández < > j.para.fernan...@hotmail.com> escribió: > >> El paquete ranger la verdad es que es la bomba. Acabo de probarlo y va >> muy muy bien. Mucho más rápido que randomForest!!!! >> >> Gracias Carlos. Algún "secretillo" más?? >> >> >> ------------------------------ >> *De:* Carlos Ortega <c...@qualityexcellence.es> >> *Enviado:* sábado, 3 de junio de 2017 21:52 >> *Para:* Jesús Para Fernández >> *Cc:* Isidro Hidalgo Arellano; Manuel Spínola; Lista R >> *Asunto:* Re: [R-es] CV en R >> >> Hola, >> >> Puedes ver aquí un ejemplo de cómo comparar varios modelos usando "caret". >> >> https://stackoverflow.com/questions/14800021/statistics-of- >> prediction-for-multiple-models-with-caret >> >> <https://stackoverflow.com/questions/14800021/statistics-of-prediction-for-multiple-models-with-caret> >> Statistics of prediction for multiple models with caret >> <https://stackoverflow.com/questions/14800021/statistics-of-prediction-for-multiple-models-with-caret> >> stackoverflow.com >> I am trying to get statistics of prediction for various training models >> with the package caret. Below is an example that illustrates my need: >> library(caret) # Training: # ... Get X and Y for trai... >> >> >> O mejor en el propio manual de "caret", en esta sección: >> >> https://topepo.github.io/caret/model-training-and-tuning. >> html#exploring-and-comparing-resampling-distributions >> The caret Package - GitHub Pages >> <https://topepo.github.io/caret/model-training-and-tuning.html#exploring-and-comparing-resampling-distributions> >> topepo.github.io >> 5.1 Model Training and Parameter Tuning. The caret package has several >> functions that attempt to streamline the model building and evaluation >> process. >> >> >> >> Y como recomendación te sugiero que usen "ranger" en vez de >> "randomForest", no solo por velocidad, si no también por las mejoras y >> ampliaciones de funcionalidad que incorpora. >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> El 2 de junio de 2017, 19:58, Jesús Para Fernández < >> j.para.fernan...@hotmail.com> escribió: >> >>> Para el tema de los árboles necesarios se ve muy bien haciendo >>> plot(modelo) y se ve en que punto se han estabilizado o si necesitas más >>> árboles. >>> ------------------------------ >>> *De:* Isidro Hidalgo Arellano <ihida...@jccm.es> >>> *Enviado:* viernes, 2 de junio de 2017 15:01:37 >>> *Para:* 'Jesús Para Fernández'; 'Manuel Spínola' >>> *Cc:* 'Carlos Ortega'; 'Lista R' >>> >>> *Asunto:* RE: [R-es] CV en R >>> >>> >>> No, llega un momento en el que más árboles no te supone mejoría, e >>> incluso funciona peor. Que funcione peor lo atribuyo al ruido, porque en >>> teoría no tiene mucho sentido, la verdad... Pero no he probado a coger más >>> árboles de los "necesarios". Lo probaré… >>> >>> Un saludo >>> >>> >>> >>> *De:* Jesús Para Fernández [mailto:j.para.fernan...@hotmail.com] >>> *Enviado el:* viernes, 02 de junio de 2017 14:54 >>> *Para:* Isidro Hidalgo Arellano <ihida...@jccm.es>; 'Manuel Spínola' < >>> mspinol...@gmail.com> >>> *CC:* 'Carlos Ortega' <c...@qualityexcellence.es>; 'Lista R' < >>> r-help-es@r-project.org> >>> *Asunto:* Re: [R-es] CV en R >>> >>> >>> >>> Si, de eso soy consciente. Normalmente cuantos más arboles cojas es >>> mejor no? el problema es que se incrementa el tiempo de computación... >>> >>> >>> ------------------------------ >>> >>> *De:* Isidro Hidalgo Arellano <ihida...@jccm.es> >>> *Enviado:* viernes, 2 de junio de 2017 14:50 >>> *Para:* 'Manuel Spínola' >>> *Cc:* 'Jesús Para Fernández'; 'Carlos Ortega'; 'Lista R' >>> *Asunto:* RE: [R-es] CV en R >>> >>> >>> >>> El algoritmo en sí no, pero si quieres ajustar los parámetros (número de >>> árboles, tamaño del nodo, etc.) hay que hacerlo. >>> >>> En la práctica te puedo asegurar que hay diferencia entre usar 500 >>> árboles o 100, igual que el tamaño del nodo que cojas; afinar los >>> parámetros puede suponer ajustar bastante los resultados. >>> >>> Un saludo >>> >>> >>> >>> >>> >>> Isidro Hidalgo Arellano >>> >>> Observatorio del Mercado de Trabajo >>> >>> Consejería de Economía, Empresas y Empleo >>> >>> http://www.castillalamancha.es/ >>> >>> Inicio | Gobierno de Castilla-La Mancha >>> <http://www.castillalamancha.es/> >>> >>> www.castillalamancha.es >>> >>> Web oficial del gobierno autonómico de Castilla-La Mancha con >>> información sobre actividad administrativa, economía, educación, sanidad, >>> servicios sociales, sede ... >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> *De:* Manuel Spínola [mailto:mspinol...@gmail.com <mspinol...@gmail.com>] >>> >>> *Enviado el:* viernes, 02 de junio de 2017 14:42 >>> *Para:* Isidro Hidalgo Arellano <ihida...@jccm.es> >>> *CC:* Jesús Para Fernández <j.para.fernan...@hotmail.com>; Carlos >>> Ortega <c...@qualityexcellence.es>; Lista R <r-help-es@r-project.org> >>> *Asunto:* Re: [R-es] CV en R >>> >>> >>> >>> Hola, >>> >>> >>> >>> No soy un experto en estas técnicas, pero hasta donde yo se, el >>> algoritmo Random Forest no requiere cross validation. >>> >>> >>> >>> Lo dice el mismo Leo Breiman que creo ha sido uno de los investigadores >>> que más ha contribuido al desarrollo de Random Forest ( >>> https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm) >>> >>> Random forests - classification description >>> <https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm> >>> >>> www.stat.berkeley.edu >>> >>> Contents. Introduction Overview Features of random forests Remarks How >>> Random Forests work The oob error estimate Variable importance Gini >>> importance >>> >>> >>> >>> >>> >>> Manuel >>> >>> >>> >>> El 2 de junio de 2017, 6:35, Isidro Hidalgo Arellano <ihida...@jccm.es> >>> escribió: >>> >>> Una vez que tienes la técnica y los parámetros óptimos resultantes de la >>> validación cruzada, ya tienes el modelo que necesitas, NO tienes que >>> hacer >>> nada más. Si vuelves a modelar con todos los datos todo el trabajo de >>> validación que has hecho lo envías a hacer gárgaras. Estarías >>> construyendo >>> un modelo con sobreajuste. >>> >>> >>> >>> Para quedarte tranquilo, haz la prueba, coge el modelo resultante de la >>> validación y ve aplicándolo a los nuevos datos. Haz lo mismo con el que >>> obtengas de ése paso final que NO debes dar, y que no te he puesto en mi >>> código corregido, a saber: >>> >>> modelo.final<-randomForest(respuesta~.,datos) >>> >>> >>> >>> Cuando los aplicas con los nuevos datos, ¿cuál funciona mejor? >>> >>> >>> >>> Un saludo >>> >>> >>> >>> >>> >>> Isidro Hidalgo Arellano >>> >>> Observatorio del Mercado de Trabajo >>> >>> Consejería de Economía, Empresas y Empleo >>> >>> http://www.castillalamancha.es/ >>> >>> >>> >>> >>> >>> >>> >>> De: Jesús Para Fernández [mailto:j.para.fernan...@hotmail.com] >>> Enviado el: viernes, 02 de junio de 2017 14:21 >>> Para: Carlos Ortega <c...@qualityexcellence.es> >>> CC: Lista R <r-help-es@r-project.org>; Isidro Hidalgo Arellano >>> <ihida...@jccm.es> >>> Asunto: Re: [R-es] CV en R >>> >>> >>> >>> Pero creo que hay un concepto que no termina de aclararse. >>> >>> >>> >>> Creo que lo importante es quedarse con el modelo bueno, por ejemplo, >>> imaginemos que queremos probar los siguientes algoritmos: RF, SVM, KNN, >>> LDA.... >>> >>> >>> >>> Entonces hacemos lo siguiente: >>> >>> >>> >>> Probamos con todos ellos, para lo que se hacen particiones: >>> >>> >>> >>> Imaginemos que tengo un datasheet llamado datos, perfectamnte balanceado, >>> sin datos faltantes, ni ruido ni nada asi. Entonces: >>> >>> >>> >>> for(i in 1:10){ >>> >>> train #saco el train de los datos >>> >>> test #saco el test de los datos >>> >>> pruebo RF, con diferentes configuaraciones (bucles j,k) >>> >>> pruebo SVM, con diferentes configuaraciones (bucles j,k) >>> >>> pruebo KNN >>> >>> pruebo LDA >>> >>> >>> >>> guardo resultados >>> >>> >>> >>> } >>> >>> >>> >>> y sobre el que mejor de, entonces ya creo el modelo definitivo, con el >>> conjunto de datos global. Si fuera un randomForest >>> >>> >>> >>> randomForest(respuesta~.,ntree=500,nodesize=4,datos) >>> >>> >>> >>> Y ese es mi modelo para los proximos daots que vengan yq ue no han >>> formado >>> parte del datasheet datos >>> >>> >>> >>> _____ >>> >>> De: Carlos Ortega < <mailto:c...@qualityexcellence.es> >>> c...@qualityexcellence.es> >>> Enviado: viernes, 2 de junio de 2017 13:11 >>> Para: Jesús Para Fernández >>> Cc: Lista R; Isidro Hidalgo Arellano >>> Asunto: Re: [R-es] CV en R >>> >>> >>> >>> Hola, >>> >>> >>> >>> Eso es justamente lo que hace "caret" de una manera muy sencilla y sin >>> que >>> tú te tengas que preocupar de quedarte con el mejor bucket (del CV) o >>> con >>> la mejor combinación en tu "grid search". >>> >>> >>> >>> Te recomiendo que uses "caret" para esto.... >>> >>> Puedes incluso evaluar los dos algoritmos "RF" y "svm" a la vez y conocer >>> realmente el nivel de precisión que ofrecen ambos. >>> >>> Y claro, inicialmente puedes elegir el conjunto de entrenamiento sobre el >>> que haces el CV dejando el resto "test" para validar el nivel de >>> predicción. >>> >>> >>> >>> Gracias, >>> >>> Carlos Ortega >>> >>> <http://www.qualityexcellence.es> www.qualityexcellence.es >>> >>> >>> <http://www.qualityexcellence.es/> QualityExcellence >>> >>> <http://www.qualityexcellence.es> www.qualityexcellence.es >>> >>> QUALITY EXCELLENCE, consultores en calidad, procesos y mejora continua >>> >>> >>> >>> >>> >>> El 2 de junio de 2017, 13:06, Isidro Hidalgo Arellano < >>> <mailto:ihida...@jccm.es> ihida...@jccm.es> escribió: >>> >>> >>> No me has parecido para nada borde. >>> >>> >>> >>> Ok. Centrémonos en RF y bajemos el nº de parámetros a 2: ntree y >>> nodesize. >>> >>> Te haces una parrilla de ntree: 100, 200, 300, 400, 500 >>> >>> Otra de nodesize: 3, 6, 10 >>> >>> Con esto tienes 15 combinaciones. >>> >>> Vamos al código. Simplemente crea una lista donde metes los resultados (y >>> tienes que añadir los parámetros, que has omitido) >>> >>> Después graficas usando un mapa de calor para ver qué combinación de >>> parámetros te da el mejor resultado (en abscisas ntree y en ordenadas >>> nodesize). Una vez que veas los intervalos de parámetros que mejor se >>> comportan, afinas el resultado con otra validación cruzada: >>> >>> >>> >>> for(i in 1:15){ >>> >>> >>> >>> numeros<-sample(1:1500,1500*0.7) >>> >>> >>> >>> train<-datos[numeros,] >>> >>> >>> >>> test<-datos[-numeros,] >>> >>> >>> >>> >>> >>> #modeloRF >>> >>> >>> >>> resultadoRF <- list() >>> >>> >>> >>> modelo.rf<-randomForest(respuesta~,train) >>> >>> >>> >>> prediccion<-predict(modelo.rf,test) >>> >>> >>> >>> fp<-table(prediccion,test$respuesta)[2,1] >>> >>> fn<-table(prediccion,test$respuesta)[1,2] >>> >>> error<-(fp+fn)/nrow(train.balanceado) >>> >>> resultadoRF[[i]]<-rbind(resultado,data.frame(error=error,modelo="rf")) >>> >>> >>> >>> #modelo SVM >>> >>> >>> >>> resultadoSVM <- list() >>> >>> >>> >>> modelo.svm<-svm(respuesta~,train) >>> >>> >>> >>> prediccion<-predict(modelo.svm,test) >>> >>> >>> >>> fp<-table(prediccion,test$respuesta)[2,1] >>> >>> fn<-table(prediccion,test$respuesta)[1,2] >>> >>> error<-(fp+fn)/nrow(train.balanceado) >>> >>> resultadoSVM[[i]]<-rbind(resultado,data.frame(error=error,modelo="svm")) >>> >>> >>> >>> } >>> >>> >>> >>> Un saludo >>> >>> >>> >>> Isidro Hidalgo Arellano >>> >>> Observatorio del Mercado de Trabajo >>> >>> Consejería de Economía, Empresas y Empleo >>> >>> <http://www.castillalamancha.es/> http://www.castillalamancha.es/ >>> >>> >>> >>> >>> >>> >>> >>> De: Jesús Para Fernández [mailto: <mailto:j.para.fernan...@hotmail.com> >>> j.para.fernan...@hotmail.com] >>> Enviado el: viernes, 02 de junio de 2017 12:50 >>> Para: Isidro Hidalgo Arellano < <mailto:ihida...@jccm.es> >>> ihida...@jccm.es>; >>> <mailto:r-help-es@r-project.org> r-help-es@r-project.org >>> Asunto: Re: [R-es] CV en R >>> >>> >>> >>> Buenas, >>> >>> >>> >>> Puse los modelos lo mas simplificados, para centrar el tiro en el tema >>> que >>> me preocupa. >>> >>> >>> >>> Es una pena no poder hablar cara a cara, porque por email puedo sonar >>> algo >>> borde, pero no es así, al contrario estoy enormemente agradecido por tu >>> ayuda, pero le veo un problema. >>> >>> Me dices que use un list para ir guardando el modelo, pero tal y como he >>> propuesto en el bucle for, el modelo se crea 10 veces, es decir, que >>> entiendo que si es un randomForest, tendria que entonces hacer una >>> combinacion de esos 10 modelos con la funcion combine de RF para unir >>> esos >>> modelos, verdad?? Porque sino estaria en el mismo problema, generando un >>> modelo generalista de una simple submuestra de los datos. >>> >>> >>> >>> Gracias por todo!!! >>> >>> Jesús >>> >>> >>> >>> _____ >>> >>> De: Isidro Hidalgo Arellano < <mailto:ihida...@jccm.es> ihida...@jccm.es >>> <mailto: <mailto:ihida...@jccm.es> ihida...@jccm.es> > >>> Enviado: viernes, 2 de junio de 2017 12:28 >>> Para: 'Jesús Para Fernández'; <mailto:r-help-es@r-project.org> >>> r-help-es@r-project.org >>> <mailto: <mailto:r-help-es@r-project.org> r-help-es@r-project.org> >>> >>> Asunto: RE: [R-es] CV en R >>> >>> >>> >>> >>> No me había fijado en el código, te había he contestado teóricamente. >>> >>> A ver, en ese código tienes varios problemas: >>> >>> - No especificas los parámetros del modelo (para eso es la >>> validación cruzada). En RF tendrías que especificar el número de >>> árboles, la >>> cantidad de puntos con los que acotar la regresión, etc. En SVM el tipo >>> de >>> kernel que vas a usar, la sensibilidad… NO SE TRATA SÓLO de hacer modelos >>> con diferentes conjuntos de entrenamiento, sino de buscar los parámetros >>> que >>> mejor ajustan los datos. >>> >>> Te pongo un ejemplo: imagínate que tienes mucho ruido, en ese caso, en >>> cada >>> punto de regresión, tendrás que tomar un número de puntos mayor >>> (parámetro >>> "nodesize") >>> >>> - Respecto a no guardar los modelos, es muy fácil con una lista. >>> Cada modelo que hagas, guárdalo en un lista, junto con los datos de >>> resultados que quieras (incluyendo los parámetros de especificación del >>> modelo) >>> >>> Te recomiendo 2 cosas: >>> >>> - Usa el paquete caret >>> >>> - Lee este libro: >>> <https://link.springer.com/book/10.1007/978-1-4614-6849-3> >>> https://link.springer.com/book/10.1007/978-1-4614-6849-3 >>> >>> Con el libro matas varios pájaros de un tiro: >>> >>> - Aprendes algo de teoría (poca), que siempre viene bien >>> >>> - El autor es el creador del paquete caret >>> >>> Si tienes tiempo, yo buscaría un curso del MIT que es muy bueno, aunque >>> de >>> los duros, te lo tienes que programar casi todo desde 0, pero cuando >>> acabas, >>> la teoría (con éste sí) la has machacado bastante bien, y sabes lo que >>> hace >>> un SVM, un RF. Es éste: >>> >>> <https://www.edx.org/course/learning-data-introductory-machi >>> ne-caltechx-cs11 >>> 56x >>> <https://www.edx.org/course/learning-data-introductory-machine-caltechx-cs1156x> >>> > >>> https://www.edx.org/course/learning-data-introductory-machin >>> e-caltechx-cs115 >>> 6x >>> <https://www.edx.org/course/learning-data-introductory-machine-caltechx-cs1156x> >>> >>> >>> >>> >>> < >>> <https://www.edx.org/course/learning-data-introductory-machi >>> ne-caltechx-cs11 >>> 56x >>> <https://www.edx.org/course/learning-data-introductory-machine-caltechx-cs1156x> >>> > >>> https://www.edx.org/course/learning-data-introductory-machin >>> e-caltechx-cs11 >>> 56x >>> <https://www.edx.org/course/learning-data-introductory-machine-caltechx-cs1156x> >>> > >>> >>> >>> < >>> <https://www.edx.org/course/learning-data-introductory-machi >>> ne-caltechx-cs11 >>> > >>> https://www.edx.org/course/learning-data-introductory-machin >>> e-caltechx-cs11 >>> 56x >>> <https://www.edx.org/course/learning-data-introductory-machine-caltechx-cs1156x>> >>> Learning From Data (Introductory Machine Learning) | edX >>> >>> <http://www.edx.org> www.edx.org < <http://www.edx.org> >>> http://www.edx.org> >>> >>> Introductory Machine Learning course covering theory, algorithms and >>> applications. Our focus is on real understanding, not just "knowing." >>> >>> >>> >>> Tiene un libro asociado que está muy bien también. >>> >>> Si te da miedito, hay otro más suave, de los clásicos Hastie y >>> Tibshirani: >>> >>> <https://lagunita.stanford.edu/courses/HumanitiesSciences/St >>> atLearning/Winte >>> r2016/about >>> <https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/about> >>> > >>> https://lagunita.stanford.edu/courses/HumanitiesSciences/Sta >>> tLearning/Winter >>> 2016/about >>> <https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/about> >>> >>> >>> >>> < >>> <https://lagunita.stanford.edu/courses/HumanitiesSciences/St >>> atLearning/Winte >>> r2016/about >>> <https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/about> >>> > >>> https://lagunita.stanford.edu/courses/HumanitiesSciences/Sta >>> tLearning/Winte >>> r2016/about >>> <https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/about>> >>> Statistical Learning | Stanford Lagunita >>> >>> <http://lagunita.stanford.edu> lagunita.stanford.edu >>> >>> StatLearning now self paced! The active course run for Statistical >>> Learning >>> has ended, but the course is now available in a self paced mode. You are >>> welcome to join ... >>> >>> >>> >>> Éstos también tienen 2 libros muy buenos. El resumido es en el que se >>> basa >>> el curso anterior. >>> >>> >>> >>> De: Jesús Para Fernández [mailto: <mailto:j.para.fernan...@hotmail.com> >>> j.para.fernan...@hotmail.com] >>> Enviado el: viernes, 02 de junio de 2017 12:04 >>> Para: Isidro Hidalgo Arellano < <mailto:ihida...@jccm.es> >>> ihida...@jccm.es >>> <mailto: <mailto:ihida...@jccm.es> ihida...@jccm.es> >; >>> <mailto:r-help-es@r-project.org> r-help-es@r-project.org <mailto: >>> <mailto:r-help-es@r-project.org> r-help-es@r-project.org> >>> Asunto: Re: [R-es] CV en R >>> >>> >>> >>> Es que es justo ahi donde no se como hacerlo. >>> >>> Es decir, dentro del bucle for hago las comprobaciones train test, y me >>> da >>> que de media el mejor es randomForest, pero claro, no me estoy quedando >>> con >>> el modelo, ya que no se va guardando....Entonces es cuando no se como >>> seguir >>> para quedarme con ese modelo.... >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _____ >>> >>> De: Isidro Hidalgo Arellano < <mailto: <mailto:ihida...@jccm.es> >>> ihida...@jccm.es> <mailto:ihida...@jccm.es> ihida...@jccm.es> >>> Enviado: viernes, 2 de junio de 2017 11:59 >>> Para: 'Jesús Para Fernández'; <mailto: <mailto:r-help-es@r-project.org> >>> r-help-es@r-project.org> >>> <mailto:r-help-es@r-project.org> r-help-es@r-project.org >>> Asunto: RE: [R-es] CV en R >>> >>> >>> >>> No, no. Si construyes el modelo con todos los datos, explícame para qué >>> te >>> ha servido la validación cruzada... ¿Sólo para saber si funciona mejor >>> SVM o >>> RF con ese conjunto de datos? Eso es insuficiente. >>> Cuando construyes un modelo, lo haces entrenando con datos que el modelo >>> NO >>> VE, ahí está la gracia... >>> Te tienes que quedar con el mejor modelo entrenado. Y después ver cómo te >>> funciona en la vida real, es decir, con nuevos datos que el modelo NO HA >>> VISTO. >>> >>> Un saludo. >>> >>> >>> Isidro Hidalgo Arellano >>> Observatorio del Mercado de Trabajo >>> Consejería de Economía, Empresas y Empleo >>> < <http://www.castillalamancha.es/> http://www.castillalamancha.es/> >>> <http://www.castillalamancha.es/> http://www.castillalamancha.es/ >>> >>> >>> < <http://www.castillalamancha.es/> http://www.castillalamancha.es/> >>> Inicio >>> | Gobierno de Castilla-La Mancha >>> >>> < <http://www.castillalamancha.es> http://www.castillalamancha.es> >>> <http://www.castillalamancha.es> www.castillalamancha.es >>> >>> Web oficial del gobierno autonómico de Castilla-La Mancha con información >>> sobre actividad administrativa, economía, educación, sanidad, servicios >>> sociales, sede ... >>> >>> >>> >>> >>> >>> >>> -----Mensaje original----- >>> De: R-help-es [ <mailto: <mailto:r-help-es-boun...@r-project.org> >>> r-help-es-boun...@r-project.org> >>> mailto: <mailto:r-help-es-boun...@r-project.org> >>> r-help-es-boun...@r-project.org] En nombre de Jesús >>> Para Fernández >>> Enviado el: viernes, 02 de junio de 2017 11:48 >>> Para: <mailto: <mailto:r-help-es@r-project.org> r-help-es@r-project.org >>> > >>> <mailto:r-help-es@r-project.org> r-help-es@r-project.org >>> >>> >>> Asunto: [R-es] CV en R >>> >>> Buenas, >>> >>> >>> Estoy haciendo modelos y comparando cual es mejor. Para ello, uso CV de >>> 10 >>> folds. >>> >>> >>> Por ejemplo, hago la comparativa entre un svm y un randomForest para una >>> serie de datos, por ello hago: >>> >>> >>> midataset<-import..... >>> >>> >>> #datos es un dataframe de 1500 filas y 15 variables >>> >>> >>> for(i in 1:10){ >>> >>> numeros<-sample(1:1500,1500*0.7) >>> >>> train<-datos[numeros,] >>> >>> test<-datos[-numeros,] >>> >>> >>> #modeloRF >>> >>> modelo.rf<-randomForest(respuesta~,train) >>> >>> prediccion<-predict(modelo.rf,test) >>> >>> fp<-table(prediccion,test$respuesta)[2,1] >>> fn<-table(prediccion,test$respuesta)[1,2] >>> error<-(fp+fn)/nrow(train.balanceado) >>> resultado<-rbind(resultado,data.frame(error=error,modelo="rf")) >>> >>> #modelo SVM >>> >>> >>> modelo.svm<-svm(respuesta~,train) >>> >>> prediccion<-predict(modelo.svm,test) >>> >>> fp<-table(prediccion,test$respuesta)[2,1] >>> fn<-table(prediccion,test$respuesta)[1,2] >>> error<-(fp+fn)/nrow(train.balanceado) >>> resultado<-rbind(resultado,data.frame(error=error,modelo="svm")) >>> >>> } >>> >>> >>> Mi pregunta es la siguiente. Si el modelo de RF es mejor, como me quedo >>> con >>> el modelo final? Tengo que crear el modelo de nuevo, sin tener en cuenta >>> el >>> train? >>> >>> >>> modelo.final<-randomForest(respuesta~.,datos) >>> >>> >>> Gracias!!!! >>> >>> >>> >>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> R-help-es mailing list >>> >>> <mailto: <mailto:R-help-es@r-project.org> R-help-es@r-project.org> >>> <mailto:R-help-es@r-project.org> R-help-es@r-project.org >>> < <https://stat.ethz.ch/mailman/listinfo/r-help-es> >>> https://stat.ethz.ch/mailman/listinfo/r-help-es> >>> >>> <https://stat.ethz.ch/mailman/listinfo/r-help-es> >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> >>> [[alternative HTML version deleted]] >>> >>> >>> _______________________________________________ >>> R-help-es mailing list >>> <mailto:R-help-es@r-project.org> R-help-es@r-project.org >>> <https://stat.ethz.ch/mailman/listinfo/r-help-es> >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> Saludos, >>> Carlos Ortega >>> <http://www.qualityexcellence.es> www.qualityexcellence.es >>> >>> >>> [[alternative HTML version deleted]] >>> >>> >>> _______________________________________________ >>> R-help-es mailing list >>> R-help-es@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> >>> >>> >>> >>> -- >>> >>> *Manuel Spínola, Ph.D.* >>> Instituto Internacional en Conservación y Manejo de Vida Silvestre >>> Universidad Nacional >>> Apartado 1350-3000 >>> Heredia >>> COSTA RICA >>> mspin...@una.cr <mspin...@una.ac.cr> >>> mspinol...@gmail.com >>> Teléfono: (506) 8706 - 4662 >>> Personal website: Lobito de río >>> <https://sites.google.com/site/lobitoderio/> >>> Institutional website: ICOMVIS <http://www.icomvis.una.ac.cr/> >>> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es