SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...
How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...
How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...Edureka!
 
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; KamberChapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kambererror007
 
Deep learning with tensorflow
Deep learning with tensorflowDeep learning with tensorflow
Deep learning with tensorflowCharmi Chokshi
 
Machine Learning in Big Data
Machine Learning in Big DataMachine Learning in Big Data
Machine Learning in Big DataDataWorks Summit
 
Machine learning with Big Data power point presentation
Machine learning with Big Data power point presentationMachine learning with Big Data power point presentation
Machine learning with Big Data power point presentationDavid Raj Kanthi
 
Unsupervised Machine Learning Ml And How It Works
Unsupervised Machine Learning Ml And How It WorksUnsupervised Machine Learning Ml And How It Works
Unsupervised Machine Learning Ml And How It WorksSlideTeam
 
Data mining Introduction
Data mining IntroductionData mining Introduction
Data mining IntroductionVijayasankariS
 
2.2 decision tree
2.2 decision tree2.2 decision tree
2.2 decision treeKrish_ver2
 
Rapid Miner: Data Transformation
Rapid Miner: Data TransformationRapid Miner: Data Transformation
Rapid Miner: Data TransformationDataminingTools Inc
 
Cps security bitsworkshopdec15.2012 (1)
Cps security bitsworkshopdec15.2012 (1)Cps security bitsworkshopdec15.2012 (1)
Cps security bitsworkshopdec15.2012 (1)shanshicn
 
Statistics vs machine learning
Statistics vs machine learningStatistics vs machine learning
Statistics vs machine learningTom Dierickx
 
Module 2: Machine Learning Deep Dive
Module 2:  Machine Learning Deep DiveModule 2:  Machine Learning Deep Dive
Module 2: Machine Learning Deep DiveSara Hooker
 
Machine learning with scikitlearn
Machine learning with scikitlearnMachine learning with scikitlearn
Machine learning with scikitlearnPratap Dangeti
 
Dimension reduction techniques[Feature Selection]
Dimension reduction techniques[Feature Selection]Dimension reduction techniques[Feature Selection]
Dimension reduction techniques[Feature Selection]AAKANKSHA JAIN
 
Data Science and Big Data Analytics Book from EMC Education Services
Data Science and Big Data Analytics Book from EMC Education ServicesData Science and Big Data Analytics Book from EMC Education Services
Data Science and Big Data Analytics Book from EMC Education ServicesEMC
 

La actualidad más candente (20)

How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...
How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...
How to Become a Data Scientist | Data Scientist Skills | Data Science Trainin...
 
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; KamberChapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kamber
 
Deep learning with tensorflow
Deep learning with tensorflowDeep learning with tensorflow
Deep learning with tensorflow
 
Machine Learning in Big Data
Machine Learning in Big DataMachine Learning in Big Data
Machine Learning in Big Data
 
Machine learning with Big Data power point presentation
Machine learning with Big Data power point presentationMachine learning with Big Data power point presentation
Machine learning with Big Data power point presentation
 
Unsupervised Machine Learning Ml And How It Works
Unsupervised Machine Learning Ml And How It WorksUnsupervised Machine Learning Ml And How It Works
Unsupervised Machine Learning Ml And How It Works
 
Data mining Introduction
Data mining IntroductionData mining Introduction
Data mining Introduction
 
2.2 decision tree
2.2 decision tree2.2 decision tree
2.2 decision tree
 
Rapid Miner: Data Transformation
Rapid Miner: Data TransformationRapid Miner: Data Transformation
Rapid Miner: Data Transformation
 
Dbscan algorithom
Dbscan algorithomDbscan algorithom
Dbscan algorithom
 
Cps security bitsworkshopdec15.2012 (1)
Cps security bitsworkshopdec15.2012 (1)Cps security bitsworkshopdec15.2012 (1)
Cps security bitsworkshopdec15.2012 (1)
 
Data science
Data scienceData science
Data science
 
Data Mining Overview
Data Mining OverviewData Mining Overview
Data Mining Overview
 
Apriori
AprioriApriori
Apriori
 
Statistics vs machine learning
Statistics vs machine learningStatistics vs machine learning
Statistics vs machine learning
 
Module 2: Machine Learning Deep Dive
Module 2:  Machine Learning Deep DiveModule 2:  Machine Learning Deep Dive
Module 2: Machine Learning Deep Dive
 
Machine learning with scikitlearn
Machine learning with scikitlearnMachine learning with scikitlearn
Machine learning with scikitlearn
 
AI meets Big Data
AI meets Big DataAI meets Big Data
AI meets Big Data
 
Dimension reduction techniques[Feature Selection]
Dimension reduction techniques[Feature Selection]Dimension reduction techniques[Feature Selection]
Dimension reduction techniques[Feature Selection]
 
Data Science and Big Data Analytics Book from EMC Education Services
Data Science and Big Data Analytics Book from EMC Education ServicesData Science and Big Data Analytics Book from EMC Education Services
Data Science and Big Data Analytics Book from EMC Education Services
 

Similar a Ramdom forest

teim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdfteim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdfngduyh1
 
Guia para el programa desktop garp
Guia para el programa desktop garpGuia para el programa desktop garp
Guia para el programa desktop garpMildred_Lagos
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion geneticaj3nnn1
 
Árboles de Decisión
Árboles de DecisiónÁrboles de Decisión
Árboles de Decisiónjosemorangt
 
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.pdfGerard Alba
 
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 EntrenamientoESCOM
 
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...TestingAR Meetup
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BJose Andres
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de RetropropagaciónESCOM
 
Poggi analytics - ensamble - 1b
Poggi   analytics - ensamble - 1bPoggi   analytics - ensamble - 1b
Poggi analytics - ensamble - 1bGaston 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 Signerjsigner
 
Algoritmo agil
Algoritmo agilAlgoritmo agil
Algoritmo agilmaymania
 

Similar a 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
 

Último

Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdfReducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdfJC Díaz Herrera
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfJC Díaz Herrera
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfJC Díaz Herrera
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxLuisAngelYomonaYomon
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfJC Díaz Herrera
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfJC Díaz Herrera
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfJC Díaz Herrera
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfJC Díaz Herrera
 
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdfPosiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdfJC Díaz Herrera
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfBiografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfANGELEFRENCUAUTLEOCE
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaRosaHurtado26
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOJuan Carlos Fonseca Mata
 

Último (20)

Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdfReducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdf
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdfPosiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfBiografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitectura
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 

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