INTRODUCCIÓN A LA IA
RANDOM
FOREST
Integrantes:
CAMILO PEÑUELA ESPINOSA
JULIAN RODRIGUEZ CÉSPEDES
HISTORIA Y PROPÓSITO
Random Forest, conocido en español como
Bosque Aleatorio, es un algoritmo desarrollado
por Leo Breiman y Adele Cutler a principios de
la década de 2000. La técnica surgió como una
evolución de los árboles de decisión
tradicionales, con el objetivo de mejorar la
precisión de las predicciones y reducir el
problema del sobreajuste (overfitting) que es
común en los árboles de decisión individuales.
Leo Breiman
El propósito de Random Forest es combinar
múltiples árboles de decisión para crear un
modelo más robusto y generalizable. Al
introducir aleatoriedad en el muestreo de
datos y la selección de características, se
reduce la correlación entre árboles, lo que
disminuye la varianza y mejora la capacidad
de generalización del modelo en nuevos
datos.
DEFINICIÓN Y TIPO
DE APRENDIZAJE
DEFINICIÓN T. DE APRENDIZAJE
Random Forest es un algoritmo de Random Forest es un método de
aprendizaje automático que construye y aprendizaje supervisado, lo que significa
combina múltiples árboles de decisión que aprende de datos de entrenamiento
para mejorar la precisión y estabilidad de etiquetados para hacer predicciones
las predicciones. Cada árbol en el bosque sobre nuevos datos. Es versátil y puede
es construido a partir de un subconjunto utilizarse tanto en problemas de
aleatorio del conjunto de datos y utiliza clasificación, donde se predicen
una selección aleatoria de características categorías discretas, como en problemas
en cada división. El modelo final realiza de regresión, donde se predicen valores
predicciones basadas en la agregación continuos.
(votación o promedio) de las predicciones
de todos los árboles individuales.
CONCEPTOS CLAVES
Ensemble Learning
El ensemble learning o aprendizaje conjunto es una técnica que
combina las predicciones de múltiples modelos individuales para
obtener una predicción final más precisa y robusta. La idea es que, al
promediar o combinar las decisiones de varios modelos, se pueden
compensar los errores individuales y mejorar la capacidad de
generalización del modelo conjunto.
Bagging (Bootstrap Aggregating)
El bagging es una técnica que implica la generación de múltiples
conjuntos de datos de entrenamiento mediante muestreo aleatorio
con reemplazo (bootstrap) del conjunto de datos original. Cada
conjunto de datos bootstrap es utilizado para entrenar un modelo
individual. Al combinar las predicciones de estos modelos, se reduce la
varianza y se mejora la estabilidad del modelo final.
CONCEPTOS CLAVES
Árboles de Decisión
Los árboles de decisión son modelos que representan decisiones y sus
posibles consecuencias en forma de un árbol. Cada nodo interno
representa una prueba sobre una característica, cada rama
representa el resultado de la prueba, y cada hoja representa una clase
o valor de predicción. Son fáciles de interpretar pero propensos al
sobreajuste si no se podan adecuadamente.
En Random Forest, los árboles de decisión se construyen de manera
aleatoria y se combinan para formar un modelo más robusto. La
aleatoriedad se introduce en dos niveles:
1. Muestreo de datos: Cada árbol es entrenado con un subconjunto
aleatorio de los datos de entrenamiento.
2. Selección de características: En cada nodo de división, se considera
un subconjunto aleatorio de características en lugar de todas las
disponibles.
PASOS DEL ALGORITMO
Creación de Construcción de Agregación de
Subconjuntos de Datos Árboles de Decisión predicciones
Se generan múltiples Para cada subconjunto de datos, se Clasificación: Cada árbol emite una
subconjuntos de datos de construye un árbol de decisión completo sin predicción de clase. La clase final se
entrenamiento mediante poda. determina por votación mayoritaria entre las
muestreo aleatorio con En cada nodo de división, en lugar de predicciones de todos los árboles.
reemplazo del conjunto de considerar todas las características Regresión: Se calcula el promedio de las
datos original. posibles, se selecciona aleatoriamente un predicciones numéricas de todos los árboles
subconjunto de características. para obtener el valor final.
EJEMPLO DE APLICACIÓN
Imaginemos que trabajamos en una empresa de telecomunicaciones y queremos
predecir si un cliente va a cancelar su servicio (abandono de clientes o churn)
basándonos en varios factores.
Características del Conjunto de Datos:
Duración del contrato: mensual, anual, bianual.
Tipo de servicio: internet, televisión por cable, telefonía.
Número de quejas en los últimos seis meses.
Uso promedio mensual de datos.
Pago automático: sí o no.
Historial de pagos atrasados: número de veces.
Participación en programas de fidelización: sí o no.
EJEMPLO DE APLICACIÓN
Imaginemos que trabajamos en una empresa de telecomunicaciones y queremos
predecir si un cliente va a cancelar su servicio (abandono de clientes o churn)
basándonos en varios factores.
Muestreo de Datos (Bagging)
Generación de Subconjuntos:
1. A partir del conjunto de datos original de clientes, creamos múltiples
subconjuntos de datos mediante muestreo aleatorio con reemplazo.
2. Cada subconjunto puede contener clientes repetidos y algunos clientes del
conjunto original pueden no aparecer en ciertos subconjuntos.
EJEMPLO DE APLICACIÓN
Construcción de Árboles de Decisión
Creación de Árboles:
Para cada subconjunto de datos, construimos un árbol de decisión completo sin
realizar poda.
Selección Aleatoria de Características:
En cada nodo donde el árbol debe decidir por qué característica dividir,
seleccionamos aleatoriamente un subconjunto de características.
Por ejemplo, en lugar de considerar todas las características, el árbol solo
considera tres características seleccionadas al azar, como "tipo de servicio",
"pago automático" y "número de quejas".
División de Datos:
El árbol evalúa las características seleccionadas para encontrar la mejor
manera de dividir los datos en ese nodo, buscando maximizar la separación
entre clientes que cancelan y los que no.
EJEMPLO DE APLICACIÓN
Agregación de Predicciones
Predicción Individual de Cada Árbol:
Al presentar un nuevo cliente al modelo, cada árbol individual realiza una
predicción sobre si el cliente cancelará o no el servicio.
Votación Mayoritaria:
Las predicciones de todos los árboles se combinan mediante votación
mayoritaria.
Si la mayoría de los árboles predicen que el cliente va a cancelar, el modelo
final predice que el cliente cancelará.
Si la mayoría predice que no cancelará, el modelo predice que el cliente
continuará con el servicio.
FORTALEZAS
ALTA PRECISIÓN
Al combinar múltiples árboles, Random Forest
generalmente proporciona predicciones más precisas
que los árboles de decisión individuales.
ROBUSTEZ AL SOBREAJUSTE
La aleatoriedad en el muestreo de datos y selección de
características reduce la correlación entre los árboles y
disminuye la varianza, mitigando el riesgo de sobreajuste.
VERSATILIDAD
Puede manejar tanto tareas de clasificación como de
regresión y funciona bien con datos que tienen relaciones
no lineales.
MANEJO DE DATOS FALTANTES
Es capaz de mantener la precisión incluso cuando hay
datos faltantes.
ESCALIBILIDAD
Puede manejar grandes conjuntos de datos con alta
dimensionalidad.
LIMITACIONES
CONSUMO DE RECURSOS
Entrenar y almacenar múltiples árboles puede ser intensivo en términos
de memoria y tiempo computacional, especialmente con grandes
conjuntos de datos.
INTERPRETABILIDAD REDUCIDA
A diferencia de un árbol de decisión individual, Random Forest es más
difícil de interpretar debido a la combinación de múltiples árboles.
SENSIBILIDAD A DATOS DESEQUILIBRADOS
Puede tener dificultades para modelar clases minoritarias en conjuntos
de datos altamente desequilibrados.
NO EXTRAPOLA BIEN
En problemas de regresión, no puede predecir valores fuera del rango
observado en los datos de entrenamiento.
VARIABLES CATEGÓRICAS CON MUCHOS NIVELES
Puede ser menos eficaz cuando se trabaja con variables categóricas
que tienen muchos niveles únicos.
APLICACIONES Y CASOS
DE USO
MEDICINA Y SALUD FINANZAS Y BANCA
Detección de transacciones
Diagnóstico de enfermedades
fraudulentas analizando patrones
basadas en síntomas y resultados de
inusuales.
pruebas.
Evaluación de riesgo crediticio y
Análisis de imágenes médicas para
predicción de incumplimiento de
detectar anomalías o enfermedades.
préstamos.
AGRICULTURA MARKETING Y VENTAS:
Predicción de rendimientos de cultivos Segmentación de clientes y
basándose en factores ambientales. predicción de comportamiento de
Clasificación de tipos de suelo o compra.
enfermedades de plantas. Personalización de ofertas y
recomendaciones de productos.
EJEMPLO PRÁCTICO / CASO REAL
Detección de Fraude Financiero
Las instituciones financieras enfrentan constantemente el desafío de identificar y prevenir
actividades fraudulentas. Random Forest puede ser utilizado para analizar grandes
volúmenes de datos transaccionales y detectar patrones asociados con el fraude.
Datos Utilizados:
Detalles de transacciones: monto, fecha, hora, ubicación.
Información del cliente: historial de transacciones, comportamiento de gasto.
Características derivadas: frecuencia de transacciones, desviación de patrones
habituales.
EJEMPLO PRÁCTICO / CASO REAL
Proceso:
1. Entrenamiento del Modelo:
Se recopilan datos históricos de transacciones etiquetadas como
fraudulentas o legítimas.
Se entrena el modelo Random Forest utilizando estas características para
aprender patrones asociados con el fraude.
2. Predicción:
Para cada nueva transacción, el modelo evalúa la probabilidad de que sea
fraudulenta.
Si la probabilidad supera un umbral definido, se genera una alerta para
revisión manual o se bloquea la transacción automáticamente.
EJEMPLO PRÁCTICO / CASO REAL
Beneficios:
Precisión Mejorada: Al combinar múltiples árboles, el modelo puede capturar
complejas interacciones entre variables que indican fraude.
Reducción de Falsos Positivos: La robustez del modelo disminuye la cantidad
de transacciones legítimas marcadas incorrectamente.
Respuesta Rápida: Permite una detección en tiempo real, protegiendo a los
clientes y a la institución financiera.
EJEMPLO PRÁCTICO / CASO REAL
Contexto:
Usamos un dataset llamado: [Link]. El cual contiene transacciones de
tarjetas de crédito realizadas en Europa en un período de dos días en septiembre
de 2013.
Time: Esta columna representa el tiempo transcurrido desde la primera
transacción registrada en el conjunto de datos. Esto ayuda a analizar los
patrones de transacciones a lo largo del tiempo.
V1, V2, ..., V28: Estas son variables obtenidas mediante un análisis de
componentes principales (PCA). Dado que los datos de transacciones de
tarjetas de crédito son sensibles, se aplicó PCA para anonimizar las
características originales (como monto de la compra, ubicación, detalles del
comerciante, etc.).
EJEMPLO PRÁCTICO / CASO REAL
Amount: Este campo representa el monto de la transacción. Aunque es un
valor original y no anonimizado, se mantiene en su escala real y ayuda a
identificar si el monto puede estar relacionado con la probabilidad de fraude.
Class: Esta es la etiqueta de salida o variable objetivo. Indica si la transacción
fue fraudulenta o no:
0: Transacción legítima.
1: Transacción fraudulenta.
EJEMPLO PRÁCTICO / CASO REAL
La matriz de confusión
muestra el rendimiento del
modelo en términos de
verdaderos positivos, falsos
positivos, verdaderos
negativos y falsos Verdaderos negativos Falsos Positivos
negativos. En esta matriz:
Positivo: Transacción
Fraudulenta (Clase 1)
Negativo: Transacción
Legítima (Clase 0) Falsos Negativos Verdaderos Positivos
EJEMPLO PRÁCTICO / CASO REAL
Para la clase 1:
EJEMPLO PRÁCTICO / CASO REAL
Para la clase 0:
EJEMPLO PRÁCTICO / CASO REAL
Desempeño en la Clase Mayoritaria (Legítimas)
El modelo tiene un desempeño casi perfecto en la identificación de
transacciones legítimas.
Solo clasificó erróneamente una transacción legítima como
fraudulenta (FP).
Desempeño en la Clase Minoritaria (Fraudulentas)
El modelo logró identificar correctamente el 85% de las transacciones
fraudulentas.
Sin embargo, dejó pasar el 15% (9 de 62) de las transacciones
fraudulentas como legítimas (FN).
EJEMPLO PRÁCTICO / CASO REAL
Implicaciones Prácticas
Falsos Positivos (FP):
Cantidad: 1
Impacto: Una transacción legítima fue marcada como
fraudulenta, lo que podría causar una molestia al cliente si se
bloquea su transacción o se requiere verificación adicional.
Falsos Negativos (FN):
Cantidad: 9
Impacto: Nueve transacciones fraudulentas no fueron detectadas,
lo que representa una pérdida financiera y potencial daño a la
reputación del banco o institución financiera.
COMPARACIÓN CON OTRAS TÉCNICAS
Escenarios donde esta Técnica es Preferible
Datos con Relaciones No Lineales:
Random Forest es capaz de capturar relaciones no lineales y
complejas entre las variables, a diferencia de modelos lineales que
asumen una relación lineal.
Datos con Muchas Características y Ruido:
La selección aleatoria de características en cada división ayuda a
manejar conjuntos de datos con muchas variables y reduce el
impacto de las características irrelevantes o ruidosas.
COMPARACIÓN CON OTRAS TÉCNICAS
Escenarios donde esta Técnica es Preferible
Necesidad de un Modelo Robusto y Preciso sin Mucho Ajuste:
Random Forest generalmente funciona bien con valores
predeterminados de hiperparámetros y requiere menos ajuste en
comparación con otros modelos como SVM o redes neuronales.
Interpretación de Importancia de Variables:
Proporciona información sobre qué características son más
importantes para las predicciones, lo que es útil para la
comprensión del problema y la toma de decisiones.
COMPARACIÓN CON OTRAS TÉCNICAS
Escenarios donde esta Técnica es Preferible
Datos con Relaciones No Lineales:
Random Forest es capaz de capturar relaciones no lineales y
complejas entre las variables, a diferencia de modelos lineales que
asumen una relación lineal.
Datos con Muchas Características y Ruido:
La selección aleatoria de características en cada división ayuda a
manejar conjuntos de datos con muchas variables y reduce el
impacto de las características irrelevantes o ruidosas.
COMPARACIÓN CON OTRAS TÉCNICAS
Escenarios donde esta Técnica es Preferible
Necesidad de un Modelo Robusto y Preciso sin Mucho Ajuste:
Random Forest generalmente funciona bien con valores
predeterminados de hiperparámetros y requiere menos ajuste en
comparación con otros modelos como SVM o redes neuronales.
Interpretación de Importancia de Variables:
Proporciona información sobre qué características son más
importantes para las predicciones, lo que es útil para la
comprensión del problema y la toma de decisiones.
COMPARACIÓN CON OTROS ALGORITMOS
Árboles de Decisión Individuales
Ventajas sobre Árboles Individuales:
Mayor precisión y generalización debido a la reducción de la
varianza.
Menor riesgo de sobreajuste al promediar múltiples árboles.
Desventajas:
Menor interpretabilidad en comparación con un solo árbol.
COMPARACIÓN CON OTROS ALGORITMOS
Support Vector Machines (SVM)
Ventajas de Random Forest:
Más eficiente con grandes conjuntos de datos y cuando el
número de características es alto.
Maneja mejor datos con ruido y variables categóricas.
Desventajas:
SVM puede ser más efectivo en espacios de alta
dimensionalidad y cuando las clases son separables.
CONCLUSIONES
Versatilidad y aplicaciones
Robustez y precisión
Fundamentos técnicos eficientes
Considerar ciertas limitaciones
Comparación en escenarios favorables
Impacto práctico
GRACIAS
Por su atención