SlideShare une entreprise Scribd logo
1  sur  19
RANDOM FOREST
ESP. GUSTAVO DEJEAN
Universidad Nacional del Oeste - Universidad de Buenos Aires
versión actual: Febrero 2019
versión anterior: En la presentación de : ‘Red para la Investigación e
Innovación Tecnológica en Reconocimiento de Patrones’ (UNLAM) -
noviembre 2017
objetivos
● entender los principios básicos del Random Forest (RF)
● ejecutar un RF e interpretar los resultados (MC y OOB)
● comprender las dos formas de ejecución: secuencial y concurrente
● mejorar un modelo básico mediante nuevos experimentos
CONTENIDO
● Visión general
● Descripción de los datos
● Algoritmo RF
● Programación Concurrente aplicado al Algoritmo Random Forest
● interpretación de los resultados (mc y OOB)
● Ventajas y desventajas del RF
● Bibliografia - URL
Fuente: Minería de datos: técnicas y herramientas
Escrito por César Pérez López
Una visión general
Descripción del conjunto de datos
50 personas (o clases)
10 muestras por persona para cada trazo manuscrito
6 archivos, uno por cada trazo (S2, S3, S4 , S5, S6, S8)
Random Forest
• El algoritmo fue desarrollado por Leo Breiman y Adele Cutler (2001)
• Random forest es una combinación de árboles predictores
• Es una técnica de agregación que mejora la precisión en la clasificación
mediante la incorporación de aleatoriedad en la construcción de cada
clasificador individual.
Implementaciones libres
R, Weka y Python tienen packages robustos para implementar Random
Forest
FastRandomForest es una implementación eficiente del clasificador
Random Forests para el ambiente Weka
Package ‘randomForest’
October 7, 2015
Title Breiman and Cutler's Random Forests for Classification and Regression
Version 4.6-12
Date 2015-10-06
Depends R (>= 2.5.0), stats
Suggests RColorBrewer, MASS
Author Fortran original by Leo Breiman and Adele Cutler, R port by
Andy Liaw and Matthew Wiener.
Description Classification and regression based on a forest of trees using random inputs.
Maintainer Andy Liaw License GPL (>= 2)
URL https://www.stat.berkeley.edu/~breiman/RandomForests/
NeedsCompilation yes
Repository CRAN
Date/Publication 2015-10-07 08:38:34
Árbol de decisión generado con la biblioteca rpart
Algoritmo Random Forest
input:
int mtree
int cvar
data_frame entrenamiento
donde:
● mtree: este número indica la cantidad de árboles a calcular.
● cvar: este número indica la cantidad de variables a tomar en forma
aleatoria en cada Nodo interno del árbol
● entrenamiento: es el conjunto de datos a entrenar
output: un modelo predictor
Algoritmo Random Forest
Lo vamos a definir con un ciclo y en cada ciclo un algoritmo recursivo:
• hacer mtree veces:
tomar en forma aleatoria cvar variables
dividir el nodo raíz en dos, según la variable que mejor divida los datos
paso recursivo: para cada nodo no hoja, volver a tomar cvar variables
aleatorias y repetir la división hasta que no se pueda extender más (el árbol
es sin poda)
• una vez terminado lo anterior, se realiza el ensamble de todos los árboles. Por
voto mayoritario, se asigna cada caso a una clase
Antes de iniciar: puede separar el conjunto de datos original en dos subconjuntos
aleatorios, uno de entrenamiento y otro de prueba.
#dos formas de ejecutar RF: secuencial y paralelo
# forma secuencial básica:
modelo.forest <- randomForest(tipo_isib ~ .
, data=entrenamiento[,-1] # datos para entrenar le saco el cuit
, ntree=200 # cantidad de árboles
, mtry=4 # cantidad de variables
, replace=T # muestras con reemplazo
, importance=F
, class = NULL
)
# Ver el error en el entrenamiento OOB:.
print(modelo.forest) # 25,23 err
# Importance of each predictor.
print(importance(modelo.forest,type = 2))
# randomForest en paralelo
#http://sehablanalytics.cl/2014/12/random-forests-consejos/
cores <- 4 #nro de núcleos a usar en modo paralelo
ntrees <- 500 #nro de arboles
nVars <- 9 # nro de variables; ver valores tipicos
registerDoParallel(cores = cores)
#forma paralela usando n nucleos del procesador
par <- function(unModelo, cantArboles, cantVars){
foreach(ntree.iter = rep(ceiling(cantArboles / cores), cores),
# divido la cantidad total de arboles que quiero generar por la cantidad de nucleos
.combine = combine, .packages = "randomForest") %dopar% {
#uno los bosques creados por cada nucleo
randomForest( clase ~ .
, data= unModelo # datos para entrenar le saco el cuit
, ntree= ntree.iter # cantidad de arboles
, mtry=cantVars # cantidad de variables
, replace=T # muestras con reemplazo
, importance=T
, class = NULL
)
}
}
# para determinar la cantidad de variables óptima a usar en nuestro caso real:
vAciertos <-c(0)
for(j in 1: 17){
modelo.forest <- par(entrenamiento, 500,j)
# Crea prediccion y Matriz de confusion:
prediccion <- predict(modelo.forest, test[,-1], type='class'); # Matriz de Confusion
mc <- with(test,table(prediccion, clase))
# calcular los aciertos totales:
d <- diag(mc)
sumDiag <- sum(d) # sumo la diagonal
acierto <- sumDiag/sum(mc) # calculo el % de aciertos
vAciertos[j] <- aciertos
print(j)
print(aciertos)
}
Out-of-Bag Error
Dada la naturaleza del proceso de bagging, resulta posible estimar de forma directa el test error sin necesidad de
recurrir a cross-validation o a un test set independiente. Sin entrar en demostraciones matemáticas, el hecho de
que los árboles se ajusten de forma repetida empleando muestras generadas por bootstrapping conlleva que, en
promedio, cada ajuste usa solo aproximadamente dos tercios de las observaciones originales. Al tercio restante se
le llama out-of-bag (OOB). Si para cada árbol ajustado en el proceso de bagging se registran las observaciones
empleadas, se puede predecir la respuesta de la observación ii haciendo uso de aquellos árboles en los que esa
observación ha sido excluida (OOB) y promediándolos (la moda en el caso de los árboles de clasificación).
Siguiendo este proceso, se pueden obtener las predicciones para las nn observaciones y con ellas calcular el
OOB-mean square error (para regresión) o el OOB-classification error (para árboles de clasificación). Como la
variable respuesta de cada observación se predice empleando únicamente los árboles en cuyo ajuste no participó
dicha observación, el OOB-error sirve como estimación del test-error. De hecho, si el número de árboles es
suficientemente alto, el OOB-error es prácticamente equivalente al leave-one-out cross-validation error. Esta es
una ventaja añadida de los métodos de bagging, ya que evita tener que recurrir al proceso de cross-
validation(computacionalmente costoso) para la optimización de los hiperparámetros.
Fuente: Joaquín Amat Rodrigo j.amatrodrigo@gmail.com; Febrero, 2017
Beneficios del RandomForest
• Precisión
• Funciona de manera eficiente con bases de datos de gran tamaño
• Maneja miles de variables de entrada sin necesidad de técnicas de borrado
• Da una estimación de qué variables son importantes en la clasificación
• Genera una estimación objetiva interna de la generalización de errores
• Fácil de implementar
• Muy apto para correrlo en paralelos
• Los “bosques” generados se pueden guardar para uso futuro en otros datos
Desventajas: El resultado no es interpretable
Tiene varios parámetros para un afinamiento final
Bibliografia
• https://cran.r-project.org/web/packages/randomForest/randomForest.pdf
• https://www.stat.berkeley.edu/~breiman/RandomForests/cc_graphics.htm
FIN
¿preguntas?
dejean2010@gmail.com

Contenu connexe

Tendances (7)

Dimensionality Reduction
Dimensionality ReductionDimensionality Reduction
Dimensionality Reduction
 
Machine learning and decision trees
Machine learning and decision treesMachine learning and decision trees
Machine learning and decision trees
 
K-means Clustering with Scikit-Learn
K-means Clustering with Scikit-LearnK-means Clustering with Scikit-Learn
K-means Clustering with Scikit-Learn
 
Random forest algorithm
Random forest algorithmRandom forest algorithm
Random forest algorithm
 
Exposicion unida metodo taguchi
Exposicion unida metodo taguchiExposicion unida metodo taguchi
Exposicion unida metodo taguchi
 
Autoencoder
AutoencoderAutoencoder
Autoencoder
 
Simulacion de sistemas
Simulacion de sistemasSimulacion de sistemas
Simulacion de sistemas
 

Similaire à Ramdom forest

Guia para el programa desktop garp
Guia para el programa desktop garpGuia para el programa desktop garp
Guia para el programa desktop garp
Mildred_Lagos
 
Poggi analytics - ensamble - 1b
Poggi   analytics - ensamble - 1bPoggi   analytics - ensamble - 1b
Poggi analytics - ensamble - 1b
Gaston Liberman
 
Introduction to SDM with Maxent JohannesS Signer
Introduction to SDM with Maxent JohannesS SignerIntroduction to SDM with Maxent JohannesS Signer
Introduction to SDM with Maxent JohannesS Signer
jsigner
 
Algoritmo agil
Algoritmo agilAlgoritmo agil
Algoritmo agil
maymania
 

Similaire à Ramdom forest (20)

teim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdfteim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdf
 
Guia para el programa desktop garp
Guia para el programa desktop garpGuia para el programa desktop garp
Guia para el programa desktop garp
 
Optimizacion en IMRT
Optimizacion en IMRTOptimizacion en IMRT
Optimizacion en IMRT
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion genetica
 
Árboles de Decisión
Árboles de DecisiónÁrboles de Decisión
Árboles de Decisión
 
Aprendizaje automático I - Sesión 4 Árboles de Decisión.pdf
Aprendizaje automático I - Sesión 4 Árboles de Decisión.pdfAprendizaje automático I - Sesión 4 Árboles de Decisión.pdf
Aprendizaje automático I - Sesión 4 Árboles de Decisión.pdf
 
CoSECiVi 2020 - Multiresolution Foliage Rendering
CoSECiVi 2020 - Multiresolution Foliage RenderingCoSECiVi 2020 - Multiresolution Foliage Rendering
CoSECiVi 2020 - Multiresolution Foliage Rendering
 
Prediccion de Rocas con Machine Learning.pdf
Prediccion de Rocas con Machine Learning.pdfPrediccion de Rocas con Machine Learning.pdf
Prediccion de Rocas con Machine Learning.pdf
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y Entrenamiento
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
 
A G's
A G'sA G's
A G's
 
Examen Parcial 2
Examen Parcial 2Examen Parcial 2
Examen Parcial 2
 
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
Poggi analytics - ensamble - 1b
Poggi   analytics - ensamble - 1bPoggi   analytics - ensamble - 1b
Poggi analytics - ensamble - 1b
 
Introduction to sdm with Maxent Johannes S
Introduction to sdm with Maxent Johannes SIntroduction to sdm with Maxent Johannes S
Introduction to sdm with Maxent Johannes S
 
Introduction to SDM with Maxent JohannesS Signer
Introduction to SDM with Maxent JohannesS SignerIntroduction to SDM with Maxent JohannesS Signer
Introduction to SDM with Maxent JohannesS Signer
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Algoritmo agil
Algoritmo agilAlgoritmo agil
Algoritmo agil
 

Dernier

REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
IrapuatoCmovamos
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
BESTTech1
 

Dernier (20)

data lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfdata lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdf
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdf
 
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptx
 
biometria hematica y hemostasia y preanalitica.pptx
biometria hematica y hemostasia y preanalitica.pptxbiometria hematica y hemostasia y preanalitica.pptx
biometria hematica y hemostasia y preanalitica.pptx
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismo
 
Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdf
 
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptxCUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
max-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptxmax-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptx
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
La Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdfLa Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdf
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
 

Ramdom forest

  • 1. RANDOM FOREST ESP. GUSTAVO DEJEAN Universidad Nacional del Oeste - Universidad de Buenos Aires versión actual: Febrero 2019 versión anterior: En la presentación de : ‘Red para la Investigación e Innovación Tecnológica en Reconocimiento de Patrones’ (UNLAM) - noviembre 2017
  • 2. objetivos ● entender los principios básicos del Random Forest (RF) ● ejecutar un RF e interpretar los resultados (MC y OOB) ● comprender las dos formas de ejecución: secuencial y concurrente ● mejorar un modelo básico mediante nuevos experimentos
  • 3. CONTENIDO ● Visión general ● Descripción de los datos ● Algoritmo RF ● Programación Concurrente aplicado al Algoritmo Random Forest ● interpretación de los resultados (mc y OOB) ● Ventajas y desventajas del RF ● Bibliografia - URL
  • 4. Fuente: Minería de datos: técnicas y herramientas Escrito por César Pérez López Una visión general
  • 5. Descripción del conjunto de datos 50 personas (o clases) 10 muestras por persona para cada trazo manuscrito 6 archivos, uno por cada trazo (S2, S3, S4 , S5, S6, S8)
  • 6. Random Forest • El algoritmo fue desarrollado por Leo Breiman y Adele Cutler (2001) • Random forest es una combinación de árboles predictores • Es una técnica de agregación que mejora la precisión en la clasificación mediante la incorporación de aleatoriedad en la construcción de cada clasificador individual.
  • 7. Implementaciones libres R, Weka y Python tienen packages robustos para implementar Random Forest FastRandomForest es una implementación eficiente del clasificador Random Forests para el ambiente Weka
  • 8. Package ‘randomForest’ October 7, 2015 Title Breiman and Cutler's Random Forests for Classification and Regression Version 4.6-12 Date 2015-10-06 Depends R (>= 2.5.0), stats Suggests RColorBrewer, MASS Author Fortran original by Leo Breiman and Adele Cutler, R port by Andy Liaw and Matthew Wiener. Description Classification and regression based on a forest of trees using random inputs. Maintainer Andy Liaw License GPL (>= 2) URL https://www.stat.berkeley.edu/~breiman/RandomForests/ NeedsCompilation yes Repository CRAN Date/Publication 2015-10-07 08:38:34
  • 9. Árbol de decisión generado con la biblioteca rpart
  • 10. Algoritmo Random Forest input: int mtree int cvar data_frame entrenamiento donde: ● mtree: este número indica la cantidad de árboles a calcular. ● cvar: este número indica la cantidad de variables a tomar en forma aleatoria en cada Nodo interno del árbol ● entrenamiento: es el conjunto de datos a entrenar output: un modelo predictor
  • 11. Algoritmo Random Forest Lo vamos a definir con un ciclo y en cada ciclo un algoritmo recursivo: • hacer mtree veces: tomar en forma aleatoria cvar variables dividir el nodo raíz en dos, según la variable que mejor divida los datos paso recursivo: para cada nodo no hoja, volver a tomar cvar variables aleatorias y repetir la división hasta que no se pueda extender más (el árbol es sin poda) • una vez terminado lo anterior, se realiza el ensamble de todos los árboles. Por voto mayoritario, se asigna cada caso a una clase Antes de iniciar: puede separar el conjunto de datos original en dos subconjuntos aleatorios, uno de entrenamiento y otro de prueba.
  • 12. #dos formas de ejecutar RF: secuencial y paralelo # forma secuencial básica: modelo.forest <- randomForest(tipo_isib ~ . , data=entrenamiento[,-1] # datos para entrenar le saco el cuit , ntree=200 # cantidad de árboles , mtry=4 # cantidad de variables , replace=T # muestras con reemplazo , importance=F , class = NULL ) # Ver el error en el entrenamiento OOB:. print(modelo.forest) # 25,23 err # Importance of each predictor. print(importance(modelo.forest,type = 2))
  • 13. # randomForest en paralelo #http://sehablanalytics.cl/2014/12/random-forests-consejos/ cores <- 4 #nro de núcleos a usar en modo paralelo ntrees <- 500 #nro de arboles nVars <- 9 # nro de variables; ver valores tipicos registerDoParallel(cores = cores)
  • 14. #forma paralela usando n nucleos del procesador par <- function(unModelo, cantArboles, cantVars){ foreach(ntree.iter = rep(ceiling(cantArboles / cores), cores), # divido la cantidad total de arboles que quiero generar por la cantidad de nucleos .combine = combine, .packages = "randomForest") %dopar% { #uno los bosques creados por cada nucleo randomForest( clase ~ . , data= unModelo # datos para entrenar le saco el cuit , ntree= ntree.iter # cantidad de arboles , mtry=cantVars # cantidad de variables , replace=T # muestras con reemplazo , importance=T , class = NULL ) } }
  • 15. # para determinar la cantidad de variables óptima a usar en nuestro caso real: vAciertos <-c(0) for(j in 1: 17){ modelo.forest <- par(entrenamiento, 500,j) # Crea prediccion y Matriz de confusion: prediccion <- predict(modelo.forest, test[,-1], type='class'); # Matriz de Confusion mc <- with(test,table(prediccion, clase)) # calcular los aciertos totales: d <- diag(mc) sumDiag <- sum(d) # sumo la diagonal acierto <- sumDiag/sum(mc) # calculo el % de aciertos vAciertos[j] <- aciertos print(j) print(aciertos) }
  • 16. Out-of-Bag Error Dada la naturaleza del proceso de bagging, resulta posible estimar de forma directa el test error sin necesidad de recurrir a cross-validation o a un test set independiente. Sin entrar en demostraciones matemáticas, el hecho de que los árboles se ajusten de forma repetida empleando muestras generadas por bootstrapping conlleva que, en promedio, cada ajuste usa solo aproximadamente dos tercios de las observaciones originales. Al tercio restante se le llama out-of-bag (OOB). Si para cada árbol ajustado en el proceso de bagging se registran las observaciones empleadas, se puede predecir la respuesta de la observación ii haciendo uso de aquellos árboles en los que esa observación ha sido excluida (OOB) y promediándolos (la moda en el caso de los árboles de clasificación). Siguiendo este proceso, se pueden obtener las predicciones para las nn observaciones y con ellas calcular el OOB-mean square error (para regresión) o el OOB-classification error (para árboles de clasificación). Como la variable respuesta de cada observación se predice empleando únicamente los árboles en cuyo ajuste no participó dicha observación, el OOB-error sirve como estimación del test-error. De hecho, si el número de árboles es suficientemente alto, el OOB-error es prácticamente equivalente al leave-one-out cross-validation error. Esta es una ventaja añadida de los métodos de bagging, ya que evita tener que recurrir al proceso de cross- validation(computacionalmente costoso) para la optimización de los hiperparámetros. Fuente: Joaquín Amat Rodrigo j.amatrodrigo@gmail.com; Febrero, 2017
  • 17. Beneficios del RandomForest • Precisión • Funciona de manera eficiente con bases de datos de gran tamaño • Maneja miles de variables de entrada sin necesidad de técnicas de borrado • Da una estimación de qué variables son importantes en la clasificación • Genera una estimación objetiva interna de la generalización de errores • Fácil de implementar • Muy apto para correrlo en paralelos • Los “bosques” generados se pueden guardar para uso futuro en otros datos Desventajas: El resultado no es interpretable Tiene varios parámetros para un afinamiento final