[R-es] CV en R

Carlos Ortega cof en qualityexcellence.es
Dom Jun 4 12:02:05 CEST 2017


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



El 4 de junio de 2017, 9:50, Jesús Para Fernández <
j.para.fernandez en 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 <cof en 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.fernandez en 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 <ihidalgo en 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.fernandez en hotmail.com]
>> *Enviado el:* viernes, 02 de junio de 2017 14:54
>> *Para:* Isidro Hidalgo Arellano <ihidalgo en jccm.es>; 'Manuel Spínola' <
>> mspinola10 en gmail.com>
>> *CC:* 'Carlos Ortega' <cof en qualityexcellence.es>; 'Lista R' <
>> r-help-es en 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 <ihidalgo en 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:mspinola10 en gmail.com <mspinola10 en gmail.com>]
>>
>> *Enviado el:* viernes, 02 de junio de 2017 14:42
>> *Para:* Isidro Hidalgo Arellano <ihidalgo en jccm.es>
>> *CC:* Jesús Para Fernández <j.para.fernandez en hotmail.com>; Carlos Ortega
>> <cof en qualityexcellence.es>; Lista R <r-help-es en 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 <ihidalgo en 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.fernandez en hotmail.com]
>> Enviado el: viernes, 02 de junio de 2017 14:21
>> Para: Carlos Ortega <cof en qualityexcellence.es>
>> CC: Lista R <r-help-es en r-project.org>; Isidro Hidalgo Arellano
>> <ihidalgo en 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:cof en qualityexcellence.es>
>> cof en 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:ihidalgo en jccm.es> ihidalgo en 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.fernandez en hotmail.com>
>> j.para.fernandez en hotmail.com]
>> Enviado el: viernes, 02 de junio de 2017 12:50
>> Para: Isidro Hidalgo Arellano < <mailto:ihidalgo en jccm.es>
>> ihidalgo en jccm.es>;
>> <mailto:r-help-es en r-project.org> r-help-es en 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:ihidalgo en jccm.es> ihidalgo en jccm.es
>> <mailto: <mailto:ihidalgo en jccm.es> ihidalgo en jccm.es> >
>> Enviado: viernes, 2 de junio de 2017 12:28
>> Para: 'Jesús Para Fernández';  <mailto:r-help-es en r-project.org>
>> r-help-es en r-project.org
>> <mailto: <mailto:r-help-es en r-project.org> r-help-es en 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.fernandez en hotmail.com>
>> j.para.fernandez en hotmail.com]
>> Enviado el: viernes, 02 de junio de 2017 12:04
>> Para: Isidro Hidalgo Arellano < <mailto:ihidalgo en jccm.es>
>> ihidalgo en jccm.es
>> <mailto: <mailto:ihidalgo en jccm.es> ihidalgo en jccm.es> >;
>>  <mailto:r-help-es en r-project.org> r-help-es en r-project.org <mailto:
>> <mailto:r-help-es en r-project.org> r-help-es en 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:ihidalgo en jccm.es>
>> ihidalgo en jccm.es>  <mailto:ihidalgo en jccm.es> ihidalgo en jccm.es>
>> Enviado: viernes, 2 de junio de 2017 11:59
>> Para: 'Jesús Para Fernández';  <mailto: <mailto:r-help-es en r-project.org>
>> r-help-es en r-project.org>
>>  <mailto:r-help-es en r-project.org> r-help-es en 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-bounces en r-project.org>
>> r-help-es-bounces en r-project.org>
>> mailto: <mailto:r-help-es-bounces en r-project.org>
>> r-help-es-bounces en 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 en r-project.org> r-help-es en r-project.org>
>> <mailto:r-help-es en r-project.org> r-help-es en 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 en r-project.org> R-help-es en r-project.org>
>> <mailto:R-help-es en r-project.org> R-help-es en 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 en r-project.org> R-help-es en 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 en 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
>> mspinola en una.cr <mspinola en una.ac.cr>
>> mspinola10 en 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

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es