Si ya vas a utilizar "gbm", por justamente mejorar la capacidad predictiva, usaría el "gbm" de H2O o mejor "ligthgbm"... El porqué...
https://github.com/szilard/GBM-perf Saludos, Carlos Ortega www.qualityexcellence.es El 21 de febrero de 2018, 10:49, Manuel Mendoza <mmend...@mncn.csic.es> escribió: > > Bueno, finalmente estaba equivocado en relación a la validación cruzada; > resulta que gbm tiene el comando gbm.perf(gbm.model, method="cv") que te > indica el mejor nº de árboles por VC. Lo pongo por si a alguien le pudiera > interesar. Los gradient boosted son, sin duda, uno de los algoritmos de > machine learning con mayor capacidad predictiva. > Un saludo. > > > Quoting Carlos Ortega <c...@qualityexcellence.es>: > > Hola, >> >> Varias cosas: >> >> - Puedes usar "gbm" y para los "partial plots" utilizar el paquete >> "pdp" >> que considera varios tipos de modelos, entre ellos "gbm". >> - También puedes usar "xgboost" que tiene una función parecida a esta >> >> que quieres usar "xgb.cv" justamente para encontrar el modelo óptimo. >> >> De todas formas, por experiencia sí que los randomForest sobreajustan >> cuando fuerzas un número alto de niveles (en la función en Python >> RandomForestClassifier con el parámetro "max_depth" que no veo la >> equivalente en randomForest o ranger de R... >> > > Saludos, >> Carlos Ortega. >> >> El 19 de febrero de 2018, 22:02, Manuel Mendoza <mmend...@mncn.csic.es> >> escribió: >> >> >>> Hola de nuevo. Se me olvidaba la principal razón para utilizar gbm.step >>> del paquete dismo. Como sabéis, los boosted si sobreajustan (a diferencia >>> de los random forest o cualquier otro bootstrap) pero gbm.step hace >>> validación cruzada para determinar el nº óptimo de árboles y evitarlo. Es >>> fundamental. >>> >>> >>> >>> La opción que me queda, Carlos, es hacerlo con gbm, pero muchas veces, y >>> usar el promedio.Vamos, hacer yo mismo un bootstrap con muchos boosted. >>> Los >>> métodos basados en bootstrap no sobreajustan, precisamente porque, como >>> quizás sepas, al sobreajustar aumenta el error debido a la varianza, y el >>> promedio de muchas predicciones con elevada varianza tiene mucha menos >>> varianza que cada una de ellas. >>> >>> >>> >>> >>> >>> Quoting Carlos Ortega <c...@qualityexcellence.es>: >>> >>> Hola, >>> >>>> >>>> Sí, tienes razón... >>>> ¿No puedes usar la propia función "gbm" del paquete "gbm"?... >>>> >>>> Gracias, >>>> Carlos Ortega >>>> www.qualityexcellence.es >>>> >>>> El 19 de febrero de 2018, 18:01, Manuel Mendoza <mmend...@mncn.csic.es> >>>> escribió: >>>> >>>> >>>> Gracias Carlos. Hasta donde yo entiendo si las hay: >>>>> >>>>> El argumento family puede ser: >>>>> >>>>> "gaussian" (for minimizing squared error); por lo que tiene que ser >>>>> numérica >>>>> "bernoulli" (logistic regression for 0-1 out-comes); binaria por >>>>> narices >>>>> "poisson" (count outcomes; requires the response to be a positive >>>>> integer); numérica también, pues. >>>>> >>>>> La única podría ser "laplace" (for minimizing absolute loss), pero me >>>>> da >>>>> este error: Error in while (delta.deviance > tolerance.test & n.fitted >>>>> < >>>>> max.trees) { : >>>>> missing value where TRUE/FALSE needed >>>>> >>>>> Supongo que loss se refiere a la función de pérdida, y como habla de >>>>> deviance (la función de pérdida por defecto en gbm) pienso que también >>>>> es >>>>> para variable respuesta numérica, aunque no lo encontré por ningún >>>>> lado. >>>>> Por eso pregunté. >>>>> >>>>> Probaré sin indicar la family, a ver si funciona. >>>>> Gracias, >>>>> Manuel >>>>> >>>>> >>>>> >>>>> Quoting Carlos Ortega <c...@qualityexcellence.es>: >>>>> >>>>> Hola, >>>>> >>>>> >>>>>> No hay ninguna limitación en la ayuda de la función en este sentido. >>>>>> Tan solo se indica que han de existir dos niveles en la variable >>>>>> predictora, vaya que al menos sea binaria... >>>>>> En la función en el parámetro "gbm.y" es donde indicas qué columna es >>>>>> la >>>>>> predictora. No hay otro parámetro donde por otro lado le indiques si >>>>>> es >>>>>> un >>>>>> modelo binario o multinominal... >>>>>> >>>>>> Saludos, >>>>>> Carlos Ortega >>>>>> www.qualityexcellence.es >>>>>> >>>>>> >>>>>> 2018-02-19 14:03 GMT+01:00 Manuel Mendoza <mmend...@mncn.csic.es>: >>>>>> >>>>>> Hola erreros, ¿sabéis si gbm.step puede usarse para clasificación no >>>>>> >>>>>> binaria? >>>>>>> Gracias >>>>>>> -- >>>>>>> Dr Manuel Mendoza >>>>>>> Department of Biogeography and Global Change >>>>>>> National Museum of Natural History (MNCN) >>>>>>> Spanish Scientific Council (CSIC) >>>>>>> C/ Serrano 115bis, 28006 MADRID >>>>>>> Spain >>>>>>> >>>>>>> _______________________________________________ >>>>>>> R-help-es mailing list >>>>>>> R-help-es@r-project.org >>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> -- >>>>>> Saludos, >>>>>> Carlos Ortega >>>>>> www.qualityexcellence.es >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> Dr Manuel Mendoza >>>>> Department of Biogeography and Global Change >>>>> National Museum of Natural History (MNCN) >>>>> Spanish Scientific Council (CSIC) >>>>> C/ Serrano 115bis, 28006 MADRID >>>>> Spain >>>>> >>>>> >>>>> >>>>> >>>> -- >>>> Saludos, >>>> Carlos Ortega >>>> www.qualityexcellence.es >>>> >>>> >>> >>> -- >>> Dr Manuel Mendoza >>> Department of Biogeography and Global Change >>> National Museum of Natural History (MNCN) >>> Spanish Scientific Council (CSIC) >>> C/ Serrano 115bis, 28006 MADRID >>> Spain >>> >>> >>> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > -- > Dr Manuel Mendoza > Department of Biogeography and Global Change > National Museum of Natural History (MNCN) > Spanish Scientific Council (CSIC) > C/ Serrano 115bis, 28006 MADRID > Spain > > -- 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