ALGORITMOS DE CLASIFICACIÓN :
RANDOM FOREST
«Lo llaman suerte, pero es constancia.
Lo llaman casualidad, pero es
disciplina. Lo llaman genética pero es
sacrificio. Ellos hablan , tú estudia.»»
SAN MARCOS DATA SCIENCE COMMUNITY
MENTORES
José Antonio Cárdenas Garro André Omar Chávez Panduro
ESTADÍSTICA ESTADÍSTICA
UNMSM UNMSM
MSc in Data Science Candidate MSc in Data Science Candidate
Promotion “Erwin Kraenau Espinal” Promotion “Erwin Kraenau Espinal”
Universidad Ricard Palma Universidad Ricard Palma
Predictive Modelling Specialist Data Scientist
Especialidades : Predictive Modeling | Machine Especialidades : Predictive Modeling | Machine
Learning | Advanced Statistics | Risk Modeling | Learning | Advanced Statistics | Business Analytics|
Data Science Data Science
Aldo Ray Chávez Panduro
INGENIERÍA DE SISTEMAS
UNMSM
Student of MSc in Data Science
Universidad Ricard Palma
Risk Management Specialist
Especialidades : Big Data| Machine Learning |
Programming | Risk Specialist – IFRS9 | Data Science
AGENDA
Definición de Clasificación.
Ejemplos de clasificación.
Bagging.
Random Forest.
DEFINICIONES BÀSICAS
• Conjunto de Datos (Data Set): El total del conjunto de datos sobre los que queremos
desarrollar un algoritmo de Machine Learning con el fin de obtener un modelo que lo
represente lo mejor posible. Contendrá variables independientes y dependientes.
• Variables Independientes (Features), (VI): Aquellas columnas del Data Set que
serán usadas por el algoritmo para generar un modelo que prediga lo mejor posible las
variables dependientes.
• Variables dependientes (Labels,Target), (VD): Columna del data set que responde
a una correlación de VI y que debe ser predicha por el futuro modelo
• Conjunto de Datos de Entrenamiento (Training Set): Subconjunto del Data Set
que será utilizado para entrenar el modelo que se pretende generar.
• Conjunto de Datos de Test (Test Set): Subconjunto del data set que se le pasará al
modelo una vez haya sido entrenado para comprobar, mediante el uso de diferentes
métricas, sus indicadores más importantes de calidad.
A
5
CLASIFICACIÓN: DEFINICIÓN
Dada una colección de registros (Conjunto de
Entrenamiento) cada registro contiene un conjunto de
variables (atributos) denominado x, con una variable
(atributo) adicional que es la clase denominada y.
El objetivo de la clasificación es encontrar un modelo
(una función) para predecir la clase a la que pertenecería
cada registro, esta asignación una clase se debe hacer
con la mayor precisión posible.
Un conjunto de prueba (tabla de testing) se utiliza para
determinar la precisión del modelo. Por lo general, el
conjunto de datos dado se divide en dos conjuntos al azar
de el de entrenamiento y el de prueba.
MODELO GENERAL DE LOS MÉTODOS DE
CLASIFICACIÓN
REEMBO LSO
ESTADO ING RESO S
FRAUDE
Algoritmo
ID CIVIL ANUALES de
1 SI SOLTERO S/ 1,000 NO Aprendizaje
2 SI CASADO S/ 5,000 NO
Generar
3 NO CASADO S/ 3,500 SI el
4 SI VIUDO S/ 4,500 NO Modelo
5 NO SOLTERO S/ 2,000 NO
6 NO SOLTERO S/ 1,500 SI
Tabla de Aprendizaje
Modelo
ESTADO ING RESO S
REEMBO LSO FRAUDE
ID CIVIL ANUALES
7 SI SOLTERO S/ 4,000 NO
Aplicar
el
8 SI CASADO S/ 5,500 NO
Modelo
9 NO CASADO S/ 6,500 SI Evaluar Nuevos
Tabla de Testing Individuos
10
DEFINICIÓN DE CLASIFICACIÓN
Dada una base de datos 𝐷 = {𝑡1, 𝑡2, … , 𝑡𝑛 } de tuplas
o registros (individuos) y un conjunto de clases
𝐶 = {𝐶1, 𝐶2, … , 𝐶𝑚 }, el problema de la
clasificación es encontrar una función 𝑓: 𝐷 → 𝐶 tal
que cada 𝑡𝑖 es asignada una clase 𝐶𝑗 .
𝑓: 𝐷 → 𝐶 podría ser una Red Neuronal, un Árbol de
Decisión, un modelo basado en Análisis
Discriminante, o una Red Beyesiana.
EJEMPLO 1: ALGORITMO NAIVE BAYES
Problema de clasificación binaria. Frontera de
decisión cuadrática
Frontera de decisión Bayes. T asa error = 0
Se simularon 200 observaciones del
1.5
vector bidimensional (x1,x2); ambas
componentes del vector son variables
1.0
independientes con una distribución
0.5
uniforme en (-1.5,1.5)
0.0
x2
La clasificación viene dada por:
-0.5
Clase 2: x2 > 1-x12
-1.0
Clase 1: x2 < 1-x12
-1.5
-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
x1
EJEMPLO 2: SOLUCIONES LDA Y QDA
Frontera decisión LDA. Tasa error = 19.91 Frontera decisión QDA. Tasa error = 15.75
1.5
1.5
1.0
1.0
0.5
0.5
0.0
0.0
x2
x2
-0.5
-0.5
-1.0
-1.0
-1.5
-1.5
-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
x1 x1
EJEMPLO 3: SOLUCIÓN ÁRBOL DE DECISIÓN
Solución obtenida
Frontera decisión CART. Tasa error = 8.1
mediante CART.
1.5
Árbol sin podar
1.0
0.5
0.0
x2
-0.5
-1.0
-1.5
-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
x1
¿QUÉ ES BAGGING?
Bagging quiere decir bootstrap aggregation. Introducido
por Leo Breiman (Berkeley) en 1996
La idea es simple. Si tienes las opiniones de un comité de
expertos, considéralas todas para tomar una decisión
Se extraen muestras bootstrap del conjunto de datos. Para
cada muestra, se obtiene un modelo de predicción. El
nuevo predictor “bagging” se construye mediante
agregación
+ + + +
El objetivo es reducir la inestabilidad
BAGGING PARA CLASIFICACIÓN
Si el problema es de clasificación bagging clasificará
cada nueva observación por mayoría.
Por ejemplo:
x
1 1 1 0 1
La clase 1 recibió cuatro votos. La clase 0 un voto.
El predictor bagging clasificará x en la clase 1.
BAGGING PARA REGRESIÓN
Si el problema es de regresión la predicción bagging se
obtiene promediando las predicciones de todos los
modelos. Por ejemplo:
x
2 3 5 1 7
La predicción bagging será: (2+3+5+1+7)/5 = 3.6
Cuando la variable respuesta es binaria 0/1, el
bagging para regresión se reduce al criterio de
clasificar por mayoría
EJEMPLO 4: EL EFECTO BAGGING
Frontera decisión BAGGING. Tasa error = 5.8
1.5
Se emplearon 50
1.0
muestras bootstrap.
Se ha reducido
0.5
la inestabilidad
de CART.
0.0
x2
En este caso también
-0.5
se ha mejorado en
capacidad
-1.0
predictiva.
-1.5
- - - 0.0 0.5 1.0
1.5 1.0 0.5 1.5
x1
BOSQUES ALEATORIOS (RANDOM FOREST)
El caso en el que todos los clasificadores del
Método de Consenso son Árboles dicho método
se denomina Bosques Aleatorios (Random
Forest).
RANDOM FORESTS O BOSQUES ALEATORIOS (RF)
Desarrollado por Leo Breiman (Berkeley) en 2001
Tiene su base en
La predicción con CART
La agregación de modelos de árbol
Bootstrap Aggregation (Bagging)
Comercializado por Salford Systems en la herramienta
RandomForestsTM.
Implementado por Andy Liaw y Matthew Wiener en la
librería randomForest del entorno R de programación.
BOSQUES ALEATORIOS (RANDOM FOREST)
Cada árbol usa m diferentes
variables, aleatoriamente
escogidas del conjunto
de p variables m<p (m=mtry)
EL MECANISMO DE RANDOM FOREST
La aleatorización se introduce en el
mecanismo de aprendizaje a través de dos
vías: el remuestreo y la aleatorización
en la selección del corte en cada nodo
Se toman B muestras bootstrap del conjunto de datos para
construir B árboles sin podar. Esto corresponde a la fase bagging
y proporciona el bosque de árboles
Para construir cada árbol del bosque, RF busca el corte en cada
nodo entre un conjunto de R variables predictoras que han sido
seleccionadas al azar
Por defecto B = 500 y R = sqrt(nº predictores).
LA ESTIMACIÓN DEL ERROR CON RF
Se define la tasa de error out of bag (OOBi) de una
observación xi como el error obtenido al ser clasificada por
los árboles del bosque construidos sin su intervención.
La estimación OOB del error es el promedio de todos
los OOBi para todas las observaciones del conjunto de
datos.
Es mejor estimador que el error aparente. Parecida a la
estimación por validación cruzada.
La medida se puede extrapolar al problema de regresión
describiéndola en términos del ECM.
EJEMPLO 5: SOLUCIÓN CON RANDOM FOREST
Frontera decisión RF. Tasa error = 5.56
1.5
Se empleó un
1.0
bosque con 5000
árboles
0.5
¿Qué ha ocurrido
0.0
x2
con la tasa de
-0.5
error? Comparar
-1.0
con lda, qda,
CART y bagging
-1.5
- - - 0.0 0.5 1.0
1.5 1.0 0.5 1.5
x1
DOCUMENTACIÓN SOBRE RANDOM FOREST
Página Web de Leo Breiman:
[Link] Fallecido en julio de
2005
Página Web de Adele Cutler: [Link]
Página Web de Salford Systems: [Link]
Versión comercial. White papers y muchas aplicaciones de RF
en consultoría
¡Gracias!
San Marcos Data Science Community
Auspicio : Escuela Académica Profesional de Estadística
San Marcos Data Science Community. C
¿PREGUNTAS?
REALICEMOS EL TALLER