Gracias Carlos y Javier, ntrees es el nº de árboles y treesize sus respectivos tamaños (nº de nodos) ntree: Number of trees to grow. This should not be set to too small ...... treesize: Size of trees (number of nodes) in and ensemble. Puse 1000 árboles (ntree=1000), si, pero la función treesize te da el nº de nodos: treesize(RFfit, terminal=TRUE) me da un vector de 1000 elementos (uno por cada árbol), todos ellos mayores que 4000 ???? ¿tienen los 1000 árboles más de 4000 nodos cada uno? Parece extraño ¿no? Esa es mi pregunta Gracias nuevamente, Manuel Quoting Carlos Ortega <cof en qualityexcellence.es>:> Hola, > > A "treesize()" le tienes que pasar como parámetro el objeto randomForest de > tu modelo. > Y obtiene el número de nodos de cada uno de los árboles que hayas indicado > en el valor del parámetros "ntrees" de "randomForest". Por defecto "ntrees" > tiene un valor de 500. > Mira qué valor tiene "ntrees" en tu modelo "randomForest", que seguramente > le hayas indicado un valor de 1000... > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > El 17 de enero de 2018, 14:29, Manuel Mendoza <mmendoza en mncn.csic.es> > escribió: > >> Buenas tardes a todos. El paquete randomForest tiene la función treesize, >> que es el nº de nodos. Me dan valores realmente elevados (en torno a 1000), >> y eso me parece extraño. ¿sabéis si es así? >> Gracias, >> Manuel >> -- >> 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 en 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
Hola, No. Mira el ejemplo:> data(iris) > iris.rf <- randomForest(Species ~ ., iris) > hist(treesize(iris.rf)) > treesize(iris.rf)[1] 7 10 13 7 10 6 9 8 7 9 8 8 6 8 7 9 7 10 6 16 4 13 11 10 8 11 10 8 7 9 9 6 11 7 5 10 12 10 7 12 12 8 11 10 [45] 10 10 9 11 8 6 7 12 9 9 7 6 10 9 10 7 8 8 8 7 8 12 7 11 12 8 7 7 6 9 9 6 6 11 3 9 12 11 13 9 9 7 7 12 [89] 11 6 6 8 6 11 9 10 10 6 7 14 7 10 8 7 9 11 7 14 7 7 8 9 7 6 9 8 9 8 13 9 10 10 9 11 6 7 9 10 8 9 9 6 [133] 9 8 10 9 11 8 6 7 13 6 6 9 5 14 8 10 13 10 12 13 11 12 10 9 12 9 13 10 9 11 7 10 10 9 9 8 6 5 9 9 11 10 8 10 [177] 4 10 12 10 10 8 10 11 9 5 7 8 8 15 8 7 7 9 12 9 10 9 12 8 10 8 11 9 6 7 9 12 7 8 10 12 6 14 11 4 6 6 7 9 [221] 10 11 13 5 8 10 7 10 10 12 10 11 11 8 9 11 9 9 9 10 6 10 7 10 10 14 9 10 6 10 6 8 6 9 9 10 10 10 10 9 10 10 8 14 [265] 8 11 6 11 9 9 9 8 11 7 8 11 8 4 9 11 6 8 10 8 9 10 8 9 8 11 11 9 12 14 7 9 8 9 10 10 11 8 12 12 12 4 10 11 [309] 8 8 11 9 9 8 10 9 4 10 10 6 13 10 12 9 10 9 5 9 7 4 7 15 7 8 7 11 7 11 12 5 12 7 9 8 13 14 9 9 9 9 6 13 [353] 13 7 10 6 5 6 10 6 8 8 9 11 9 11 7 7 11 8 6 10 13 7 12 11 14 7 10 11 9 8 6 8 10 8 9 6 10 10 6 7 7 7 11 13 [397] 8 5 7 14 10 14 8 9 6 11 9 11 10 9 8 7 11 10 10 11 8 10 12 9 8 8 9 9 9 9 9 5 9 7 13 10 11 8 10 9 10 12 8 12 [441] 9 10 4 7 11 7 10 4 6 13 8 7 10 9 7 6 8 9 7 11 8 8 9 10 5 8 11 12 6 5 10 10 6 10 10 5 10 13 9 13 10 10 6 12 [485] 8 7 9 12 10 9 7 7 14 6 9 6 6 8 10 6> vtmp <- treesize(iris.rf) > sum(vtmp)Por defecto al no especificar nada, el "ntrees" de randomForest() es 500. Efectivamente generas 500 árboles como ves en el número de elementos que devuelve "treesize(iris.rf)". Y cada árbol, tiene el número de nodos que ves en el valor de cada uno de los elementos que igualmente devuelve "treesize(iris.rf)": 7, 10, 13... Gracias, Carlos El 20 de enero de 2018, 10:36, Manuel Mendoza <mmendoza en mncn.csic.es> escribió:> > Gracias Carlos y Javier, ntrees es el nº de árboles y treesize sus > respectivos tamaños (nº de nodos) > > ntree: Number of trees to grow. This should not be set to too small ...... > > treesize: Size of trees (number of nodes) in and ensemble. > > > Puse 1000 árboles (ntree=1000), si, pero la función treesize te da el nº > de nodos: > > treesize(RFfit, terminal=TRUE) me da un vector de 1000 elementos (uno por > cada árbol), todos ellos mayores que 4000 ???? > > ¿tienen los 1000 árboles más de 4000 nodos cada uno? Parece extraño ¿no? > > Esa es mi pregunta > > Gracias nuevamente, > Manuel > > > > > > > Quoting Carlos Ortega <cof en qualityexcellence.es>: > > Hola, >> >> A "treesize()" le tienes que pasar como parámetro el objeto randomForest >> de >> tu modelo. >> Y obtiene el número de nodos de cada uno de los árboles que hayas indicado >> en el valor del parámetros "ntrees" de "randomForest". Por defecto >> "ntrees" >> tiene un valor de 500. >> Mira qué valor tiene "ntrees" en tu modelo "randomForest", que seguramente >> le hayas indicado un valor de 1000... >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> El 17 de enero de 2018, 14:29, Manuel Mendoza <mmendoza en mncn.csic.es> >> escribió: >> >> Buenas tardes a todos. El paquete randomForest tiene la función treesize, >>> que es el nº de nodos. Me dan valores realmente elevados (en torno a >>> 1000), >>> y eso me parece extraño. ¿sabéis si es así? >>> Gracias, >>> Manuel >>> -- >>> 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 en 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 [[alternative HTML version deleted]]
Si, Carlos. Yo hago lo mismo, pero esos mismos numeritos salen enormes.> treesize(RFfit)[1] 4304 4302 4311 4319 4343 4298 4298 4311 4349 4327 4331 4317 4294 4321 4283 4362 [17] 4300 4330 4266 4331 4308 4352 4294 4315 4372 4349 4331 4347 4329 4348 4298 4335 [33] 4346 4396 4345 4313 4293 4276 4353 4272 4304 4325 4317 4336 4308 4351 4374 4324 [49] 4386 4359 4311 4346 4300 4332 4336 4376 4319 4322 4344 4324 4324 4359 4342 4378 [65] 4344 4324 4314 4318 4344 4311 4359 4304 4288 .... hasta 1000 Con mtry le indicas el nº de variables que los árboles utilizarán (recomendado m=?p para árboles de clasificación, y m = p/3 para los de regresión), y con ntree el nº de árboles. Pero no encuentro cómo indicarle, aunque sea, un tamaño máximo para los árboles, y en cualquier caso, me parece extraño que se generen árboles con tantísimos nodos. Mi df tiene unas 13.000 entradas y 19 variables, pero eso no es nada especial para que me hiciese árboles tan grandes. No entiendo Quoting Carlos Ortega <cof en qualityexcellence.es>:> Hola, > > No. Mira el ejemplo: > >> data(iris) >> iris.rf <- randomForest(Species ~ ., iris) >> hist(treesize(iris.rf)) >> treesize(iris.rf) > [1] 7 10 13 7 10 6 9 8 7 9 8 8 6 8 7 9 7 10 6 16 4 13 11 > 10 8 11 10 8 7 9 9 6 11 7 5 10 12 10 7 12 12 8 11 10 > [45] 10 10 9 11 8 6 7 12 9 9 7 6 10 9 10 7 8 8 8 7 8 12 7 > 11 12 8 7 7 6 9 9 6 6 11 3 9 12 11 13 9 9 7 7 12 > [89] 11 6 6 8 6 11 9 10 10 6 7 14 7 10 8 7 9 11 7 14 7 7 8 > 9 7 6 9 8 9 8 13 9 10 10 9 11 6 7 9 10 8 9 9 6 > [133] 9 8 10 9 11 8 6 7 13 6 6 9 5 14 8 10 13 10 12 13 11 12 10 > 9 12 9 13 10 9 11 7 10 10 9 9 8 6 5 9 9 11 10 8 10 > [177] 4 10 12 10 10 8 10 11 9 5 7 8 8 15 8 7 7 9 12 9 10 9 12 > 8 10 8 11 9 6 7 9 12 7 8 10 12 6 14 11 4 6 6 7 9 > [221] 10 11 13 5 8 10 7 10 10 12 10 11 11 8 9 11 9 9 9 10 6 10 7 > 10 10 14 9 10 6 10 6 8 6 9 9 10 10 10 10 9 10 10 8 14 > [265] 8 11 6 11 9 9 9 8 11 7 8 11 8 4 9 11 6 8 10 8 9 10 8 > 9 8 11 11 9 12 14 7 9 8 9 10 10 11 8 12 12 12 4 10 11 > [309] 8 8 11 9 9 8 10 9 4 10 10 6 13 10 12 9 10 9 5 9 7 4 7 > 15 7 8 7 11 7 11 12 5 12 7 9 8 13 14 9 9 9 9 6 13 > [353] 13 7 10 6 5 6 10 6 8 8 9 11 9 11 7 7 11 8 6 10 13 7 12 > 11 14 7 10 11 9 8 6 8 10 8 9 6 10 10 6 7 7 7 11 13 > [397] 8 5 7 14 10 14 8 9 6 11 9 11 10 9 8 7 11 10 10 11 8 10 12 > 9 8 8 9 9 9 9 9 5 9 7 13 10 11 8 10 9 10 12 8 12 > [441] 9 10 4 7 11 7 10 4 6 13 8 7 10 9 7 6 8 9 7 11 8 8 9 > 10 5 8 11 12 6 5 10 10 6 10 10 5 10 13 9 13 10 10 6 12 > [485] 8 7 9 12 10 9 7 7 14 6 9 6 6 8 10 6 >> vtmp <- treesize(iris.rf) >> sum(vtmp) > > Por defecto al no especificar nada, el "ntrees" de randomForest() es 500. > Efectivamente generas 500 árboles como ves en el número de elementos que > devuelve "treesize(iris.rf)". > > Y cada árbol, tiene el número de nodos que ves en el valor de cada uno de > los elementos que igualmente devuelve "treesize(iris.rf)": 7, 10, 13... > > Gracias, > Carlos > > El 20 de enero de 2018, 10:36, Manuel Mendoza <mmendoza en mncn.csic.es> > escribió: > >> >> Gracias Carlos y Javier, ntrees es el nº de árboles y treesize sus >> respectivos tamaños (nº de nodos) >> >> ntree: Number of trees to grow. This should not be set to too small ...... >> >> treesize: Size of trees (number of nodes) in and ensemble. >> >> >> Puse 1000 árboles (ntree=1000), si, pero la función treesize te da el nº >> de nodos: >> >> treesize(RFfit, terminal=TRUE) me da un vector de 1000 elementos (uno por >> cada árbol), todos ellos mayores que 4000 ???? >> >> ¿tienen los 1000 árboles más de 4000 nodos cada uno? Parece extraño ¿no? >> >> Esa es mi pregunta >> >> Gracias nuevamente, >> Manuel >> >> >> >> >> >> >> Quoting Carlos Ortega <cof en qualityexcellence.es>: >> >> Hola, >>> >>> A "treesize()" le tienes que pasar como parámetro el objeto randomForest >>> de >>> tu modelo. >>> Y obtiene el número de nodos de cada uno de los árboles que hayas indicado >>> en el valor del parámetros "ntrees" de "randomForest". Por defecto >>> "ntrees" >>> tiene un valor de 500. >>> Mira qué valor tiene "ntrees" en tu modelo "randomForest", que seguramente >>> le hayas indicado un valor de 1000... >>> >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >>> El 17 de enero de 2018, 14:29, Manuel Mendoza <mmendoza en mncn.csic.es> >>> escribió: >>> >>> Buenas tardes a todos. El paquete randomForest tiene la función treesize, >>>> que es el nº de nodos. Me dan valores realmente elevados (en torno a >>>> 1000), >>>> y eso me parece extraño. ¿sabéis si es así? >>>> Gracias, >>>> Manuel >>>> -- >>>> 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 en 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