Introducción al
Análisis Predictivo de Datos
CONCEPTOS BÁSICOS Y DIRECTRICES
Alex Moreno
Julio2024
Minería de Datos
La Minería de Datos (Data Mining) es el proceso de extracción de
conocimiento (relaciones, patrones, anomalías) en un conjunto
de datos, usando técnicas de modelización provenientes de
otras ramas como la estadística y aprendizaje automático
(Witten, Frank & Hall, 2011), de tal manera que convierten los
datos en conocimiento e información disponible (Tsiptsis &
Chorianopoulos, 2009) y permite a las personas tomar decisiones
basadas en información (North, 2012) para aumentar los
ingresos, reducir costos, mejorar la relación con los clientes,
reducir los riesgos, entre otras aplicaciones (Bucheli &
Thompson, 2014)
Estadística
La Estadística se divide en:
Estadística Descriptiva
Estadística Inferencial
Ejemplo:
Participación de Percha de “Del Sur” en supermercados de Ecuador
Decisión Estratégica:
Incrementar presencia el “Mi
Comisariato”
Decisiones Tácticas:
* Negociación con cadena
* Promoción al consumidor
Decisiones Operativas:
* Incrementar producción 5%
* Enviar camiones solo para Mico
Estadística Descriptiva
Estadística Inferencial
Usualmente contamos con una
muestra de la población que
queremos estudiar.
Entonces lo que observamos en la
muestra, “asumimos” o “inferimos”
que también ocurre en la población.
Por ello, es importante que la muestra
sea buena, es decir, que sea
representativa y aleatoria (elegida al
azar).
Si la muestra es igual a toda la población,
decimos que es un censo.
Estadística vs Aprendizaje Automático
Ciencias orientadas al análisis
de datos, que hacen
Aprendizaje
Estadística predicciones o generalizaciones
automático
a partir de datos
Muestra Fuente de
Aprendizaje
representativa Estadística Experiencia: BDD
población automático disponible
La era del BIG DATA
El término "Big Data" se refiere a la masiva cantidad de datos generados en la
actualidad, provenientes de diversas fuentes como las redes sociales, el Internet de las
Cosas, y campos científicos como la genómica y la astrofísica. La capacidad de
almacenar y gestionar estos datos, reconocida por las organizaciones para mejorar la
toma de decisiones, ha cambiado el panorama del análisis.
Big Data se caracteriza por su Volumen, Variedad, Velocidad. La magnitud de datos
recopilados, supera todo lo acumulado en la historia y sigue creciendo
exponencialmente. Esto implica un aumento en el tamaño de las muestras para
estudios, acceso casi instantáneo a datos para experimentación en línea y análisis
longitudinal más común.
Los analistas se enfrentan al desafío de interpretar significados estadísticos cuando las
muestras grandes hacen que todo parezca significativo, y deben adoptar nuevas
metodologías para manejar la escala y complejidad de los datos disponibles.
Modelos Estadísticos vs Data Mining
Hair (et al) reconoce dos "culturas" de análisis:
Modelos de Datos Estadísticos: Se alinean con la visión clásica de modelos estadísticos,
donde el analista define un modelo estocástico (como regresión múltiple o logística) para
explicar y predecir resultados.
Modelos de Minería de Datos (Algorítmicos): Se centran en la predicción más que en la
explicación, asumiendo que el proceso es demasiado complejo para ser especificado
exactamente por un modelo.
Los modelos estadísticos buscan explicar el proceso y probar teorías, mientras que los
modelos algorítmicos buscan predecir resultados sin necesidad de explicar el proceso.
Reconocer las fortalezas y debilidades de cada enfoque es crucial, ya que Big Data
requiere de insights más profundos en una variedad de contextos. Ambos enfoques son
complementarios y pueden ofrecer beneficios al ser aplicados en conjunto, dependiendo
de si el objetivo es la explicación o la predicción.
El Análisis Predictivo de Datos
El Análisis Predictivo de Datos es una disciplina clave en el ámbito de la ciencia de datos
que se enfoca en el uso de técnicas estadísticas, algoritmos de aprendizaje automático y
minería de datos para prever eventos futuros o tendencias a partir de datos históricos.
Se enfoca en analizar patrones y relaciones en los datos, identificar factores clave que
influyen en los resultados y generar predicciones precisas. Estas predicciones pueden
utilizarse para optimizar estrategias, tomar decisiones estratégicas, reducir riesgos,
mejorar la eficiencia operativa y mucho más. Los resultados pueden manifestarse en
forma de proyecciones numéricas, visualizaciones gráficas o recomendaciones para la
toma de decisiones.
Desde la predicción de ventas y el mantenimiento predictivo hasta la detección de
fraudes y la atención médica personalizada, el Análisis Predictivo se ha convertido en un
componente esencial para la toma de decisiones estratégicas y la optimización de
procesos en una amplia gama de campos.
Ejemplo Intuitivo de PREDICCION
Un problema de aprendizaje podría ser, para un banco, determinar la probabilidad de que
solicitantes de préstamos no los paguen posteriormente, por tanto:
• Tarea a aprender: reconocer y clasificar a los solicitantes como pagará\no pagará.
• Indicador de desempeño: Porcentaje de solicitantes correctamente clasificados
• Fuente de Experiencia: Base de datos de información histórica de clientes que han recibido
préstamos del banco, incluyendo el status de haberlos pagado o no.
El algoritmo buscará en la base de datos las características que mejor describen a los clientes que
si pagan y no pagan los préstamos.
Luego, proporcionará un modelo o una guía para que podamos clasificar a nuevos solicitantes de
préstamos, y se tomen las decisiones con mejor información.
Pero esto no queda ahí, pues en algún momento, los nuevos solicitantes serán clientes del banco
y su información alimentará la base de datos histórica. El algoritmo contará con nueva
información sobre la cual “aprender” nuevos modelos y mejorar sus predicciones.
Introducción al
Análisis Predictivo de Datos
APLICACIONES
Alex Moreno
Julio2024
Aplicaciones Prácticas del
Análisis Multivariado
Identificar los factores de riesgo
del cáncer de próstata:
Implica analizar datos demográficos y biomédicos
para encontrar correlaciones significativas. Por
ejemplo, estudios epidemiológicos pueden revelar
que hombres mayores, con historial familiar de la
enfermedad y ciertas variantes genéticas, tienen
mayor probabilidad de desarrollar cáncer de
próstata
Aplicaciones Prácticas del
Análisis Multivariado
Clasificar un fonema grabado
basándose en un log-
periodograma.
Implica analizar la frecuencia y la intensidad del
sonido. El log-periodograma convierte las
frecuencias de la grabación en una escala
logarítmica, destacando las características
distintivas del fonema. Los picos en el gráfico
ayudan a identificar y clasificar el fonema según su
firma acústica única.
Aplicaciones Prácticas del
Análisis Multivariado
Predecir si alguien sufrirá un
ataque cardíaco basándose en
mediciones demográficas,
dietéticas y clínicas.
Requiere analizar variables como edad, presión
arterial, hábitos alimenticios, niveles de colesterol y
antecedentes familiares. Utilizando modelos
predictivos, se evalúa la probabilidad de un evento
cardíaco en un individuo, permitiendo
intervenciones preventivas personalizadas basadas
en su perfil de riesgo específico.
Aplicaciones Prácticas del
Análisis Multivariado
Personalizar un sistema de
detección de spam de correo
electrónico.
Entrenar algoritmos de aprendizaje automático con
ejemplos de correos electrónicos del usuario,
distinguiendo entre spam y mensajes legítimos. El
sistema aprende a partir de las características
específicas del correo deseado y no deseado del
usuario, mejorando así la precisión de la filtración.
Aplicaciones Prácticas del
Análisis Multivariado
Identificar los números en un
código postal escrito a mano.
Mediante técnicas de visión por computadora y
aprendizaje profundo. Un algoritmo analiza la
imagen del texto, reconoce patrones y formas de
los dígitos, y los traduce en números digitales
correspondientes, permitiendo la automatización
del procesamiento y clasificación de
correspondencia.
Aplicaciones Prácticas del
Análisis Multivariado
Establecer la relación entre
salario y variables
demográficas en los datos de
encuestas de población.
Se puede establecer cómo factores
demográficos como edad, género, educación
y experiencia laboral se correlacionan con el
salario. Este análisis ayuda a identificar qué
variables tienen mayor impacto en los
ingresos y a comprender las dinámicas del
mercado laboral.
Aplicaciones Prácticas del
Análisis Multivariado
Clasificar los píxeles de una
imagen LANDSAT, por uso
Implica asignar cada píxel a una categoría de uso de
tierra, como urbano, agrícola o forestal, basándose
en sus firmas espectrales. Algoritmos de
clasificación procesan estas firmas para diferenciar
y mapear la cobertura terrestre, facilitando el
análisis ambiental y la planificación territorial.
Aplicación en Guayaquil
Identificación de la cobertura arbórea
de Guayaquil urbano usando técnicas
de inteligencia artificial.
Por María Fernanda Jurado Mantilla.
Se analiza la cobertura arbórea en Guayaquil, mostrando
que el 26% de la superficie urbana está cubierta por
arboleda, aunque el 80% de esta cobertura se localiza en el
38% del territorio, dejando el 62% del área con solo el 20%
de cobertura arbórea.
https://twitter.com/espol/status/1447612517916762121
https://www.eluniverso.com/larevista/ecologia/26-de-la-superficie-urbana-de-guayaquil-tiene-
cobertura-arborea-segun-estudio-de-graduados-de-la-espol-nota/
Introducción al
Análisis Predictivo de Datos
CONCEPTOS BÁSICOS
Alex Moreno
Julio2024
Conceptos Básicos
La terminología usada en el aprendizaje automático es diferente a la usada en estadística, por tanto, cada vez
que sea preciso haremos mención de los términos que se refieren a ideas similares
Concepto se refiere a lo que deseamos aprender. Luego, los resultados de cualquier proceso de aprendizaje
deben ser una “Descripción del Concepto” que sea inteligible (comprendido, discutido y cuestionado) y
operacional (pueda ser aplicable a datos actuales).
La información sobre la que trabaja la minería de datos, en su forma
más sencilla, está organizada como una simple matriz (base de
datos, tabla, muestra, fuente de experiencia, archivo plano) donde
las filas corresponden a las
instancias/casos/observaciones/ejemplos (individuos\ empresas\
unidades de investigación\ lugares\ pacientes\ consumidores) y las
columnas corresponden a los
atributos/variables/características/factores que miden diferentes
aspectos de dichas instancias.
En este curso, nos enfocaremos en las situaciones donde cada
instancia representa una muestra independiente del concepto que
deseamos aprender. Nos referiremos a los datos suministrados de
esta forma como “conjunto de datos”.
Conceptos Básicos
Retomando el ejemplo anterior, podemos precisar:
• Concepto: clientes con créditos del banco. Deseamos conocer cuáles son las condiciones que
caracterizan a clientes con un alto potencial de no pagar los créditos.
• Instancias: conjunto de registros de clientes actuales
• Atributos: características de clientes, por ejemplo, edad, género, nivel de estudios, posesión de
tarjetas de crédito, nivel de ingresos, estado civil, ocupación, etc. Se incluye además el status de
pago real.
• Descripción del concepto: resultado que describe cuales clientes es probable que paguen su
crédito y cuáles no, en base a sus atributos. Esto sirve para evaluar nuevos clientes.
Tipos de Datos
Niveles de Medida:
Razón
(Media Geo)
Intervalo
(Edad, Años)
(Media, DE)
Ordinal
(Temperatura) Métricas Métricas
(Perc, Med)
Nominal (Nivel Estudios) Categóricas
(Frec, Moda) Métricas
(Sexo)
Categóricas
Nominal Numérico Fecha
Tipo de dato \
tipo de almacenamiento
Texto Otros*
Software y Herramientas para el Análisis
Multivariado
Introducción al
Análisis Predictivo de Datos
TIPOS DE ALGORITMOS
Alex Moreno
Julio2024
Tipos de Algoritmo de Aprendizaje
En función al objetivo de aprendizaje: “Descubrir”, “Predecir”, ”Autoaprender”
Segmentación
No Supervisados Asociación Conglomerados
(simétricos) Secuencias
Reglas de Asociación
Supervisados Clasificación Individuales
(asimétricos) Regresión Combinados
No recibe
Usados mayormente
Por refuerzo retroalimentación
en robótica
inicial
Clasificación de las técnicas multivariadas
Interdependencia / Descriptivos / No Supervisados
Técnicas
Multivariantes
Dependencia / Predictivos / Supervisados
Interdependencia / Descriptivos / No Dependencia / Predictivos / Supervisados
Supervisados Se identifican variables dependientes, y el
Se analizan todas las variables en conjunto para objetivo es predecir o explicar estas
identificar patrones y estructuras subyacentes. variables a través de otras llamadas
Son particularmente útiles para la reducción de independientes. Estas técnicas son útiles
dimensionalidad, identificación de grupos y para modelar y entender las relaciones
permitir una comprensión más profunda de las causales o las conexiones predictivas entre
relaciones entre un conjunto de variables. “No variables. “Se conocen las respuestas a
se conocen las respuestas a priori.” priori.”
Técnicas Módulo Análisis Multivariado Datos
Términos equivalentes: ACP Componentes Reducir dimensionalidad. Pasar de varias a pocas variables
casos=observaciones=ejemplos=instancias
Principales métricas, manteniendo la mayor variabilidad posible.
variables=atributos=características
categoría=clase=nivel=etiqueta
variable categórica=cualitativa=multinomial=binaria
variable métrica=continua=cuantitativa=valores Estructura de AFE Factorial Explora las relaciones subyacentes entre un conjunto de
Variables Exploratorio variables observadas. (métricas)
AFC Factorial Evalúa y valida la estructura de un modelo factorial
Interdependencia
Confirmatorio propuesto. (vars. métricas)
Descriptivas
NoSupervisadas
Todas las variables Identifica grupos naturales dentro de los datos para
Clústers Jerárquico
se tratan igual segmentación y personalización (métricas/categóricas)
Estructura de
Casos
Técnicas
Algoritmos
Clústers No Kmedias - Agrupa observaciones similares en clusters para
Jerárquico identificar patrones y segmentos. (métricas/categóricas)
Modelos
Regresión Lineal Pronosticar una variable métrica, basada en variables
Regresión
Múltiple predictoras métricas/dummies
Dependencia
Predictivas Pronosticar una variable binaria, basada en variables
Regresión
Supervisadas
Logística predictoras métricas/dummies
1 var. dependiente,
Clasificación
demás predictoras
Pronosticar una variable multinomial, basada en variables
Naive Bayes
predictoras métricas/dummies
Técnicas Supervisadas
Clasificadores Individuales
Redes
Neuronales
Reglas de
SVM
Clasificación
Modelos
Lineales
Árboles de
Decisión Lazy
Modelos Múltiples
Bayesianos Instancias
Técnicas Supervisadas
Clasificadores Combinados
Bagging y Boosting Stacking
Arbol 1 Modelo Arbol
Arbol 2
Bayes
Arbol n SVM
Clasificación Clasificación
Combinada Combinada
Bagging C1,C2
,..,Cn
C1,C2
Boosting ,..,Cn
Técnicas Supervisadas
Clasificadores Combinados
Bagging Técnica de aprendizaje combinado, que mejora la
estabilidad del modelo.
Combina modelos del mismo tipo.
Arbol 1
Arbol 2 Genera varios modelos, con diferentes conjuntos de
entrenamiento obtenidos por muestreo con reposición
Arbol n
del conjunto de datos de entrenamiento. Finalmente,
utiliza Voting (para clasificación) o promedio (para
predicción numérica) para combinar los resultados de
cada modelo, dando a todos la misma
Clasificación importancia. (Breiman, 1996a); (Quinlan, 2006)
Combinada
C1,C2,..,Cn
Técnicas Supervisadas
Clasificadores Combinados
Boosting Técnica de aprendizaje combinado, que aumenta la exactitud
del modelo.
Arbol 1
Combina modelos del mismo tipo.
Arbol 2 Primero genera un modelo con todas las instancias. Luego,
genera nuevos modelos sobre las instancias mal clasificadas
Arbol n del anterior. Finalmente, utiliza Voting (para clasificación) o
promedio (para predicción numérica) para combinar los
resultados de cada modelo, pero ponderando cada uno de los
modelos.
Clasificación (Schapire, 2007); (Schapire, 1990); (Freund & Schapire, 1996)
Combinada
C1,C2,..,Cn
Técnicas Supervisadas
Clasificadores Combinados
Stacking
Técnica de aprendizaje combinado, que
Modelo Arbol puede combinar modelos de
Bayes
diferentes tipos.
SVM Utiliza las predicciones de cada modelo
como datos de entrada para
aplicar un nuevo algoritmo supervisado, e
identificar cual clasificador es el más
Clasificación confiable.
Combinada
(Breiman, 1996b)
Tipos de Algoritmo de Aprendizaje
En función al objetivo de aprendizaje: “Descubrir”, “Predecir”, ”Autoaprender”
Aprendizaje Supervisado
El objetivo es predecir un evento (valor específico de una variable categórica) o estimar valores de una variable
continua. Una variable tendrá un rol como objetivo y las demás serán las predictoras (de entrada). Los modelos
construidos están “supervisados” por las relaciones evaluadas entre la variable objetivo y las predictoras. Estos
algoritmos se subdividen en algoritmos de Clasificación y de Regresión:
Clasificación:
Son aquellos donde la variable objetivo es Categórica. A dicha variable se la denomina Etiqueta y a sus categorías
se les llama Clase. Decimos, entonces que, desde un inicio, el algoritmo trabaja sobre un conjunto de instancias
etiquetadas, y donde además cada instancia tiene una sola clase. Para medir el desempeño de los algoritmos de
clasificación, se utiliza comúnmente la “tasa de error” que registra el % de errores de clasificación. Se presentan
además otros elementos como la matriz de confusión que muestra los aciertos y errores de clasificación por cada
clase, los “Lift charts” o “ROC Curves”, que relacionan la ganancia predictiva del modelo vs. un modelo base
aleatorio, u otros. Otro elemento a considerar son los costos de clasificación errónea, por ejemplo, en el área de
la salud, clasificar a un cliente crítico como sano, tiene mayor implicación que lo contrario.
Tipos de Algoritmo de Aprendizaje
En función al objetivo de aprendizaje: “Descubrir”, “Predecir”, ”Autoaprender”
Aprendizaje Supervisado
El objetivo es predecir un evento (valor específico de una variable categórica) o estimar valores de una variable
continua. Una variable tendrá un rol como objetivo y las demás serán las predictoras (de entrada). Los modelos
construidos están “supervisados” por las relaciones evaluadas entre la variable objetivo y las predictoras. Estos
algoritmos se subdividen en algoritmos de Clasificación y de Regresión:
Regresión
Son algoritmos donde la variable objetivo es Numérica. Construyen funciones. Son útiles para predecir:
• Ingresos esperados de un sector el siguiente año.
• Volumen de tráfico de nuevos clientes en la red de telefonía de un operador.
• Estimar la cantidad de envases reciclados por entidades medio-ambientales.
En el conjunto de instancias inicial se conoce el valor de real de la variable objetivo. Junto al modelo y a la predicción, se
proporciona una serie de medidas de error (residuos, diferencias entre los valores reales y la predicción) pues su análisis
toma particular interés. Así tenemos medidas de correlación, error relativo, media del error o media del error al
cuadrado, media del error absoluto (MAE) y media del error porcentual absoluto (MAPE). El examen de los errores del
modelo merece especial atención, pues no solo nos sirve para evaluar el desempeño del modelo predictivo, sino
además puede ayudarnos a detectar anomalías o casos anormales, es decir signos de un comportamiento sospechoso e
interesante.
Tipos de Algoritmo de Aprendizaje
En función al objetivo de aprendizaje: “Descubrir”, “Predecir”, ”Autoaprender”
El ejemplo al que hemos hecho referencia, donde deseamos conocer cuáles son las
condiciones que caracterizan a clientes con un alto potencial de no pagar los créditos,
corresponde a un problema de clasificación.
Note que se proporciona una base de datos histórica, donde se conoce el status real
(Pago\No Pago) de los clientes, la cual se convierte en la variable objetivo, y el resto de
características serán las variables predictoras.
El algoritmo construye un modelo y con él una variable con la predicción del status, la cual se
compara con el status real para evaluar su desempeño, y le permitirá aprender para generar
nuevos modelos más precisos. El resultado no solo es la predicción, sino el modelo que
ilustra con detalle el mecanismo para clasificar a nuevos solicitantes en función de sus
características.
Técnicas no supervisadas
K-Medias
EM
Apriori
Tipos de Algoritmo de Aprendizaje
En función al objetivo de aprendizaje: “Descubrir”, “Predecir”, ”Autoaprender”
Aprendizaje No Supervisado
El objetivo es descubrir patrones no evidentes en el conjunto de datos. Todas las variables juegan el mismo rol,
así los modelos construidos no consideran ninguna variable objetivo como en las técnicas supervisadas, donde
los datos tenían una clasificación inicial. Estos algoritmos se subdividen en algoritmos de Segmentación,
Asociación y Secuencias:
Segmentación
Estos métodos crean grupos o segmentos de las instancias a partir las similitudes de sus características. Estos grupos
no son conocidos inicialmente, sino que son revelados por el modelo, así pues, permite clasificar a nuevas instancias
en alguno de estos grupos revelados. Las instancias dentro de cada grupo son tan homogéneas como sea posible,
dadas las consideraciones de similitud indicadas al modelo, así como también las instancias de distintos grupos son lo
más heterogéneas posibles.
Tipos de Algoritmo de Aprendizaje
En función al objetivo de aprendizaje: “Descubrir”, “Predecir”, ”Autoaprender”
Aprendizaje No Supervisado
El objetivo es descubrir patrones no evidentes en el conjunto de datos. Todas las variables juegan el mismo rol,
así los modelos construidos no consideran ninguna variable objetivo como en las técnicas supervisadas, donde
los datos tenían una clasificación inicial. Estos algoritmos se subdividen en algoritmos de Segmentación,
Asociación y Secuencias:
Asociación y Secuencias
Estos modelos no implican la predicción directa de una sola variable. Más bien, todas las variables juegan un doble rol,
ya que actúan como predictoras y objetivo al mismo tiempo. Los modelos de asociación detectan asociaciones entre
eventos discretos, productos o atributos. Los modelos de secuencia detectan asociaciones en el tiempo. Los modelos
de asociación son más útiles cuando se desea pronosticar varios resultados conocidos, por ejemplo, los clientes que
adquirieron el producto X también adquirieron Y y Z. Usualmente estas técnicas son utilizadas en el Análisis del Carrito
de Mercado (market basket analysis) para revelar productos o servicios que pueden ser vendidos juntos.
Principales Algoritmos de Minería de datos
10 algoritmos más usados según (Wu et al., 2008)
1) Nominación 10 algoritmos por reconocidos miembros comunidad data mining (ACM KDD –Association of Computing Machinery – Knowledge
Discovery and Data Mining ; IEEE ICDM Institute of Electrical and Electronic Engineers International Conference on Data Mining
2) Verificación de Citaciones en Google Scholar en Oct2006. Filtrar +50 citaciones. Quedan 18 algoritmos.
3) Nueva votación de entre este grupo a miembros de la comunidad de minería de datos. KDD y IEEE. Selección 10 Finalistas.
Introducción al
Análisis Predictivo de Datos
Procesos de análisis
Alex Moreno
Jun2024
Un proceso simplificado de análisis…
Preprocesamiento
de Datos Análisis Comunicar
Análisis Validación y
Multivariado y resultados
(ETL: Extracción, Exploratorio de Selección de
verificación de (Técnicas
Transformación, Datos (EDA) Modelos
hipótesis Visualización)
Limpieza)
Un enfoque estructurado en entorno
empresarial
Para abordar cada técnica, seguiremos el proceso propuesto de Hair et al.:
• Etapa 1: Definir el problema de investigación, los objetivos y la técnica multivariada a ser
utilizada
• Etapa 2: Desarrollar el plan de análisis (consideraciones sobre la muestra, disponibilidad de
variables métricas/no métricas, métodos de estimación)
• Etapa 3: Evaluar los supuestos que subyacen a la técnica multivariada seleccionada (es decir,
si la técnica funcionará o tendrá limitaciones en función a los datos recolectados)
• Etapa 4: Estimar el modelo multivariado y determinar su nivel de eficacia (bondad de ajuste)
• Etapa 5: Interpretar los resultados del modelo (Valor Teórico)
• Etapa 6: Validar el modelo multivariado (asegurarse que los resultados en la muestra sean
generalizables a la población)
Finalmente, comunicar los resultados a usuarios claves/operativos
La Minería como un proceso
• Proceso CRISP-DM (Cross Industry Standard for Data Mining) (Kurgan & Musilek, 2006) (Piatetsky-Shapiro,
2014)
Fase Modelización
Estadística
Tipología
Jul2024
Estadística
La Estadística se divide en:
Estadística Descriptiva
Estadística Inferencial
Ejemplo:
Participación de Percha de “Del Sur” en supermercados de Ecuador
Decisión Estratégica:
Incrementar presencia el “Mi
Comisariato”
Decisiones Tácticas:
* Negociación con cadena
* Promoción al consumidor
Decisiones Operativas:
* Incrementar producción 5%
* Enviar camiones solo para Mico
Estadística Descriptiva
Estadística Inferencial
Usualmente contamos con una
muestra de la población que
queremos estudiar.
Entonces lo que observamos en la
muestra, “asumimos” o “inferimos”
que también ocurre en la población.
Por ello, es importante que la muestra
sea buena, es decir, que sea
representativa y aleatoria (elegida al
azar).
Si la muestra es igual a toda la población,
decimos que es un censo.
Naturaleza de los datos
Naturaleza de las variables
Jul2024
Escalas de Medición
Tipos de Datos según Escala de Medición
Cualitativos o
Cuantitativos
Categóricos
Escalas de Medición
Tipos de Datos según Escala de Medición
Ejemplos: También llamadas…
Clasifica datos en categorías mutuamente Tipo de vehículo (auto, moto),
Cualitativa/
Nominal excluyentes en las que no hay un orden o color (rojo, verde, azul), No Métrica
estado civil (soltero, casado) Categórica
rango inherente.
Datos en categorías ordenadas, pero las niveles de educación (secundaria,
Cualitativa/
Ordinal diferencias entre las categorías no son universitaria, posgrado), niveles No Métrica
de satisfacción (en escala Likert) Categórica
necesariamente iguales.
Escala que no solo categoriza y ordena, sino temperatura en grados, nivel PH,
Cuantitativa
Intervalo que también especifica que las distancias niveles de satisfacción (en escala Métrica
Likert)
entre cada intervalo son iguales. No tiene
un verdadero cero.
Similar a la escala intervalo, con la adición peso, altura, ingresos, distancia,
Cuantitativa
tiempo, edad, costos, precio Métrica
Razón de un cero absoluto, lo que permite la
comparación de diferencias y proporciones.
Escalas de Medición
.Las escalas de Likert son una herramienta ampliamente utilizada en la
investigación para medir actitudes, opiniones o percepciones.
• Los encuestados indican su nivel de
acuerdo o desacuerdo respecto a una EJEMPLOS DE ESCALAS LIKERT
afirmación, en una escala de 1 =Muy 2=Algo 3=Algo 4= Muy
múltiples puntos. desacuerdo desacuerdo deacuerdo deacuerdo
• Algunas escalas incluyen un punto
medio que representa una postura -2 =Muy -1=Algo
0=Neutral
1=Algo 2= Muy
neutral. Otras escalas no la incluyen desacuerdo desacuerdo deacuerdo deacuerdo
para “obligar” al encuestado a tomar
1 =Muy 3= Muy de
una postura positiva o negativa. 2=Neutral
desacuerdo acuerdo
• Controversia sobre su naturaleza:
algunos investigadores las consideran 1 =Muy 2=Algo 4=Algo 5= Muy
3=Neutral
de tipo ORDINAL, pero otros las desacuerdo desacuerdo deacuerdo deacuerdo
consideran de TIPO INTERVALO. ** En
1= Totalmente 2 =Muy 3=Algo 5=Algo 6= Muy 7= Totalmente
este curso las consideraremos de 4=Neutral
desacuerdo desacuerdo desacuerdo deacuerdo deacuerdo deacuerdo
intervalo.
Escalas de Medición
Análisis permisibles
Las escalas de intervalo y razón son métricas porque permiten el uso completo de
operaciones matemáticas.
Las escalas nominales y ordinales son no métricas porque no permiten más que operaciones
muy básicas, como contar frecuencias o establecer un orden.
Se puede: Nominal Ordinal Intervalo Razón
Contar P P P P
Moda P P P P
Distribución Frecuencias P P P P
Ordenar P P P
Mediana P P P
Media P P
Calcular diferencia entre dos valores P P
Sumar/Restar P P
Multiplicar/Dividir P
Tiene 0 que significa ausencia real del valor P
Registro en bases de datos
Nuestros datos se registrarán en formato de “tabla”, donde en filas
encontramos los casos/observaciones/instancias/ejemplos y en columnas
las variables/características/atributos
Ejemplo:
Esta base contiene datos de
una encuesta aplicada a varios
clientes.
La información de cada cliente
se registra en una fila. A una
fila también la llamamos caso
u observación.
Por otro lado, cada
característica evaluada, en este
caso, cada pregunta de la
encuesta, se registra en una
columna, también llamada
variable. Una base de datos,
pueden tener variables de
distinta naturaleza (nominal,
ordinal, de intervalo o razón).
Preparación de datos
multivariados
Alex Moreno
Jul2024
Examinar nuestros datos
Análisis Exploratorio de Datos / EDA
Datos Perdidos / Missing Data
Valores atípicos / Outliers
Transformaciones
Supuestos Estadísticos
Variables ficticias / Dummies
Preparación de datos
multivariados
Análisis Exploratorio de Datos
Jul2024
Análisis Exploratorio de datos
Análisis Individual (Univariado) Histograma
El objetivo es comprender como se distribuyen los valores de cada variable. Para
variables métricas tenemos :
• Un histograma que permite visualizar la distribución de los datos, identificar
patrones, picos, tendencias y posibles valores atípicos en el conjunto de datos.
Sobre el histograma, puede añadirse una curva normal que proporciona una
rápida comparación visual entre la distribución real de los datos y una
distribución teórica normal estándar. (puede ser útil para análisis posteriores). Boxplot
(diagrama de cajas)
• Un boxplot, o diagrama de caja y bigotes, muestra la distribución de los datos
mediante sus cuartiles. Incluye una caja que abarca desde el primer cuartil (Q1)
hasta el tercer cuartil (Q3), una línea dentro de la caja que indica la mediana
(Q2), y "bigotes" que se extienden hasta los valores máximo y mínimo,
excluyendo los valores atípicos, los cuales se representan con puntos Gráfico de barras
individuales.
• Para variables categóricas (nominales u ordinales) los gráficos anteriores no son
aplicables. En su lugar, podemos usar gráficos de barras sencillos, que muestran
la frecuencia de cada categoría de manera clara y sin suponer intervalos iguales
entre las categorías
Análisis Exploratorio de datos
Análisis en Parejas (Bivariado): Relaciones Scatterplot (Diagrama dispersión)
Un objetivo es entender las relaciones entre las dos variables.
• Scatterplot, o diagrama de dispersión, muestra la relación entre dos
variables métricas mediante puntos individuales. Cada punto
representa un par de valores correspondientes a las variables en los
ejes X e Y. Este gráfico es útil para identificar patrones, tendencias,
correlaciones o posibles anomalías en los datos. Scatterplot Matrix
• Una scatterplot matrix muestra las relaciones entre varias variables
métricas en un solo gráfico. Cada celda de la matriz compara dos
variables diferentes: la diagonal contiene histogramas de cada
variable, la parte triangular inferior muestra scatterplots que
ilustran la relación entre pares de variables, y la parte triangular
superior presenta los coeficientes de correlación para cuantificar la
fuerza y la dirección de esas relaciones.
Análisis Exploratorio de datos
Análisis en Parejas (Bivariado): Comparaciones
Otro objetivo es examinar las diferencias entre grupos, esto es Boxplot cruzado
comparar los valores de una variable métrica, en cada uno de los
grupos (categorías) de una variable categórica.
• Un Boxplot cruzado muestra la distribución de una variable métrica
para diferentes categorías de una variable categórica. Cada
categoría tiene su propio boxplot, lo que facilita la comparación de
la mediana, la dispersión y los valores atípicos entre las distintas
categorías.
Análisis Exploratorio de datos
Análisis multivariado Scatterplot con Glyps
A más variables, es más complejo representarlas gráficamente. En general, se
hace uso de las herramientas uni y bivariadas disponibles, para hacer
“combinaciones” con más variables. Por ejemplo:
• Un Scatterplot con glyps amplía la comprensión de la relación entre dos
variables, añadiendo una tercera variable que es representada con otro
elemento, por ejemplo, el color. También podría ser el tamaño (lo que
resultaría en un gráfico de burbujas)
Gráfico Radial
• Gráfico de Radar o Spider: Útil para comparar múltiples variables en un
solo gráfico circular. Cada variable se representa como un eje radial, y los
valores se trazan como coordenadas en el gráfico. Esto es útil para
comparar múltiples observaciones en varias dimensiones.
La elección de la estrategia de visualización dependerá del tipo de datos y de
las preguntas que estemos tratando de responder en el análisis.
Storytelling with Data: A Data Visualization Guide for Business Professionals
Preparación de datos
multivariados
Datos Perdidos / Missing Data
Jul2024
Datos Perdidos / Valores Faltantes / Missing Data
Los valores perdidos son entradas faltantes en un conjunto de
datos, representados por "NA", "NaN“, vacíos u otros marcadores.
Estos pueden surgir por diversas razones, como errores de
medición, falta de respuesta o corrupción de datos.
Impacto:
Dificultades: La presencia de valores perdidos puede introducir
sesgos y distorsiones en los resultados del análisis multivariado.
Complejidad: La interpretación de relaciones entre variables
puede verse afectada, ya que la falta de datos puede conducir a
conclusiones erróneas o inexactas.
Ejemplo: En la tabla, se muestran los datos de 5 variables y 20
casos(observaciones). Se resaltan en rojo los espacios donde no se
tienen valores de la variable 3, que presenta muchos valores
faltantes y por ende debemos evaluar si la variable entraría en el
análisis posterior. Por otro lado, se resaltan los valores faltantes
para el caso número 13, que prácticamente solo tiene un dato
válido. Ahora debemos evaluar si el caso 13 (observación 13) se
mantiene o no en el análisis.
Datos Perdidos / Valores Faltantes / Missing Data
Identificación y Tratamiento
Concepto Ejemplos Estrategias para manejarlos
Valores faltantes en un cuestionario
Eliminación simple de las
Aleatorios o al azar. No afectan la sobre preferencias de música debido a
Valores observaciones o variables con valores
validez del análisis si se eliminan. una omisión ocasional por parte de los
Perdidos perdidos.
Pueden tratarse mediante técnicas de encuestados.Datos climáticos faltantes
Ignorables Imputación utilizando métodos simples
imputación simples. debido a fallos intermitentes en la
como la media o la mediana.
estación meteorológica.
Datos de ingresos faltantes en una
encuesta socioeconómica debido a que
Sistemáticos o no aleatorios. Pueden Imputación más sofisticada utilizando
Valores las personas con ingresos más altos
introducir sesgos o distorsiones en los técnicas de modelado predictivo.
Perdidos tienden a no divulgar esta
resultados del análisis. Requieren un Consideración de métodos de
No información.Valores faltantes en una
enfoque más cuidadoso y específico imputación condicional en función de
Ignorables encuesta de satisfacción del cliente
para su manejo. otras variables relacionadas.
donde los clientes insatisfechos tienen
más probabilidades de no responder.
Datos Perdidos / Valores Faltantes / Missing Data
Ejemplo Imputación
V1 con dos valores
faltantes de 20,
3,7
debidos al azar.
Procedemos con
imputación
simple, calculando
el promedio con
los datos
disponibles, y
colocando este 3,7
valor en los
espacios vacíos.
Promedio Variable V1:
3,7
Preparación de datos
multivariados
Transformaciones
Jul2024
Transformaciones
La transformación de datos es un paso crucial en el preprocesamiento de
datos para asegurar que los métodos estadísticos y de machine learning
funcionen correctamente y produzcan resultados fiables. La elección de la
transformación adecuada depende del contexto del análisis y del tipo de
datos que se estén utilizando.
Ejemplos de Transformaciones Comunes:
• Z-Score: Estandariza los datos para tener una media de 0 y una desviación
estándar de 1.
• Min-Max Scaling: Normaliza los datos para que estén entre 0 y 1
• Logarítmica: Ayuda a manejar datos sesgados hacia la derecha.
• Raíz Cuadrada: Reduce la variabilidad en datos con alta dispersión.
Para que transformamos datos
• Escalado de Variables: Útil cuando se utilizan algoritmos que son sensibles a las escalas de las
variables, o cuando las variables tienen diferentes unidades o escalas. (Normalización /
Estandarización)
• Mejorar la Convergencia de los Algoritmos: Los algoritmos de optimización convergen más rápido y
de manera más estable cuando los datos están estandarizados o normalizados.
• Manejo de Outliers: Las transformaciones pueden ayudar a reducir el impacto de valores atípicos
(outliers) que pueden distorsionar el análisis.
• Cumplimiento de Supuestos Estadísticos: Algunos métodos estadísticos, como la regresión lineal,
asumen que los datos siguen una distribución normal. Transformar los datos puede ayudar a cumplir
con estos supuestos, mejorando la validez del análisis.
• Facilitar la Comparación de Variables: Cuando las variables tienen diferentes unidades y rangos, la
comparación directa puede ser difícil. Transformar los datos permite comparar variables en la misma
escala, facilitando la interpretación y análisis.
• Reducción de la Colinealidad. En modelos multivariados, la colinealidad (alta correlación entre
variables independientes) puede ser un problema. La estandarización puede ayudar a reducir este
problema
Escalamiento Var. Métricas
Normalización/Estandarizacíón
.Base Original Normalización / Z-Score → Recodificar variables a
BoxPlots Variables normalizadas Z-SCORE
Estado Murder Assault UrbanPop Rape
Alabama 13,2 236 58 21,2 escala “normal”, esto es con media 0 y desv est 1.
Alaska 10 263 48 44,5
Arizona 8,1 294 80 31
Fórmula: (Variable original - promedio )/ desv. estándar
Arkansas 8,8 190 50 19,5
California 9 276 91 40,6
Colorado 7,9 204 78 38,7
Connecticut 3,3 110 77 11,1 En la base de datos normalizada
Delaware 5,9 238 72 15,8 MurderZ AssaultZ UrbanPopZ RapeZ
Florida 15,4 335 80 31,9 Promedio 0,00 0,00 0,00 0,00
Georgia 17,4 211 60 25,8 Desv Est 1,00 1,00 1,00 1,00
En la base de datos original
Murder Assault UrbanPop Rape
Promedio 7,79 170,76 65,54 21,23
Desv Est 4,36 83,34 14,47 9,37
BoxPlots Variables normalizadas MIN-MAX
BoxPlots Variables originales Normalización min-max /basada en rangos →
Recodificar variables a escala de 0 a 1.
Fórmula: (Variable original - mínimo) / rango
Preparación de datos
multivariados
Variables Ficticias / Dummies
Jul2024
Creación Variables Ficticias
Transformar Variables Categóricas (no métricas) a métricas
. • Dummies: Para una variable con N categorías, se crean (N-1)
Cuando la variable original no puede
variables ficticias. Cada variable tendrá un 1 si es que se posee la
usarse directamente en una técnica,
característica, 0 si no se posee
se recodifica por cualquiera de ambos Ejemplo: V3 tiene 3 categorías, entonces se
métodos (dummies / one hot). En V1 V3 V3N V3C crean dos variables ficticias. Una se asocia
para Negro (V3N) y la otra para Café (V3C).
ambos casos, las nuevas variables Raúl 2 0 1 V3N tendrá 1 si la persona tiene ojos negros, 0
tienen propiedades METRICAS y Delia 2 0 1 si no. V3C tendrá 1 si la persona tiene ojos
pueden utilizarse en varias técnicas. cafés, 0 si no. No se crea variable para “Otros”,
José 3 0 0 porque queda automáticamente identificado,
Ejemplo:
V1 Nombre (texto)
Rosa 1 1 0 cuando una persona tiene 0 en negro y 0 en
V2 EstadoCivil 0=Soltero 1=Casado café (observar el caso de José).
V3 ColorOjos 1= Negro 2=Café 3=Otro
V4
V5
Educación
Nivel de Satisfacción
0=Primaria
2=Insatisfecho
1=Secundaria 2=Superior
4=Neutro 6=Satisfecho
• ONE-HOT. Se crea una variable por cada categoría original, y se
V6 Edad (años) asigna 1 si tiene la característica, 0 sino.
V7 TrabajaActualmente 1=Si 2=No
V8
V9
SueldoMesPasado
Altura
(dólares)
(metros)
V1 V3 V3N V3C V3O Si se crea la tercera variable V3O,
que tendrá 1 si la persona tiene
Raúl 2 0 1 0 ojos color “Otros”, 0 si no.
V1 V2 V3 V4 V5 V6 V7 V8 V9
Raúl 0 2 0 2 25 1 700 1,73 Delia 2 0 1 0
Delia 0 2 2 6 27 2 0 1,56 Uso principal en MACHINE
José 3 0 0 1 LEARNING
José 1 3 2 4 32 2 0 1,67
Rosa 0 1 1 2 28 1 650 1,6 Rosa 1 1 0 0
Preparación de datos
multivariados
Valores atípicos / Outliers
Jul2024
Valores atípicos / Outliers / Anomalías
Observaciones/casos con una combinación particular de características que la hacen
distinta a las demás, distinta a lo normal/regular. Su presencia influye notablemente en
los resultados de cada técnica.
Un outlier es simplemente una observación muy distinta al resto, y puede deberse a
muchos factores, por lo que es importante entender su naturaleza:
• pueden ser casos reales poco frecuentes, y puede ser de mucho interés mantenerlos y
estudiarlos.
• pueden ser una mala medición, en cuyo caso no son reales y deberíamos eliminarlos
del análisis.
Un OUTLIER por tanto, NO SE DEBE CONSIDERAR COMO UN ERROR INICIALMENTE. Hay
que identificarlos y estudiarlos, para determinar si representan casos especiales, o si
realmente se trata de un error.
Valores atípicos / Outliers / Anomalías
Identificación
Análisis Univariado → Normalizar variables (Z-Scores). Aquellos casos con valores +/-3 son outliers.
Para muestras pequeñas (<80casos) usamos +/-2,5.
Para muestras grandes (1000casos) usamos +/-4.
Si usamos boxplots: Los casos que caen fuera del bigote (<1,5RI-1Q ó
>1,5RI+3Q) son outliers.
Análisis Bivariado → Con un scatterplot (gráfico de dispersión). Podemos identificar puntos muy
distantes a la nube de puntos. O superponer una elipse que represente la
distribución normal bivariada y los puntos que caen fuera de ella son outliers.
Análisis Multivariado → La distancia de Mahalanobis D2 calcula la distancia de cada observación (en
un espacio multidimensional) vs su valor central. Valores altos de D2 nos
identifican los outliers. El estadístico D2/(#variables) identifica outliers si: >2,5
muestras pequeñas, ó >3 ó 4 muestras grandes
Valores atípicos / Outliers / Anomalías
Ejemplo Identificación
Datos originales con 3 características (3 variables) recogidas de 10 clientes (10 observaciones).
Los diferentes métodos de identificación, coinciden en que los clientes 1 y 2 son outliers. El boxplot además
considera al cliente3 como outlier en la variable 3.
Univariado Scatterplots Multivariado
Univariado
Univariado Distancia
Datos Originales Boxplots V1 vs V2 V1 vs V3
Z-Scores Mahalanobis
(+/-2,5) Cliente1 (D2/3 )>2,5)
Cliente3
Originales Normalizadas Distancia
Nombre V1 V2 V3 V1 V2 V3 Mah D2/3
cliente1 350 3789 2,50 2,75 -0,13 2,26 7,57 2,52
cliente2 168 145 1,32 -0,33 -2,33 -1,49 7,48 2,49
cliente3 167 5742 1,79 -0,34 1,05 0,00 1,22 0,41
cliente4 197 4782 1,94 0,16 0,47 0,48 0,46 0,15
cliente5 184 5988 1,53 -0,06 1,2 -0,82 V2 vs V3 5,09 1,7
cliente6 149 3764 1,72 -0,65 -0,15 -0,22 0,86 0,29
cliente7 145 5171 1,56 -0,71 0,7 -0,73 1,27 0,42
cliente8 173 3166 1,91 -0,24 -0,51 0,38 1,97 0,66
cliente9 177 3843 1,86 -0,17 -0,1 0,23 0,57 0,19
cliente10 163 3663 1,76 -0,41 -0,21 -0,09 0,51 0,17
En este caso D2 se
divide para 3
porque hay 3
Cliente2
variables
Valores atípicos / Outliers / Anomalías
Clasificación y tratamiento
Clasificación
Descripción Ejemplos Identificación Tratamiento
de Outliers
Valores que se encuentran Utilizar métodos estadísticos como Investigar la causa raíz del valor
Outliers significativamente alejados del Puntuaciones extremas en una el rango intercuartílico (IQR) o z- atípico y determinar si es un error de
Atípicos resto de los datos y son raros o escala de calificación. score para identificar valores medición o una observación
inusuales. inusuales. legítima.
Visualización de datos como
Valores que están muy lejos de la
gráficos de caja y bigotes,
Outliers mayoría de los datos y pueden Temperatura extremadamente alta o Eliminar el outlier si se determina
histogramas o gráficos de
Extremos indicar errores en la medición o baja. que es un error de medición.
dispersión para identificar puntos
fenómenos extremos.
inusuales.
Análisis de subgrupos o
Outliers que se derivan de una Considerar si estos outliers deben
Outliers de Ventas inesperadamente bajas en segmentación de datos para
distribución diferente o subconjunto ser tratados de manera diferente
Proceso un período específico. identificar patrones o diferencias en
en el conjunto de datos. según el contexto del análisis.
la distribución.
Outliers que son inusuales en un Consideración del contexto y la Evaluar si estos outliers son
Outliers contexto específico pero no Número de vuelos cancelados naturaleza del conjunto de datos relevantes para el análisis y si
Contextuales necesariamente representan errores durante una huelga. para determinar si los valores son deben ser tratados de manera
de medición. inusuales. diferente a otros outliers.
Revisión manual de los datos para
Outliers que son el resultado de Corregir o eliminar los outliers
Outliers por Unidades de medida incorrectas o identificar inconsistencias o
errores de medición o entrada de identificados como errores de
Errores datos mal ingresados. discrepancias en la medición o
datos. medición o entrada de datos.
entrada de datos.
Preparación de datos
multivariados
Supuestos Estadísticos
Jul2024
Supuestos Estadísticos
.
Muchas técnicas estadísticas, dependen de que los datos tengan ciertas
propiedades. Las 4 de mayor relevancia son:
• Normalidad
• Homocedasticidad
• Linealidad
• Independencia de errores
Normalidad
Primero: Qué es una variable Aleatoria NORMAL
• La variable aleatoria “normal” es un modelo teórico, que
ilustra un comportamiento probabilístico de una variable.
• Tiene forma de campana y posee una sola cima en el centro
de la distribución.
• La media aritmética, la mediana y la moda son iguales, y se
localizan en el centro de la distribución.
• El área total bajo la curva es de 1.00.
• La mitad del área bajo la curva normal se localiza a la derecha
de este punto central, y la otra mitad, a la izquierda.
• Es simétrica respecto de la media.
• Desciende suavemente en ambas direcciones del valor central.
Es decir, la distribución es asintótica. La curva se aproxima más
y más al eje X, sin tocarlo. En otras palabras, las colas de la
curva se extienden indefinidamente en ambas direcciones.
• La localización de una distribución normal se determina a
través de la media. La dispersión o propagación de la
distribución se determina por medio de la desviación estándar.
Normalidad
Qué es una variable aleatoria NORMAL ESTANDAR
Es un caso particular. Decimos que la variable Z es una variable aleatoria normal
estándar, si tiene Media 0 y Desviación estándar 1.
Regla empírica
Podemos transformar cualquier Dado que las probabilidades para este
variable normal X en una variable modelo Z (normal estándar) ya están
normal estándar Z, restando a establecidas, podemos calcular
cada valor de X su media y probabilidades con mayor facilidad. Por
dividiendo para su desviación ejemplo, la probabilidad de que un
estándar. La fórmula es: valor se encuentre dentro del rango de
+/- 2 desviaciones estándar alrededor
de la media, es del 95%.
Donde,
Media poblacional
Desviación poblacional
Normalidad
Supuesto de Normalidad Muchas técnicas multivariadas asumen que los datos (variables
métricas) se distribuyen de manera "normal", es decir, de forma
similar a una variable aleatoria normal. Si este supuesto no se
cumple, pueden surgir problemas que afectan la validez y la
interpretabilidad del análisis.
Para verificar si una variable sigue una distribución normal,
podemos:
• Realizar un chequeo visual de su ajuste a una distribución normal
mediante un histograma con la curva normal superpuesta.
• Usar Gráficos de Distribución Normal, que comparan las
distribuciones acumuladas de la variable original (curva llena) con
la teórica normal (línea punteada). Si la distribución es normal, la
curva debe seguir la linea punteada.
• Además del método gráfico, es posible usar la prueba de
normalidad de Shapiro-Wilks ó Kolmogorov-Smirnov modificado.
Si una variable no cumple este supuesto, podemos tomar acciones
correctivas para garantizar que los análisis estadísticos sean válidos
y fiables. Algunas de estas acciones incluyen: transformar los datos
(logarítmica, raíz cuadrada), realizar pruebas no paramétricas o
aumentar el tamaño de la muestra.
Homocedasticidad
Primero, ¿Qué es?
La suposición de homocedasticidad, se relaciona principalmente con las relaciones de
dependencia entre variables.
La homocedasticidad se refiere a la suposición de que la(s) variable(s) dependiente(s)
muestran niveles iguales de varianza a lo largo del rango de la(s) variable(s)
predictora(s).
La homocedasticidad es deseable porque la varianza de la variable dependiente que
se está explicando en la relación de dependencia no debe estar concentrada solo en
un rango limitado de los valores independientes. En la mayoría de las situaciones,
tenemos muchos valores diferentes de la variable dependiente en cada valor de la
variable independiente. Para capturar completamente esta relación, la dispersión
(varianza) de los valores de la variable dependiente debe ser relativamente igual en
cada valor de la variable predictora. Si esta dispersión es desigual en los valores de la
variable independiente, la relación se denomina heterocedasticidad.
Homocedasticidad vs Heterocedasticidad
Relacionando con los residuos (errores)
En Estadística, cuando realizamos predicciones con un modelo, también se generan
“errores o residuos” que es la diferencia entre el valor real y el valor pronosticado.
Un modelo se llama homocedástico cuando los errores tienen la misma variación, tanto al
predecir valores pequeños como grandes. Es decir, nos equivocamos de la misma manera
sin importar el tamaño del valor que estamos pronosticando. Si en un gráfico de
dispersión colocamos los errores (eje Y) vs la variable dependiente (eje X) se vería como el
gráfico de la izquierda. Tanto para valores pequeños o grandes de la variable dependiente
(izquierda a derecha) los errores son igual de grandes hacia arriba o abajo (constantes).
Un modelo es heterocedástico si
ocurre lo contrario. Por ejemplo, si
nos equivocamos más al predecir
valores grandes y menos al predecir
valores pequeños. El gráfico de la
derecha ilustra esta situación.
Homocedasticidad vs Heterocedasticidad
Supuesto de Homocedasticidad
Cuando la homocedasticidad no se cumple, se habla de
homocedasticidad
heterocedasticidad. Esta puede tener varias consecuencias
negativas, como generar estimaciones inconsistentes e
ineficientes o generar tests estadísticos incorrectos.
Ante la presencia de heterocedasticidad podemos tomar
acciones correctivas como: Transformaciones a las
variables dependientes métricas (logaritmos, raíces
cuadradas), usar estimadores robustos a la
heterocedasticidad o emplear modelos de regresión que
permiten heterocedasticidad explícitamente.
Para detectar Heterocedasticidad podemos:
• Usar gráficos de dispersión de los residuos contra las
predicciones o contra una variable independiente, que
pueden revelar patrones de heterocedasticidad (p. ej., un
"abanico" creciente o decreciente, o un rombo).
• Prueba de Breusch-Pagan o de White: Una prueba
estadística específica para detectar la heterocedasticidad.
Linealidad
Coeficiente de Correlación lineal (r):
Mide fuerza de relación lineal entre dos variables métricas. Valor que fluctúa entre -1 y 1.
Valores cercanos a +1, fuerte relación directa.
Ambas variables crecen, o ambas decrecen.
En el gráfico de dispersión, los puntos se ven como una línea
ascendente.
Valores cercanos a -1, fuerte relación inversa.
Mientras una variable crece, la otra decrece (o viceversa).
En el gráfico de dispersión, los puntos se ven como una línea
descendente. No hay correlación
Valores cercanos a 0 → no hay relación lineal
En el gráfico de dispersión, los puntos se ven completamente r=0
dispersos. Si se traza una línea sería casi horizontal.
Linealidad
¿Qué es?
Describe una relación directa y proporcional entre dos variables métricas. En una relación lineal, si
una variable cambia, la otra variable cambia de manera proporcional. Esta relación se puede
representar mediante una línea recta en un gráfico de dispersión, y se puede medir con el
“Coeficiente de Correlación lineal “
A más tiempo de uso, más costo de A más kilometraje, menor precio de A más altura de una persona, no tiene
mantenimiento. venta del auto. incidencia en su salario.
Relación directa: LINEA ASCENDENTE Relación inversa: LINEA DESCENDENTE No hay relación: LINEA CASI
HORIZONTAL
El coeficiente de correlación es 0,90. Es El coeficiente de correlación es -0,79. El coeficiente de correlación es -0,14.
decir cercano a 1 positivo. Es decir cercano a 1 negativo. Es decir cercano a 0.
Linealidad
Supuesto de Linealidad
Cuando la linealidad no se cumple, puede tener varias
consecuencias negativas, como generar estimaciones
sesgadas (inexactos), predicciones erróneas, inferencias
incorrectas, reducción en la potencia estadística (capacidad
del modelo para detectar relaciones significativas)
Ante la presencia de no linealidad, podemos tomar
acciones correctivas como: Transformaciones a las
variables dependientes métricas (logaritmos, raíces
cuadradas), emplear modelos de análisis no lineales.
Para detectar no linealidad podemos:
• Usar gráficos de dispersión de los residuos contra las
predicciones o contra una variable independiente, que
pueden revelar patrones de no linealidad (p. ej., una nube
en forma de parábola).
• Uso de Coeficientes de Correlación Lineal
• Prueba de Ramsey RESET en un modelo de regresión
Multicolinealidad
No es exactamente un supuesto estadístico
Se refiere a una situación en la que dos o más variables explicativas “se parecen mucho” y,
por tanto, resulta difícil medir sus efectos individuales sobre la variable explicada. “Se
parecen mucho” → significa que la correlación lineal entre ellos es alta
Problemas: Dificulta la interpretación del modelo, Se reduce su precisión de nuestras estimaciones, Difícil
identificar variables independientes a incluir en el modelo.
Matriz de correlaciones
Para detectar multicolinealidad podemos:
Usar Factor de Inflación de la Varianza (VIF)
Usar Matriz de Correlaciones: Por ejemplo:
• Relación entre Ingresos y Educación. La correlación
(0,8) sugiere relación positiva: A más educación, más
ingresos.
• Relación entre Ingresos y Satisfacción Laboral. La
correlación (0,8) sugiere relación positiva. A más
satisfacción, más ingresos.
Acciones correctivas: Eliminar una de las
• El coeficiente sugiere que la educación y satisfacción
variables correlacionadas, o combinar variables
laboral, tienen idéntica relación con ingresos, pero no
en una sola o usar de otros métodos que puedan
podemos determinar cuál de ellas es más fuerte.
reducir los efectos de la multicolinealidad.
Independencia de Errores
Ausencia de Errores Correlacionados
La ausencia de errores correlacionados se refiere a la suposición de
que los errores de predicción (o residuos) en un modelo de
regresión no están correlacionados entre sí. Esto significa que el
error de predicción en un punto de datos no debe influir en el error
de predicción en otro punto de datos.
Validez del Modelo: Si los errores están correlacionados, indica
que hay una relación sistemática no explicada por el modelo, lo
que puede sesgar los coeficientes de regresión y reducir la
precisión del modelo.
Inferencias Estadísticas: La correlación entre errores puede
invalidar las pruebas de hipótesis y los intervalos de confianza,
ya que muchas técnicas estadísticas asumen que los errores
son independientes.
Independencia de Errores
Supuesto de Independencia de Errores
Cuando la linealidad no se cumple, puede tener varias consecuencias
negativas, como generar estimaciones sesgadas (inexactos),
inferencias incorrectas, reducción en eficiencia al estimar
parámetros. Ante la presencia de no linealidad, podemos tomar
acciones correctivas como:
• Series Temporales: Transformaciones de datos, Primera
Diferenciación. Centrar medidas repetidas, Análisis de Paneles
• Observaciones Agrupadas: Explorar otros modelos
multinivel/jerárquicos, modelos de efectos fijos/aleatorios.
• Si se sospecha que la correlación entre errores se debe a variables
omitidas, intentar identificar y agregar estas variables al modelo.
Para detectar Correlación entre Errores podemos:
• Usar gráfico de Residuos vs. Tiempo, lo que puede revelar
patrones de autocorrelación.
• Graficar residuales vs otras variables predictoras y no debería
haber patrones (debería ser similar al NULL PLOT).
• Prueba estadística de Durbin-Watson para detectar
autocorrelación en los residuos de un modelo de regresión.
Distancias
Distancias
Jul2024
Distancia Euclídea
Para datos métricos (numéricos/continuos)
Supongamos que se pregunta a siete personas (de la A a la G) el nivel de lealtad con un local de
ropa (V1) y el nivel de lealtad con una marca de ropa (V2), ambas en una escala de 1 a 10, donde 1
es “totalmente desleal” y 10 es “totalmente leal”.
La “distancia euclídea” entre encuestado A y B sería:
Para A, sus respuestas son (V1,V2)=(6,6)
Para B, sus respuestas son (V1,V2)=(1,3)
Distancia(A,B)= (6 − 1)2 + (6 − 3)2 = 34 = 5,83
Puede resultar en una matriz de distancias que puede ser utilizada
por algoritmos como KNN. Mientras menor la distancia, las
observaciones son más similares…
Distancia Euclídea Modificada
Para conjuntos mixtos (numéricos/categóricos)
Para las variables numéricas, se utiliza la distancia euclidiana estándar. Para las categóricas, se puede emplear un
enfoque de codificación como One-Hot encoding/Dummies, y luego tratar las variables binarias resultantes como
numéricas. Esto puede incrementar significativamente la dimensionalidad de los datos.
Datos Originales
Puede resultar en una matriz de distancias que puede ser utilizada
por algoritmos como KNN. Mientras menor la distancia, las
Aplicación de One-Hot Encoding observaciones son más similares…
Distancia Euclídea Modificada
Para conjuntos mixtos (numéricos/categóricos)
Para las variables numéricas, se utiliza la distancia euclidiana estándar. Para las categóricas, se puede emplear un
enfoque de codificación como One-Hot encoding/Dummies, y luego tratar las variables binarias resultantes como
numéricas. Esto puede incrementar significativamente la dimensionalidad de los datos.
Datos Originales
Puede resultar en una matriz de distancias que puede ser utilizada
por algoritmos como KNN. Mientras menor la distancia, las
Aplicación de Dummies observaciones son más similares…
Supongamos que dejamos "Azul" como la categoría de referencia:
Distancia de Hamming
Para datos categóricos
• La distancia de Hamming mide el número de diferencias entre dos secuencias de igual
longitud. En el contexto de datos categóricos, esto equivale a contar cuántas veces las
categorías correspondientes en dos observaciones difieren.
Puede resultar en una matriz de distancias que puede ser
utilizada por algoritmos como KNN. Mientras menor la
distancia, las observaciones son más similares…
Distancia Gower
Para conjuntos mixtos (numéricos/categóricos)
Gower calcula una distancia basada en la similitud, donde cada tipo de variable (numérica o categórica) contribuye
proporcionalmente a la distancia total. Para variables numéricas, utiliza una distancia basada en rangos, y para
variables categóricas, utiliza una medida de similitud/desemejanza como la distancia de Hamming.
Puede resultar en una matriz de distancias que puede ser utilizada por
algoritmos como KNN. Mientras menor la distancia, las observaciones son más
similares…
Técnicas de Validación
Indicadores y Técnicas
Jul2024
Indicadores Bondad de Ajuste –
Problemas de Regresión
Contamos con los siguientes criterios para comparar la capacidad explicativa y predictiva de los
modelos, y facilitar la selección del mejor de ellos.
• R2 – Coeficiente de determinación – Nivel de variabilidad explicada por el modelo
• Va de 0 a 1. Mientras más cercano a uno, mejor capacidad predictiva.
• R2 ajustado - Nivel de variabilidad explicada por el modelo, ajustado
• Va de 0 a 1. Mientras más cercano a uno, mejor capacidad predictiva.
• AIC - Akaike Information Criterion
• Mientras más bajo mejor capacidad predictiva. El AIC penaliza la inclusión de variables adicionales en el modelo, por lo
que prefiere modelos más simples y parsimoniosos
• BIC – Bayesian Information Criterion
• Mientras más bajo mejor capacidad predictiva. El BIC favorece a modelos más simples y parsimoniosos como el AIC, pero
penaliza modelos que son demasiado complejos en relación con el tamaño muestral
• MSE – Mean Squared Error / Error Cuadrático Medio
• Mientras más bajo mejor capacidad predictiva. Mide el error de las estimaciones, por tanto, mientras menos nos
equivocamos es mejor. Fácil de calcular e interpretar por ello se usa ampliamente en evaluación y selección de modelos.
Indicadores Bondad de Ajuste –
Problemas de Regresión
Error Cuadrático Medio (Mean Squared Error, MSE):
Es el promedio de los cuadrados de los errores, es decir, la
diferencia cuadrada entre los valores observados y los predichos.
Un MSE más bajo indica un mejor ajuste del modelo a los datos.
Raíz del Error Cuadrático Medio (Root Mean Squared Error, RMSE):
Es la raíz cuadrada del MSE y se encuentra en las mismas unidades que la
variable dependiente. Proporciona una medida de la magnitud del error. Un
valor más bajo indica un mejor ajuste del modelo a los datos.
Error Absoluto Medio (Mean Absolute Error, MAE):
Es el promedio de los valores absolutos de los errores.
Es menos sensible a los valores atípicos en comparación con el MSE.
MAPE (Mean Absolute Percentage Error)
Se calcula como el promedio de los errores absolutos porcentuales
entre los valores observados y los predichos, expresado como un
porcentaje. Un MAPE más bajo indica una mayor precisión en las
predicciones del modelo.
Coeficiente de Correlación de Pearson: Mide la correlación lineal
entre los valores observados y predichos.
Indicadores Bondad de Ajuste –
Problemas de Regresión
Interpretación
•MSE (70): Los errores cuadrados promedio son 70 unidades
cuadradas.
•RMSE (aprox. 8.37): En promedio, los errores están a una distancia de
8.37 unidades del valor real.
•MAE (8): En promedio, la magnitud del error es de 8 unidades.
•MAPE (aprox. 4.63%): En promedio, el error es aproximadamente el
4.63% del valor real.
Modelos con menor error tienen mejor ajuste
Indicadores Bondad de Ajuste – Problemas de
Clasificación Binaria – Matriz de Confusión
Imaginemos que estamos evaluando un modelo de diagnóstico
médico para detectar la presencia de una enfermedad
específica (enfermedad A) en pacientes. El modelo clasifica a
los pacientes en dos categorías: enfermos (positivos para la
enfermedad A) y sanos (negativos para la enfermedad A).
En la matriz de confusión, los casos verdaderos generalmente se
• Supongamos que tenemos los siguientes resultados para una muestra de representan en las filas y las predicciones en las columnas. Y está
100 pacientes: considerando como umbral para clasificación a 0,5
• El modelo predice que 33 pacientes tienen la enfermedad A (positivos). Ante estos datos, los resultados son:
• De los 33 pacientes que predice como positivos, 25 realmente tienen la Exactitud (Accuracy): 87% Es la proporción de predicciones
enfermedad A (TP). correctas en general. (TP+TN)/Total=(25+62)/100
• Los 8 restantes que predice como positivos no tienen la enfermedad A (FP). Sensibilidad (Recall o True Positive Rate): 83,3%. Es la
• El modelo predice que 67 pacientes no tienen la enfermedad A (negativos). proporción de casos positivos reales que el modelo identificó
• De los 67 pacientes que predice como negativos, 62 realmente no tienen la correctamente. (TP/(TP+FN))=(25/30)
enfermedad A (TN).
• Los 5 restantes que predice como negativos tienen la enfermedad A (FN). Especificidad: 88,6%. Es la proporción de casos negativos
• En resumen: reales que el modelo identificó correctamente.
• TP (Verdaderos Positivos): 25 (TN/(TN+FP))=62/70
• FN (Falsos Negativos): 5 Valor Predictivo Positivo (Precisión): 75,8% Es la proporción
• FP (Falsos Positivos): 8 de casos positivos predichos que fueron verdaderamente
• TN (Verdaderos Negativos): 62 positivos. (TP/(TP+FP))=25/33
Indicadores Bondad de Ajuste – Problemas de
Clasificación Binaria – Curva ROC(Receiver Operating Characteristic)
La Curva ROC es una herramienta gráfica utilizada para evaluar el
rendimiento de un modelo de clasificación binaria. Muestra la
relación entre la tasa de verdaderos positivos (sensibilidad) y la
tasa de falsos positivos (1 - especificidad) a través de diferentes
umbrales de decisión.
Un modelo es representado por una curva.
Diagonal Principal: Una línea diagonal de 45 grados desde la
esquina inferior izquierda hasta la esquina superior derecha
representa un modelo que hace predicciones aleatorias.
Curva por Encima de la Diagonal: Un modelo cuyo ROC se curva El AUC (área total bajo la curva ROC) es una métrica que
hacia el lado superior izquierdo es mejor que un modelo cuantifica el rendimiento global del modelo de
aleatorio. clasificación. Mide la capacidad del modelo para distinguir
Curva Perfecta: Un modelo ideal tendría una curva ROC que entre las categorías/clases. Si el valor de AUC es:
pasa por el punto (0,1), lo que indica una tasa de falsos positivos 0.5 < AUC < 1: Cuanto más cercano a 1, mejor es el
de 0 y una tasa de verdaderos positivos de 1. rendimiento del modelo.
Facilita la comparación entre diferentes modelos de
Facilita la comparación entre diferentes modelos de clasificación. clasificación. El modelo con mayor AUC muestra mejor
Un modelo cuya curva está más alejada de la diagonal es mejor. ajuste.
Indicadores Bondad de Ajuste – Problemas de
Clasificación Multiclase – Matriz de Confusión
Imaginemos que tenemos un modelo de clasificación que ha sido probado en un conjunto de datos, y
tenemos las siguientes predicciones y etiquetas verdaderas <<Categorías: A, B, C>>
Modelos con mayor valor %Accuracy tienen mejor ajuste.
Tasa Error Clasificación = 1 - %Accuracy. Si usamos este
criterio, el mejor modelo es el de menor tasa de error.
Balanced Accuracy, es especialmente útil cuando las clases
tienen tamaños diferentes y se quiere asegurar que el
modelo tenga un buen desempeño en todas las clases, no
%Error = 0,42 (1- Exactitud (Accuracy))
solo en las más frecuentes.
Exactitud (Accuracy): Recall (Sensibilidad) por Clase:
Total de Predicciones Correctas = 3 (A) + 2 (B) + 2 (C) = 7 Recall para A = 3 / 4 = 0.75
Total de Casos = 4 (A) + 5 (B) + 3 (C) = 12 Recall para B = 2 / 5 = 0.4
Accuracy = 7 / 12 = 0.58 Recall para C = 2 / 3 = 0.66
Precisión (Precision) por Clase: Precisión y Recall Macro-Promedio:
Precisión para A = 3 / 5 = 0.6 Precisión Macro = (0.6 + 0.5 + 0.66) / 3 ≈ 0.58
Precisión para B = 2 / 4 = 0.5 Recall (Sensibilidad) Macro = (0.75 + 0.4 + 0.66) / 3 ≈ 0.61
Precisión para C = 2 / 3 = 0.66 <<Balanced Accuracy>>
Indicadores Bondad de Ajuste – Problemas de
Clasificación Multiclase– Otros indicadores
Imaginemos que tenemos un modelo de clasificación que ha sido probado en un conjunto de datos, y
tenemos las siguientes predicciones y etiquetas verdaderas <<Categorías: A, B, C>>
F1-Score
Es la media armónica de la precisión y el recall, y su valor varía entre 0 y 1, donde 1 es
el mejor valor posible y 0 el peor. Interpretación: Un F1-Score alto indica que el
modelo tiene un buen equilibrio entre precisión y recall. Si uno de ellos es
significativamente más bajo que el otro, el F1-Score disminuirá. Esto lo hace
particularmente útil en situaciones donde un equilibrio entre la precisión y el recall es
importante.
Macro-Promedio
F1-Score por Clase: Es el promedio de la métrica (precisión, recall o F1-Score) para cada clase. No tiene en
F1 para A = 2 * (0.6 * 0.75) / (0.6 + 0.75) ≈ 0.6667 cuenta el desequilibrio de clases (es decir, trata a todas las clases por igual).
Interpretación: Un macro-promedio alto sugiere que el modelo tiene un buen
F1 para B = 2 * (0.5 * 0.4) / (0.5 + 0.4) ≈ 0.4444
rendimiento en todas las clases. Es útil cuando quieres asegurarte de que el modelo
F1 para C = 2 * (0.6667 * 0.6667) / (0.6667 + 0.6667) = funciona bien en todas las clases, incluso en las menos representadas
0.6667
Precisión y Recall Macro-Promedio: Micro-Promedio
Precisión Macro = (0.6 + 0.5 + 0.6667) / 3 ≈ 0.5889 Medida del rendimiento general, ponderada por el número de muestras en cada clase.
Recall (Sensibilidad) Macro = (0.75 + 0.4 + 0.6667) / 3 ≈ Se obtiene calculando la métrica global (como precisión, recall o F1-Score) sumando los
totales de verdaderos positivos, falsos positivos y falsos negativos de todas las clases.
0.6056 <<Balanced Accuracy>> Interpretación: Un micro-promedio alto sugiere que el modelo tiene un buen
Precisión y Recall Micro-Promedio: rendimiento general, considerando todas las clases en conjunto. Es útil donde algunas
Precisión Micro = Recall Micro = Total de Predicciones clases pueden estar mucho más representadas que otras, ya que da más peso a las
Correctas / Total de Casos = 7 / 12 = 0.5833 clases con más muestras.
Indicadores Bondad de Ajuste – Problemas de
Clasificación Multiclase– Jaccard
Imaginemos que tenemos un modelo de clasificación que ha sido probado en un conjunto de datos, y
tenemos las siguientes predicciones y etiquetas verdaderas <<Categorías: A, B, C>>
Índice de Jaccard para cada Clase
Clase A:
TP = 3, FP (predichos como A pero no son A) = 1 + 1 = 2, Interpretación – Usual para datos binarios
FN (reales A pero predichos como otra clase) = 1
El Índice de Jaccard varía entre 0 y 1, y proporciona una medida
Jaccard A = 3 / (3 + 2 + 1) = 3 / 6 = 0.5
Clase B: de cuán bien se solapan las predicciones de cada clase con las
TP = 2, FP = 1 + 1 = 2, FN = 1 + 1 = 2 etiquetas verdaderas. Un valor más cercano a 1 indica un mejor
Jaccard B = 2 / (2 + 2 + 2) = 2 / 6 = 0.3333 rendimiento. En este ejemplo, la clase A tiene el mayor Índice
Clase C: de Jaccard, lo que indica un mejor rendimiento de clasificación
TP = 2, FP = 1 + 1 = 2, FN = 1 + 1 = 2 para la clase A en comparación con las clases B y C. Y a nivel
Jaccard C = 2 / (2 + 2 + 2) = 2 / 6 = 0.3333 total (enfoque macro), un valor cercano a 1 sugiere que el
Macro: modelo está haciendo predicciones muy precisas y
(0,5 + 0,3333 + 0,3333 ) / 3 = 0,388
coincidentes con las etiquetas verdaderas.
Estrategias de Validación
Modelos Predictivos
En modelos predictivos, las técnicas de validación más usadas se relacionan
con el uso de muestras distintas.
• Dividir la muestra en dos (Split Validation): En cada submuestra se aplica el modelo.
• Conjuntos de Entrenamiento / Prueba ( Train/Test Data)
• Se divide los datos en dos grupos. 80% para entrenar el modelo, 20% para probarlo. (70% / 30 % )
• En los datos de entrenamiento, realizamos todo el proceso descrito hasta obtener el modelo. En
los datos de prueba, solamente lo aplicamos y observamos su nivel predictivo.
• También suelen elaborarse algunos modelos en los datos de entrenamiento, y evaluarlos en los
datos de prueba, para poder comparar entre ellos su capacidad predictiva y seleccionar el mejor
• Cross-Validation (k-folding): Una generalización automatizada del método de train/test
Estrategias de Validación
Modelos Predictivos – Train/Test DAta
Estrategias de Validación
Modelos Predictivos – Train vs Test Error
Estrategias de Validación
Modelos Predictivos - Cross-Validation (k-folding)
KNN
CONCEPTOS BÁSICOS Y DIRECTRICES
Alex Moreno
Jul2024
KNN
• El algoritmo K-Nearest Neighbors (KNN) es un método simple pero
poderoso utilizado en minería de datos y aprendizaje automático para
la clasificación y regresión.
¿Qué es KNN?
KNN es un algoritmo de aprendizaje basado en instancias y no paramétrico.
Funciona identificando los K puntos de datos más cercanos (vecinos) a un punto de
datos no clasificado y toma una decisión de clasificación o regresión basada en las
etiquetas o valores de esos vecinos.
¿Para qué sirve?
Clasificación: KNN asigna una clase a un punto de datos no clasificado basándose en
la clase mayoritaria de sus K vecinos más cercanos.
Regresión: KNN predice un valor continuo para un nuevo punto de datos tomando el
promedio (u otra medida agregada) de los valores de los K vecinos más cercanos.
KNN – Cómo funciona?
Tenemos un pequeño conjunto de datos de
entrenamiento que consta de seis observaciones
azules y seis naranjas.
Nuestro objetivo es hacer una predicción para el
punto marcado con la cruz negra.
Supongamos que elegimos K = 3. Entonces KNN
identificará primero las tres observaciones más
cercanas a la cruz. Esta vecindad se muestra
como un círculo. Consta de dos puntos azules y
un punto naranja, lo que da como resultado
probabilidades estimadas de 2/3 para la clase
azul y 1/3 para la clase naranja.
Por tanto, KNN predecirá que la cruz negra
pertenece a la clase azul.
KNN
Fronteras de decisión
La frontera de decisión
de KNN con k=3 para Frontera Decisión con K = 3
este ejemplo se muestra
en negro. La cuadrícula
azul indica la región en la
que se asignará una
observación de prueba a
la clase azul y la
cuadrícula naranja indica
la región en la que se
asignará a la clase
naranja.
KNN – Cómo funciona?
Elección K genera cambios drásticos en
las predicciones. Ejemplo:
Con k=3 la predicción sería clase B
Con k=7 la predicción sería clase A
“No es verdad que aumentar k mejorará
la predicción”
Fronteras de decisión
La elección de K tiene un efecto
drástico en el clasificador KNN
obtenido. La figura muestra dos
ajustes de KNN datos simulados,
usando K = 1 y K = 100. Cuando K
= 1, el límite de decisión es
demasiado flexible. Esto
corresponde a un clasificador
que tiene un sesgo bajo pero una
varianza muy alta. A medida que
K crece, el método se vuelve
menos flexible y produce un
límite de decisión casi lineal. Esto
corresponde a un clasificador de
baja varianza pero alto sesgo.
KNN – Cómo funciona para más de dos
clases?
Nuevamente, para el caso a clasificar
(el plomo) se determina los casos de
entrenamiento (verde, amarillo,
naranja) que están más cerca.
Se utiliza una medida de distancia
para determinar la cercanía.
Definiendo un valor de k, por ejemplo
4, se identifican los 4 casos más
cercanos.
El nuevo caso será clasificado
observando la clase más frecuente en
los vecinos seleccionados.
KNN – Como funciona en CLASIFICACION
• Selección de K: Elegir un número K de vecinos más cercanos. K es un parámetro clave
que determina cuántos vecinos cercanos considerar.
• Cálculo de Distancia: Para un punto de datos no clasificado (llamémoslo P), el
algoritmo calcula la distancia de P a todos los puntos en el conjunto de entrenamiento.
Las distancias comunes utilizadas son la euclidiana, manhattan o minkowski.
• Identificación de Vecinos: Seleccionar los K puntos de datos más cercanos a P del
conjunto de entrenamiento.
• Votación de la Mayoría: Asignar una clase a P basándose en la clase más frecuente
entre sus K vecinos más cercanos. Si, por ejemplo, la mayoría de los K vecinos
pertenecen a la clase 'A', entonces P se clasifica como 'A'.
• Resultado: El algoritmo clasifica cada punto de datos no clasificado repitiendo este
proceso, asegurando que la decisión se basa en la información local y relevante del
conjunto de datos.
Predicción – KNN Clasificación
Digamos que queremos predecir el valor de Y (donde Y
puede ser 0 o 1) para una nueva observación donde X=3.5
Calcular Distancias: Calculamos la distancia (usualmente distancia
euclidiana) entre nuestra nueva observación (X=3.5) y todas las
observaciones en el conjunto de datos de entrenamiento.
Encontrar los k Vecinos Más Cercanos: Seleccionamos los k=3 vecinos
más cercanos a nuestra observación basándonos en las distancias
calculadas. Por lo tanto, para X=3.5, nuestro modelo KNN de
Votación por Mayoría de los Vecinos: Determinamos la clase más clasificación predice que Y sería 1, basado en la clase más
común entre estos k vecinos más cercanos. Esta será nuestra común entre los tres vecinos más cercanos.
predicción. VOTING
KNN – Como funciona en REGRESION
• Selección de K: Elegir un número K de vecinos. Aquí, K determina cuántos
vecinos cercanos influirán en la predicción.
• Cálculo de Distancia: Para un punto de datos objetivo P, calcular la
distancia entre P y todos los puntos en el conjunto de entrenamiento.
• Identificación de Vecinos: Identificar los K puntos de datos más cercanos a
P en el conjunto de entrenamiento.
• Promedio o Mediana: En lugar de una votación mayoritaria, la predicción
para P se realiza tomando el promedio o la mediana (dependiendo del
caso) de los valores de los K vecinos más cercanos. Esta medida agregada
determina el valor de salida para P.
• Resultado: El valor predicho es un reflejo de las tendencias locales en el
conjunto de datos, basado en los valores de los vecinos más cercanos a P.
Predicción – KNN Regresión
Digamos que queremos predecir el valor de Y para una
nueva observación donde X=3.5
1.Calcular Distancias: Primero, calculamos la distancia (usualmente distancia
euclidiana) entre nuestra nueva observación (X=3.5) y todas las observaciones
en el conjunto de datos de entrenamiento.
2.Encontrar los k Vecinos Más Cercanos: Seleccionamos los k=3 vecinos más
cercanos a nuestra observación basándonos en las distancias calculadas.
3.Calcular el Promedio de los Vecinos: Calculamos el promedio de los valores de Por lo tanto, para X=3.5, nuestro modelo KNN de
Y de estos k vecinos más cercanos. Este promedio será nuestra predicción. regresión predice que Y sería 5, basado en el
promedio de los valores de Y de los tres vecinos más
cercanos.
KNN
• Ventajas
• Simplicidad: KNN es intuitivo y fácil de implementar.
• Flexibilidad: Funciona bien tanto para clasificación como para regresión.
• No Paramétrico: No hace suposiciones sobre la forma de los datos, lo que lo hace versátil para trabajar con datos reales y
complejos. (no supuestos estadísticos)
• Aprendizaje Perezoso (Lazy Learning): KNN no necesita un proceso de entrenamiento explícito, lo que puede ser ventajoso
en ciertos escenarios.
• Desventajas
• Costo Computacional: Requiere calcular la distancia de cada punto de datos no clasificado a todos los demás puntos de
datos, lo que puede ser computacionalmente costoso, especialmente con grandes volúmenes de datos.
• Sensible a Datos No Balanceados: Si una clase es mucho más frecuente que otras, KNN puede tener un sesgo hacia esa
clase.
• Sensibilidad a Características Irrelevantes: Si el conjunto de datos contiene características irrelevantes o redundantes, esto
puede afectar negativamente el rendimiento de KNN.
• Necesidad de Elegir K: La elección del número de vecinos (K) puede tener un gran impacto en los resultados, y no hay una
manera fácil de elegir el mejor K. Valores pequeños de K pueden producir un clasificador con baja sesgo pero alta varianza,
mientras que valores grandes pueden producir un clasificador con alta sesgo pero baja varianza.
Etapas de Análisis (Hair)
Como buena práctica, desarrollar análisis en orden…
• Etapa 1: Objetivos
• Etapa 2: Diseño
• Etapa 3: Supuestos
• Etapa 4: Modelización
• Etapa 5: Interpretación/Predicción
• Etapa 6: Validación
Etapa 1 – Objetivos KNN
Dependiendo del problema, pueden ser:
1) Clasificación: Pronosticar un valor categórico (no métrico)
2) Regresión: Pronosticar un valor numérico (métrico)
3) NO HAY OBJETIVO DE INTERPRETACION → NO SE PUEDE DETERMINAR LAS
VARIABLES QUE INFLUYEN MAS/MENOS, NI LA DIRECCION DE LA RELACION
Etapa 2 – Diseño Estudio - KNN
1) Variables:
A) Si es para clasificación: determinar variable categórica dependiente (2 o más categorías)
B) Si es para regresión: determinar variable métrica dependiente
C) Si las escalas de variables métricas difieren notablemente, ESTANDARIZARLAS porque
algoritmo es sensible a la escala
D) Para variables categóricas recodificar como “one hot” es una opción válida para
transformar en métrica.
E) Variables independientes: todo tipo. Se require calcular la distancia entre observaciones.
Si tenemos solo variables métricas: Distancia Euclídea, Manhattan, Chebyshev. Si solo
tenemos nominales: distancia Hamming o Jaccard. Si tenemos una mezcla Distancia
Gower
F) Seleccionar variables relevantes previamente. La técnica no identifica variables
relevantes.
Creación Variables Ficticias
Transformar Variables Categóricas (no métricas) a métricas
. • Dummies: Para una variable con N categorías, se crean (N-1)
Cuando la variable original no puede
variables ficticias. Cada variable tendrá un 1 si es que se posee la
usarse directamente en una técnica,
característica, 0 si no se posee
se recodifica por cualquiera de ambos Ejemplo: V3 tiene 3 categorías, entonces se
métodos (dummies / one hot). En V1 V3 V3N V3C crean dos variables ficticias. Una se asocia
para Negro (V3N) y la otra para Café (V3C).
ambos casos, las nuevas variables Raúl 2 0 1 V3N tendrá 1 si la persona tiene ojos negros, 0
tienen propiedades METRICAS y Delia 2 0 1 si no. V3C tendrá 1 si la persona tiene ojos
pueden utilizarse en varias técnicas. cafés, 0 si no. No se crea variable para “Otros”,
José 3 0 0 porque queda automáticamente identificado,
Ejemplo:
V1 Nombre (texto)
Rosa 1 1 0 cuando una persona tiene 0 en negro y 0 en
V2 EstadoCivil 0=Soltero 1=Casado café (observar el caso de José).
V3 ColorOjos 1= Negro 2=Café 3=Otro
V4
V5
Educación
Nivel de Satisfacción
0=Primaria
2=Insatisfecho
1=Secundaria 2=Superior
4=Neutro 6=Satisfecho
• ONE-HOT. Se crea una variable por cada categoría original, y se
V6 Edad (años) asigna 1 si tiene la característica, 0 sino.
V7 TrabajaActualmente 1=Si 2=No
V8
V9
SueldoMesPasado
Altura
(dólares)
(metros)
V1 V3 V3N V3C V3O Si se crea la tercera variable V3O,
que tendrá 1 si la persona tiene
Raúl 2 0 1 0 ojos color “Otros”, 0 si no.
V1 V2 V3 V4 V5 V6 V7 V8 V9
Raúl 0 2 0 2 25 1 700 1,73 Delia 2 0 1 0
Delia 0 2 2 6 27 2 0 1,56 Uso principal en MACHINE
José 3 0 0 1 LEARNING
José 1 3 2 4 32 2 0 1,67
Rosa 0 1 1 2 28 1 650 1,6 Rosa 1 1 0 0
Etapa 2 - Diseño Estudio - KNN
Estandarización/Escalamiento Var. Métricas
Base Original
Estado Murder Assault UrbanPop Rape
Normalización / Z-Score → Recodificar variables a
Alabama 13,2 236 58 21,2 escala “normal”, esto es con media 0 y desv est 1.
Alaska 10 263 48 44,5
Arizona 8,1 294 80 31
Fórmula: (Variable original - promedio )/ desv. estándar
Arkansas 8,8 190 50 19,5
California 9 276 91 40,6
Colorado 7,9 204 78 38,7
Connecticut 3,3 110 77 11,1 En la base de datos normalizada
Delaware 5,9 238 72 15,8 MurderZ AssaultZ UrbanPopZ RapeZ
Florida 15,4 335 80 31,9 Promedio 0,00 0,00 0,00 0,00
Georgia 17,4 211 60 25,8 Desv Est 1,00 1,00 1,00 1,00
En la base de datos original
Murder Assault UrbanPop Rape
Promedio 7,79 170,76 65,54 21,23
Desv Est 4,36 83,34 14,47 9,37
Normalización min-max /basada en rangos →
Recodificar variables a escala de 0 a 1.
Fórmula: (Variable original - mínimo) / rango
Etapa 2 - Diseño Estudio - KNN
Distancia Euclídea: Para datos métricos
Supongamos que se pregunta a siete personas (de la A a la G) el nivel de lealtad con un local de
ropa (V1) y el nivel de lealtad con una marca de ropa (V2), ambas en una escala de 1 a 10, donde 1
es “totalmente desleal” y 10 es “totalmente leal”.
La “distancia euclídea” entre encuestado A y B sería:
Para A, sus respuestas son (V1,V2)=(6,6)
Para B, sus respuestas son (V1,V2)=(1,3)
Distancia(A,B)= (6 − 1)2 + (6 − 3)2 = 34 = 5,83
Puede resultar en una matriz de distancias que puede ser utilizada
por algoritmos como KNN. Mientras menor la distancia, las
observaciones son más similares…
Etapa 2 - Diseño Estudio - KNN
Distancia de Hamming: Para datos categóricos
• La distancia de Hamming mide el número de diferencias entre dos secuencias de igual
longitud. En el contexto de datos categóricos, esto equivale a contar cuántas veces las
categorías correspondientes en dos observaciones difieren.
Puede resultar en una matriz de distancias que puede ser
utilizada por algoritmos como KNN. Mientras menor la
distancia, las observaciones son más similares…
Etapa 2 - Diseño Estudio - KNN
Distancia Gower: Para conjuntos mixtos (numéricos+categóricos)
Gower calcula una distancia basada en la similitud, donde cada tipo de variable (numérica o categórica) contribuye
proporcionalmente a la distancia total. Para variables numéricas, utiliza una distancia basada en rangos, y para
variables categóricas, utiliza una medida de similitud/desemejanza como la distancia de Hamming.
Puede resultar en una matriz de distancias que puede ser utilizada por
algoritmos como KNN. Mientras menor la distancia, las observaciones son más
similares…
Etapa 2 – Diseño Estudio - KNN
1) Muestra:
A) No hay un tamaño mínimo de muestra específico. Pero la regla general de tener
al menos 5 a 10 veces más casos que variables es una buena práctica que se
aplica ampliamente en muchos tipos de algoritmos de aprendizaje automático.
B) Para KNN de regresión, se considera mínimo 5 casos por variable, óptimo 10
casos por variable.
C) Para KNN de clasificación: para cada clase se considera mínimo 5 casos por
variable, óptimo 10 casos por variable.
D) Para KNN de clasificación: trabajar con datos balanceados (misma cantidad de
casos por cada categoría de variable dependiente) – Si no están balanceados se
sugiere aplicar algún método de balanceo como submuestreo o sobremuestreo.
Etapa 2 – Diseño Estudio - KNN
Qué se considera Datos Balanceados Clases=categorías
ejemplos=casos=observaciones
Binarios: %casos grupo1 / % casos grupo2
•Ideal: 50/50. Permite que el modelo aprenda de manera equitativa sobre ambas clases y evita un sesgo hacia una clase
dominante.
•Tolerable: 60/40 a 70/30. En algunos problemas, un ligero desequilibrio, puede considerarse aceptable si la clase
minoritaria aún está representada adecuadamente. Es posible que no sea necesario aplicar técnicas de balanceo.
•Severo 80/20 90/10. Cuando la proporción entre las clases es muy desigual. En tales situaciones, puede ser necesario
aplicar técnicas de balanceo para evitar que el modelo se sesgue hacia la clase mayoritaria y no sea capaz de aprender
correctamente la clase minoritaria.
Multiclase: <<cantidad de casos de las clases más pequeñas puede “compensar” poca representatividad %>>
•Igual Representación. (ideal) tener aprox.la misma cantidad de ejemplos o muestras para cada una de las clases.
•Relación Aceptable: Podría ser una proporción que no varíe demasiado de 1:1 para todas las clases. Por ejemplo, en un
problema de cuatro clases, una proporción de 1:2:1:2 podría considerarse aceptable si las clases menos representadas aún
tienen suficientes ejemplos para aprender patrones relevantes.
•Contexto del Problema: La definición de lo que se considera balanceado también dependerá del contexto del problema y
de cuánto peso se le da a cada clase en términos de importancia. En algunas aplicaciones, una clase minoritaria puede ser
crítica y, por lo tanto, requerir más atención, incluso si es desequilibrada en términos de cantidad de datos.
Sebastiani, F. (2002). Machine learning in automated text categorization. ACM Computing Surveys (CSUR), 34(1), 1-47.
Chawla, N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002). SMOTE: synthetic minority over-sampling technique. Journal of artificial intelligence
research, 16, 321-357.
He, H., & Wu, D. (2019). Transfer learning for imbalanced data: A survey. Knowledge and Information Systems, 61(3), 1-34.
Etapa 2 – Diseño Estudio - KNN
Técnicas de Balanceo de Clases
En la clasificación con aprendizaje automático, el desequilibrio de clases ocurre cuando las clases objetivo están
desproporcionadamente representadas en el conjunto de datos, es decir, una clase es mucho más común que
otra(s). Esto puede llevar a modelos sesgados que favorecen a la clase mayoritaria. Para abordar este problema,
hay varias técnicas de balanceo de clases que puedes utilizar:
Sobremuestreo de la Clase Minoritaria (Oversampling):
•Descripción: Aumenta el número de muestras de la clase minoritaria para igualar a la clase mayoritaria.
•Técnica Común: Una técnica común es el SMOTE (Synthetic Minority Over-sampling Technique), que crea muestras
sintéticas de la clase minoritaria. SMOTE no solo replica las muestras existentes, sino que también interpola nuevas
muestras.
•Uso en R: Puedes usar la función SMOTE del paquete DMwR
Submuestreo de la Clase Mayoritaria (Undersampling):
•Descripción: Reduce el número de muestras en la clase mayoritaria para igualar a la clase minoritaria.
•Ejemplo: Seleccionar aleatoriamente un subconjunto de muestras de la clase mayoritaria.
•Uso en R: Puedes utilizar la función downSample del paquete caret.
Es importante tener en cuenta que estas técnicas pueden afectar la distribución de tus datos. El sobremuestreo
puede aumentar el riesgo de sobreajuste, especialmente con el SMOTE, ya que crea muestras sintéticas. El
submuestreo, por otro lado, puede llevar a perder información valiosa. Por lo tanto, es esencial experimentar y
validar cuidadosamente el modelo para encontrar el equilibrio adecuado.
Etapa 3 – Supuestos – KNN
NO HAY SUPUESTOS ESTADÍSTICOS
Etapa 3 – Supuestos - KNN
EDA – Entender relaciones
Estudiar relación entre variable
dependiente vs las predictoras.
Boxplots: con variable
dependiente categórica vs
predictoras métricas
Barras: entre variables categóricas
Scatterplots/Correlaciones: con
variable dependiente métrica vs
predictoras métricas
Scatterplots coloración por clase:
con variable dependiente
categórica y predictoras métricas.
Etapa 4 – Estimar Modelo KNN
.
Determinar el valor de K los Vecinos Más Cercanos: Para un punto de datos dado, el algoritmo identifica los K
vecinos más cercanos en el conjunto de datos de entrenamiento.
Votación (Voting): La clasificación se realiza mediante un proceso de votación entre estos K vecinos. Cada vecino
"vota" por su clase, y el punto de datos se clasifica en la clase que reciba la mayoría de los votos. Para KNN
regresión, la predicción es el promedio de los valores de los k vecinos elegidos.
Desempates: En caso de empates (especialmente relevante cuando K es un número par), el algoritmo puede
elegir la clase del vecino más cercano o realizar una elección aleatoria, dependiendo de la implementación
específica del algoritmo.
Manejo de Múltiples Clases: En el caso de múltiples clases, el proceso de votación considera todas las clases
presentes en los K vecinos. La clase con el mayor número de representantes entre los vecinos es la elegida.
Balance de Clases: Si algunas clases son mucho más comunes que otras, el modelo podría estar sesgado hacia
estas clases más comunes. En tales casos, podrías necesitar técnicas de balanceo de clases.
Etapa 4 – Estimar Modelo KNN Regresión
Bondad de Ajuste – Regresión
Error Cuadrático Medio (Mean Squared Error, MSE):
Es el promedio de los cuadrados de los errores, es decir, la
diferencia cuadrada entre los valores observados y los predichos.
Un MSE más bajo indica un mejor ajuste del modelo a los datos.
Raíz del Error Cuadrático Medio (Root Mean Squared Error, RMSE):
Es la raíz cuadrada del MSE y se encuentra en las mismas unidades que la
variable dependiente. Proporciona una medida de la magnitud del error. Un
valor más bajo indica un mejor ajuste del modelo a los datos.
Error Absoluto Medio (Mean Absolute Error, MAE):
Es el promedio de los valores absolutos de los errores.
Es menos sensible a los valores atípicos en comparación con el MSE.
MAPE (Mean Absolute Percentage Error)
Se calcula como el promedio de los errores absolutos porcentuales
entre los valores observados y los predichos, expresado como un
porcentaje. Un MAPE más bajo indica una mayor precisión en las
predicciones del modelo.
Coeficiente de Correlación de Pearson: Mide la correlación lineal
entre los valores observados y predichos.
Etapa 4 – Estimar Modelo KNN Regresión
Bondad de Ajuste – Regresión
Interpretación
•MSE (70): Los errores cuadrados promedio son 70 unidades
cuadradas.
•RMSE (aprox. 8.37): En promedio, los errores están a una distancia de
8.37 unidades del valor real.
•MAE (8): En promedio, la magnitud del error es de 8 unidades.
•MAPE (aprox. 4.63%): En promedio, el error es aproximadamente el
4.63% del valor real.
Modelos con menor error tienen mejor ajuste
Etapa 4 – Estimar Modelo KNN Clasif. Binaria
Bondad de Ajuste – Matriz de Confusión
Imaginemos que estamos evaluando un modelo de diagnóstico
médico para detectar la presencia de una enfermedad
específica (enfermedad A) en pacientes. El modelo clasifica a
los pacientes en dos categorías: enfermos (positivos para la
enfermedad A) y sanos (negativos para la enfermedad A).
En la matriz de confusión, los casos verdaderos generalmente se
• Supongamos que tenemos los siguientes resultados para una muestra de representan en las filas y las predicciones en las columnas. Y está
100 pacientes: considerando como umbral para clasificación a 0,5
• El modelo predice que 33 pacientes tienen la enfermedad A (positivos). Ante estos datos, los resultados son:
• De los 33 pacientes que predice como positivos, 25 realmente tienen la Exactitud (Accuracy): 87% Es la proporción de predicciones
enfermedad A (TP). correctas en general. (TP+TN)/Total=(25+62)/100
• Los 8 restantes que predice como positivos no tienen la enfermedad A (FP). Sensibilidad (Recall o True Positive Rate): 83,3%. Es la
• El modelo predice que 67 pacientes no tienen la enfermedad A (negativos). proporción de casos positivos reales que el modelo identificó
• De los 67 pacientes que predice como negativos, 62 realmente no tienen la correctamente. (TP/(TP+FN))=(25/30)
enfermedad A (TN).
• Los 5 restantes que predice como negativos tienen la enfermedad A (FN). Especificidad: 88,6%. Es la proporción de casos negativos
• En resumen: reales que el modelo identificó correctamente.
• TP (Verdaderos Positivos): 25 (TN/(TN+FP))=62/70
• FN (Falsos Negativos): 5 Valor Predictivo Positivo (Precisión): 75,8% Es la proporción
• FP (Falsos Positivos): 8 de casos positivos predichos que fueron verdaderamente
• TN (Verdaderos Negativos): 62 positivos. (TP/(TP+FP))=25/33
Etapa 4 – Estimar Modelo KNN Clasif. Binaria
Bondad de Ajuste – Curva ROC(Receiver Operating Characteristic)
La Curva ROC es una herramienta gráfica utilizada para evaluar el
rendimiento de un modelo de clasificación binaria. Muestra la
relación entre la tasa de verdaderos positivos (sensibilidad) y la
tasa de falsos positivos (1 - especificidad) a través de diferentes
umbrales de decisión.
Un modelo es representado por una curva.
Diagonal Principal: Una línea diagonal de 45 grados desde la
esquina inferior izquierda hasta la esquina superior derecha
representa un modelo que hace predicciones aleatorias.
Curva por Encima de la Diagonal: Un modelo cuyo ROC se curva El AUC (área total bajo la curva ROC) es una métrica que
hacia el lado superior izquierdo es mejor que un modelo cuantifica el rendimiento global del modelo de
aleatorio. clasificación. Mide la capacidad del modelo para distinguir
Curva Perfecta: Un modelo ideal tendría una curva ROC que entre las categorías/clases. Si el valor de AUC es:
pasa por el punto (0,1), lo que indica una tasa de falsos positivos 0.5 < AUC < 1: Cuanto más cercano a 1, mejor es el
de 0 y una tasa de verdaderos positivos de 1. rendimiento del modelo.
Facilita la comparación entre diferentes modelos de
Facilita la comparación entre diferentes modelos de clasificación. clasificación. El modelo con mayor AUC muestra mejor
Un modelo cuya curva está más alejada de la diagonal es mejor. ajuste.
Etapa 4 – Estimar Modelo KNN Clasif. Multiclase
Bondad de Ajuste – Matriz de Confusión
Imaginemos que tenemos un modelo de clasificación que ha sido probado en un conjunto de datos, y
tenemos las siguientes predicciones y etiquetas verdaderas <<Categorías: A, B, C>>
Modelos con mayor valor %Accuracy tienen mejor ajuste.
Tasa Error Clasificación = 1 - %Accuracy. Si usamos este
criterio, el mejor modelo es el de menor tasa de error.
Balanced Accuracy, es especialmente útil cuando las clases
tienen tamaños diferentes y se quiere asegurar que el
modelo tenga un buen desempeño en todas las clases, no
%Error = 0,42 (1- Exactitud (Accuracy))
solo en las más frecuentes.
Exactitud (Accuracy): Recall (Sensibilidad) por Clase:
Total de Predicciones Correctas = 3 (A) + 2 (B) + 2 (C) = 7 Recall para A = 3 / 4 = 0.75
Total de Casos = 4 (A) + 5 (B) + 3 (C) = 12 Recall para B = 2 / 5 = 0.4
Accuracy = 7 / 12 = 0.58 Recall para C = 2 / 3 = 0.66
Precisión (Precision) por Clase: Precisión y Recall Macro-Promedio:
Precisión para A = 3 / 5 = 0.6 Precisión Macro = (0.6 + 0.5 + 0.66) / 3 ≈ 0.58
Precisión para B = 2 / 4 = 0.5 Recall (Sensibilidad) Macro = (0.75 + 0.4 + 0.66) / 3 ≈ 0.61
Precisión para C = 2 / 3 = 0.66 <<Balanced Accuracy>>
Etapa 4 – Estimar Modelo KNN Clasif. Multiclase
Bondad de Ajuste – Matriz de Confusión – Otros indicadores
Imaginemos que tenemos un modelo de clasificación que ha sido probado en un conjunto de datos, y
tenemos las siguientes predicciones y etiquetas verdaderas <<Categorías: A, B, C>>
F1-Score
Es la media armónica de la precisión y el recall, y su valor varía entre 0 y 1, donde 1 es
el mejor valor posible y 0 el peor. Interpretación: Un F1-Score alto indica que el
modelo tiene un buen equilibrio entre precisión y recall. Si uno de ellos es
significativamente más bajo que el otro, el F1-Score disminuirá. Esto lo hace
particularmente útil en situaciones donde un equilibrio entre la precisión y el recall es
importante.
Macro-Promedio
F1-Score por Clase: Es el promedio de la métrica (precisión, recall o F1-Score) para cada clase. No tiene en
F1 para A = 2 * (0.6 * 0.75) / (0.6 + 0.75) ≈ 0.6667 cuenta el desequilibrio de clases (es decir, trata a todas las clases por igual).
Interpretación: Un macro-promedio alto sugiere que el modelo tiene un buen
F1 para B = 2 * (0.5 * 0.4) / (0.5 + 0.4) ≈ 0.4444
rendimiento en todas las clases. Es útil cuando quieres asegurarte de que el modelo
F1 para C = 2 * (0.6667 * 0.6667) / (0.6667 + 0.6667) = funciona bien en todas las clases, incluso en las menos representadas
0.6667
Precisión y Recall Macro-Promedio: Micro-Promedio
Precisión Macro = (0.6 + 0.5 + 0.6667) / 3 ≈ 0.5889 Medida del rendimiento general, ponderada por el número de muestras en cada clase.
Recall (Sensibilidad) Macro = (0.75 + 0.4 + 0.6667) / 3 ≈ Se obtiene calculando la métrica global (como precisión, recall o F1-Score) sumando los
totales de verdaderos positivos, falsos positivos y falsos negativos de todas las clases.
0.6056 <<Balanced Accuracy>> Interpretación: Un micro-promedio alto sugiere que el modelo tiene un buen
Precisión y Recall Micro-Promedio: rendimiento general, considerando todas las clases en conjunto. Es útil donde algunas
Precisión Micro = Recall Micro = Total de Predicciones clases pueden estar mucho más representadas que otras, ya que da más peso a las
Correctas / Total de Casos = 7 / 12 = 0.5833 clases con más muestras.
Etapa 4 – Estimar Modelo KNN Clasif. Multiclase
Bondad de Ajuste – Jaccard
Imaginemos que tenemos un modelo de clasificación que ha sido probado en un conjunto de datos, y
tenemos las siguientes predicciones y etiquetas verdaderas <<Categorías: A, B, C>>
Índice de Jaccard para cada Clase
Clase A:
TP = 3, FP (predichos como A pero no son A) = 1 + 1 = 2, Interpretación – Usual para datos binarios
FN (reales A pero predichos como otra clase) = 1
El Índice de Jaccard varía entre 0 y 1, y proporciona una medida
Jaccard A = 3 / (3 + 2 + 1) = 3 / 6 = 0.5
Clase B: de cuán bien se solapan las predicciones de cada clase con las
TP = 2, FP = 1 + 1 = 2, FN = 1 + 1 = 2 etiquetas verdaderas. Un valor más cercano a 1 indica un mejor
Jaccard B = 2 / (2 + 2 + 2) = 2 / 6 = 0.3333 rendimiento. En este ejemplo, la clase A tiene el mayor Índice
Clase C: de Jaccard, lo que indica un mejor rendimiento de clasificación
TP = 2, FP = 1 + 1 = 2, FN = 1 + 1 = 2 para la clase A en comparación con las clases B y C. Y a nivel
Jaccard C = 2 / (2 + 2 + 2) = 2 / 6 = 0.3333 total (enfoque macro), un valor cercano a 1 sugiere que el
Macro: modelo está haciendo predicciones muy precisas y
(0,5 + 0,3333 + 0,3333 ) / 3 = 0,388
coincidentes con las etiquetas verdaderas.
Etapa 6 – Validación – KNN Clasif. Multiclase
Evaluar estabilidad y generalización
• Antes de modelar, tomamos tempranamente la decisión de como realizar
la validación. De esta manera, cubrimos el entrenamiento y validación al
mismo tiempo. Procederemos con k-fold Cross Validation.
• Conjuntos de Entrenamiento / Prueba
• Ambos enfoques son muy utilizados.
• 70% - 30% Pueden aplicarse de forma individual o
• 80% - 20% incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 5 Predicción – KNN
Regresión____________________________________ Clasificación_________________________________
Digamos que queremos predecir el valor de Y (donde Y
Digamos que queremos predecir el valor de Y para una
puede ser 0 o 1) para una nueva observación donde X=3.5
nueva observación donde X=3.5
Por lo tanto, para X=3.5, nuestro modelo KNN de regresión Por lo tanto, para X=3.5, nuestro modelo KNN de
predice que Y sería 5, basado en el promedio de los valores clasificación predice que Y sería 1, basado en la clase más
de Y de los tres vecinos más cercanos. común entre los tres vecinos más cercanos.
Etapa 6 – Validación –
Evaluar estabilidad y generalización
• Conjuntos de Entrenamiento / Prueba
• 70% - 30%
• 80% - 20% • Ambos enfoques son muy utilizados.
Pueden aplicarse de forma individual o
incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
KNN para Regresión
CONCEPTOS BÁSICOS Y DIRECTRICES
Alex Moreno
Jul2024
HBAT – Descripción BDD Tipo (métrica/categórica)
HBAT aplicó estudio de mercado para comprender mejor las
características de sus clientes y cómo sus percepciones sobre la
empresa influyen en sus acciones.
Base de Datos HBAT: Formulario Detalle codificación var. categóricas
aplicado a 100 clientes (gerentes
de compras).
• Sección1: 5 variables sobre la
naturaleza de los clientes,
obtenida de la información
interna disponibles
• Sección2: 13 son percepciones
sobre el desempeño de HBAT
medidas en una escala de 0
(pobre) a 10 (excelente).
• Sección3: 5 variables sobre la
experiencia y relaciones entre
sus clientes con HBAT.
Etapa 1 – Objetivos – KNN Regresión
HBAT está interesado en predecir el NIVEL DE SATISFACCION DE SUS CLIENTES.
Aplicaremos KNN para predecir esta variable en función de las percepciones de los
clientes.
Contamos con la base de datos del estudio de mercado realizado previamente.
Donde X19 tiene el nivel de satisfacción de los clientes entrevistados (var.
dependiente), y las variables X6 a X18 las percepciones de sus clientes sobre HBAT.
(var. independientes)
Objetivos:
1) Predicción de valor numérico (REGRESIÓN): Calcular el Nivel de Satisfacción de
sus Clientes (0 a 10)
NO HAY OBJETIVO DE INTERPRETACION → CON KNN NO SE PUEDE DETERMINAR
LAS VARIABLES QUE INFLUYEN MAS/MENOS, NI LA DIRECCION DE LA RELACION
Etapa 2 – Diseño Estudio – KNN Regresión
1) Variables:
A) Variable métrica dependiente: X19 (Satisfacción de clientes respectos a compras previas de
HBAT, medida en escala métrica de 0 a 10, donde 0 significa “pobre” y 10 “excelente”)
B) Variables independientes: Desde x6 a x18, son las percepciones de los clientes respecto a varios
aspectos de HBAT. Todas son métricas, y están medidas de forma similar, desde 0 hasta 10. No se
necesita estandarizar. Pero si se estandarizan, esta decisión incide además en la predicción de
datos nuevos, que tendrán también que ser estandarizados usando la misma transformación
(media y desv. estándar) usada en los datos de entrenamiento, previo a la generación de su
pronóstico.
C) Se usará “Distancia Euclídea” para calcular la distancia entre las observaciones, dada la
naturaleza métrica de las variables predictoras
1) Muestra:
A) BDD con 100 casos, 13 variables predictoras y 1 variable dependiente. Relación 100a13, lo que
dividir para 13 nos da 7,7a1, por lo que supera el mínimo para este tipo de problemas (5a1)
Etapa 3 – Supuestos – KNN Regresión
EDA (Análisis Exploratorio de datos)
Todas las variables son métricas, y
están medidas de forma similar,
desde 0 hasta 10.
Constatamos que las escalas no
difieren notablemente y son
comparables, por lo que no se
necesita estandarizar.
Estandarizar ayudaría a mejorar los
resultados de la técnica, cuando las
variables predictoras difieren
notablemente en sus escalas
originales.
Aunque no es necesario en este
caso, si se estandarizan no habría
ningún problema tampoco.
Etapa 3 – Supuestos – KNN Regresión
EDA (Análisis Exploratorio de datos)
Aunque KNN no asume ningún tipo de relación
previamente (lineal o no lineal), puede ser útil chequear
las correlaciones lineales para comprender las variables
que pueden influir en la respuesta. Sin embargo, esto con
carácter exploratorio porque KNN no nos dirá las
variables relevantes para generar su pronóstico.
Principalmente observamos las correlaciones con la
variable dependiente, en este caso x19, y vemos que x6,
x8, x11, x16 y x18 muestran relación directa y x13
indirecta.
*Las Xs son correlaciones no significativas al 0,05 de confianza
Etapa 3 – Supuestos – KNN Regresión
EDA (Análisis Exploratorio de datos)
Esta visualización resume correlaciones
sobre la diagonal, histogramas en la
diagonal, y scatterplots debajo de la
diagonal. La misma información del
slide anterior pero en una sola vista,
aunque puede ser más difícil de leer
Los histogramas nos darán idea de la
distribución de los datos de cada
variable. Las correlaciones y los
scatterplots nos informarán sobre la
relación lineal entre cada pareja de
variables, analítica y visualmente.
Principalmente observamos las
correlaciones con la variable
dependiente, y en este caso x19, y
vemos que x6, x8, x11, x16 y x18
muestran relación directa y x13
indirecta.
Etapa 6 – Validación – KNN Regresión
Evaluar estabilidad y generalización
• Conjuntos de Entrenamiento / Prueba
• 70% - 30%
• 80% - 20% • Ambos enfoques son muy utilizados.
Pueden aplicarse de forma individual o
incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 4 – Estimar Modelo KNN Regresión
Determinar mejor valor de k (mejor modelo) con Train/Test data
PROCESO:
1) Entrenamiento del modelo: KNN memoriza los datos de entrenamiento para usarlos posteriormente al hacer predicciones.
2) Predicción en datos de prueba: Para cada instancia en los datos de prueba, se determina su “predicción” en función al
promedio de los "k" vecinos más cercanos en los datos de entrenamiento. En este caso, considerando la distancia euclidiana
porque las variables predictoras son métricas.
3) Validación en datos de prueba: Las predicciones realizadas por el modelo en los datos de prueba se comparan con los
valores reales de los datos de prueba. Para cada modelo, es decir, para cada valor de k, se utilizan métricas de evaluación,
como el MSE o RMSE para evaluar la calidad de las predicciones.
70%Train-30%Test
Para pronosticar nuevos datos, no
Data Prueba En este ejemplo, dividimos la muestra en 70% necesitamos repetir el proceso de
KNN TEST MSE entrenamiento y 30% prueba. Luego generamos 10 modelos
K=1 0,84
entrenamiento. Directamente
(k desde 1 hasta 10), y se calcula su MSE para cada uno. aplicamos el algoritmo con 𝑘=7, lo
K=2 0,82
En este ejemplo, el mejor nivel de predicción se alcanza con que significa que la predicción para
K=3 1,08
K=4 1,23
K=7 vecinos, ya que tiene el menor MSE de 0,79. El segundo el nuevo caso se realiza comparando
K=5 1,28 mejor modelo es 2NN es con k=2 (podemos decir 2NN). con los 7 vecinos más cercanos en
K=6 1,30 *En la práctica, se pueden generar varias veces la separación los datos de entrenamiento.
K=7 0,79 aleatoria de los datos de entrenamiento y prueba, y replicar K=1 es un modelo que puede salir, pero
K=8 0,96 el algoritmo sobre ellos. El interés está en determinar un es sobreajustado a los datos y más
K=9 0,97 valor estable de K o al menos un rango aceptable. inestable, por lo que se sugiere explorar
K=10 1,10 con valores > 1
Etapa 5 – Predicción – KNN Regresión
Predicción
Con el modelo seleccionado KNN con K=7 vecinos podemos
proceder a realizar pronósticos.
La predicción de una nueva observación implicaría:
Como ejemplo, se ha realizado el pronóstico para todo el 1) calcular la distancia de la nueva observación vs
conjunto de datos original (100 casos). El gráfico compara todas las observaciones del conjunto
valor real de la variable dependiente x19 vs su valor entrenamiento.
pronosticado. El MSE= 0,6877 2) determinar los K=7 observaciones más cercanas.
3) El pronóstico de la nueva observación sería el
valor promedio de x19 de sus 7 vecinos más
cercanos.
4) En el caso de empates de distancia (más de dos
observaciones a la misma distancia), se utilizan
todas las observaciones empatadas para calcular
el promedio
No se puede determinar cuáles variables tienen
mayor incidencia en el pronóstico.
Etapa 6 – Validación – KNN Regresión
Evaluar estabilidad y generalización
• Conjuntos de Entrenamiento / Prueba
• 70% - 30%
• 80% - 20% • Ambos enfoques son muy utilizados.
Pueden aplicarse de forma individual o
incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 4 – Estimar Modelo KNN Regresión
Determinar mejor valor de k (mejor modelo) con k-fold CrossValidation
PROCESO:
Los datos inicialmente no se dividen en entrenamiento y prueba, porque Cross Validation hará esa participación por nosotros,
solo debemos decirle cuantas particiones distintas debe hacer.
Por ejemplo, si aplicamos 4-fold CROSS-VALIDATION, se dividirá los datos en 4 partes iguales y hará 4 validaciones. En la
primera validación, elegirá 3 de las partes para entrenar el modelo y 1 parte como datos de prueba para evaluarlo. En la
segunda validación, cambiará la parte de prueba, y así en cada validación irá cambiando la parte de prueba. Al final, habrá
validado utilizando todos los datos disponibles, pero realizando particiones distintas en cada iteración, y reportará el
promedio del error MSE o RMSE de las 4 validaciones como medida de evaluación.
En este ejemplo, el mejor nivel de predicción se
MSE alcanza con K=2 vecinos con RMSE de 0,71
CV1 CV2 CV3 CV4 Prom (MSE=0,51). El segundo mejor modelo es el de
k=2 vecinos 0,67 0,81 0,65 0,73 0,7144 k=3. Noten que k=7 está lejos de ser el mejor
Por ejemplo, para K=2 y 4fold-CV: modelo, pero fue la sugerencia anterior.
En la primera iteración CV1 se *CrossValidation es un método que automatiza la
obtiene un MSE de 0,67. Para la participación de los datos de entrenamiento y prueba,
segunda iteración un MSE de 0,81. proporcionando una evaluación más robusta del
Al final, el MSE promedia es 0,7144 desempeño del modelo, y cuyos resultados suelen ser
más fiables y consistentes en comparación con los
obtenidos utilizando una única división de
entrenamiento/prueba
Etapa 5 – Predicción – KNN Regresión
Predicción
Con el modelo seleccionado KNN con K=2 vecinos podemos
proceder a realizar pronósticos.
La predicción de una nueva observación implicaría:
Como ejemplo, se ha realizado el pronóstico para todo el
1) calcular la distancia de la nueva observación vs
conjunto de datos original (100 casos). El gráfico compara
todas las observaciones del conjunto
valor real de la variable dependiente x19 vs su valor
entrenamiento.
pronosticado para los 100c casos. El MSE= 0,3397
2) determinar los K=2 observaciones más cercanas.
3) El pronóstico de la nueva observación sería el
valor promedio de x19 de sus 2 vecinos más
cercanos.
4) En el caso de empates de distancia (más de dos
observaciones a la misma distancia), se utilizan
todas las observaciones empatadas para calcular
el promedio
No se puede determinar cuáles variables tienen
mayor incidencia en el pronóstico.
Etapa 6 –Selección Modelos KNN Regresión
Comparación y selección de Modelos
La selección del mejor modelo se extiende para comparar aquellos
INTERPRETACIÓN: Recordar que la variable
sugeridos utilizando la validación train/test vs cross-validation.
dependiente es la SATISFACCION DEL CLIENTE,
medida desde 0 (pobre) a 10 (excelente).
Se compara el MSE en datos de prueba vs el promedio MSE en datos
Aquí vemos buen desempeño general en
de prueba de la CV. Regularmente el método CV da resultados más
pronosticar la satisfacción del cliente, dada la
fiables, que el método train/test, esto no significa que proporciona
cercanía de los puntos a la recta, sin embargo,
MSE más bajos, sino más “reales”.
para algunos clientes con satisfacción entre 7 y
8, el modelo ha subestimado su nivel de
El mejor modelo es el de menor MSE. En este caso, corresponde a
satisfacción.
K=2.
k= MSE
Modelo elegido Train/Test k=7 0,79
Modelo elegido con CV K=2 0,51
Un gráfico muy interesante para mostrar la calidad de los pronósticos
es el diagrama de dispersión de datos reales vs los pronosticados.
Mientras los puntos mejor formen una línea recta, mejor calidad de
predicciones. Puede generarse solo los datos de entrenamiento, los de
prueba, o todos.
KNN para Clasificación
Binaria
CONCEPTOS BÁSICOS Y DIRECTRICES
Alex Moreno
Jul2024
HBAT – Descripción BDD Tipo (métrica/categórica)
HBAT aplicó estudio de mercado para comprender mejor las
características de sus clientes y cómo sus percepciones sobre la
empresa influyen en sus acciones.
Base de Datos HBAT: Formulario Detalle codificación var. categóricas
aplicado a 100 clientes (gerentes
de compras).
• Sección1: 5 variables sobre la
naturaleza de los clientes,
obtenida de la información
interna disponibles
• Sección2: 13 son percepciones
sobre el desempeño de HBAT
medidas en una escala de 0
(pobre) a 10 (excelente).
• Sección3: 5 variables sobre la
experiencia y relaciones entre
sus clientes con HBAT.
Etapa 1 – Objetivos – KNN Clasificación
Binaria
En HBAT, las percepciones de los clientes varían según si son atendidos directamente dentro de
USA o por distribuidores fuera de USA. Tras una migración de datos y un ataque hacker, se perdió
la ubicación geográfica de los clientes, pero se recuperaron las percepciones.
Utilizaremos datos de un estudio de mercado previo para desarrollar un modelo de clasificación
basado en las percepciones de los clientes (variables X6 a X18) y su ubicación (variable
dependiente X4). Aplicaremos el algoritmo KNN para clasificar a los clientes como "dentro de USA"
o "fuera de USA" usando las percepciones recuperadas.
Con miles de clientes a nivel global, priorizaremos el uso del modelo para identificar clientes y
enfocar los esfuerzos de recuperación de información de manera eficiente y estratégica.
Objetivos:
1)Clasificación: Calcular un valor categórico (no métrico) – x4: Cliente dentro de USA vs Fuera de
USA
NO HAY OBJETIVO DE INTERPRETACION → CON KNN NO SE PUEDE DETERMINAR LAS VARIABLES
QUE INFLUYEN MAS/MENOS, NI LA DIRECCION DE LA RELACION
Etapa 2 – Diseño Estudio – KNN Clasificación
Binaria
1) Variables:
A) Variable categórica dependiente: X4 Región que contiene la localización de clientes, codificada:
Fuera de USA = 1
Dentro USA = 0
B) Variables independientes: Desde x6 a x18, son las percepciones de los clientes respecto a varios
aspectos de HBAT. Todas son métricas, y están medidas de forma similar, desde 0 hasta 10. No se
necesita estandarizar. Sin embargo, los estandarizaremos para mostrar el proceso. Esta decisión
incide además en la predicción de datos nuevos, que tendrán también que ser estandarizados
usando la misma transformación (media y desv. estándar) usada en los datos de entrenamiento,
previo a la generación de su pronóstico.
C) Se usará “Distancia Euclídea” porque las variables predictoras son todas métricas
1) Muestra:
A) La clase “DentroUSA” tiene 39 casos. La relación es 39a13 = 3a1.. Por lo que no se alcanzaría lo
mínimo para este grupo. La clase “FueraUSA” tiene 61 casos. La relación es 61a13 = 4,7a1.. Por lo
que no se alcanzaría lo mínimo para este grupo. Continuamos con la aplicación de este ejercicio,
pero anotamos la muestra mínima que deberíamos alcanzar en cada caso.
B) La base tiene 39 casos con x4=0 y 61 casos con x4=1. El balance tiene relación adecuado 39%-61%.
(ideal es 50%/50%). No se realiza balanceo de datos.
Etapa 3 – Supuestos – KNN Clasificación
Binaria
NO HAY SUPUESTOS ESTADÍSTICOS
EDA (Exploratory Data Analysis)
Etapa 3 – Supuestos – KNN Clasif. Binaria.
EDA – Entender relaciones
Var dependiente vs
independientes:
Boxplots: x6 ,x11,
x13, x17 muestran
comportamiento
distintos por cada
categoría de x4.
Scatterplots:
nubex4 “separable”
x6, x11, x17
Entre vars.
Independientes:
Correlaciones
relevantes entre
X8vsx14, x7vsx12,
x9vsx11,x9vsx16,
x9vsx18, x11vsx18,
x16vsx18, x17vs18
Etapa 6 – Validación – KNN Clasif. Binaria
Evaluar estabilidad y generalización
• Antes de modelar, tomamos tempranamente la decisión de cómo realizar
la validación. De esta manera, cubrimos el entrenamiento y validación al
mismo tiempo. Procederemos con k-fold Cross Validation.
• Conjuntos de Entrenamiento / Prueba
• Ambos enfoques son muy utilizados.
• 70% - 30% Pueden aplicarse de forma individual o
• 80% - 20% incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 4 – Estimar Modelo KNN Clasif.Binaria
Determinar mejor valor de k (mejor modelo) con k-fold CrossValidation
PROCESO:
Los datos inicialmente no se dividen en entrenamiento y prueba, porque Cross Validation hará esa participación por nosotros,
solo debemos decirle cuantas particiones distintas debe hacer.
Por ejemplo, si aplicamos 4-fold CROSS-VALIDATION, se dividirá los datos en 4 partes iguales y hará 4 validaciones. En la
primera validación, elegirá 3 de las partes para entrenar el modelo y 1 parte como datos de prueba para evaluarlo. En la
segunda validación, cambiará la parte de prueba, y así en cada validación irá cambiando la parte de prueba. Al final, habrá
validado utilizando todos los datos disponibles, pero realizando particiones distintas en cada iteración, y reportará el
promedio del error MSE o RMSE de las 4 validaciones como medida de evaluación.
ACCURACY En este ejemplo, el mejor nivel de
KNN CV1 CV2 CV3 CV4 Prom predicción se alcanza con K=8 vecinos con
K=8 0,82 0,96 0,84 0,87 0,87 %ACCURACY de 87,11%.
Por ejemplo, para K=8 y 4fold-CV: Lo cual implica que el %Error de
En la primera iteración CV1 obtenemos clasificación es 12,89%
un Accuracy de 0,82. En la segunda *CrossValidation es un método que automatiza
iteración 0,96 y así sucesivamente. Al la participación de los datos de entrenamiento y
final se reporta el promedio 0,87. prueba, proporcionando una evaluación más
Kappa mide si modelo está haciendo un robusta del desempeño del modelo, y cuyos
buen trabajo al predecir las clases correctas,
resultados suelen ser más fiables y consistentes
mejor que lo que se esperaría por azar. Varía
de -1 a 1: < 0: peor que por el azar; = 0: en comparación con los obtenidos utilizando una
acuerdo no es mejor que por azar; = 1: única división de entrenamiento/prueba
acuerdo perfecto (Ideal >0,4)
Etapa 5 – Predicción – KNN Clasif.Binaria
Predicción
Con el modelo seleccionado KNN con K=8 vecinos podemos La clasificación de una nueva observación implicaría:
proceder a realizar pronósticos, es decir, a clasificar. 1) calcular la distancia de la nueva observación vs
Como ejemplo, se ha realizado la clasificación para todo el todas las observaciones actuales (conjunto
conjunto de datos original (100 casos). Recordemos que el entrenamiento).
objetivo es clasificar a los clientes por su ubicación. La 2) determinar las K=8 observaciones más cercanas.
codificación que usamos es: Fuera de USA = 1 3) El pronóstico de la nueva observación sería por
VOTING, esto es, el pronóstico es la
Dentro USA = 0 clase/categoría más frecuente (dentro o fuera de
La matriz de confusión y la curva ROC se utilizar para USA) de x4 en sus ocho vecinos más cercanos. En
comunicar resultados en clasificación binaria. el caso de empate se realiza pronóstico aleatorio.
4) En el caso de empates en las distancias (más de 8
ROC CURVE observaciones a la misma distancia), se utilizan
todas las observaciones empatadas para aplicar
VOTING.
No se puede determinar cuáles variables tienen
incidencia en el pronóstico.
AUC: 0,9599
Etapa 5 – Predicción – KNN Clasif.Binaria
Interpretación ROC CURVE
Recordemos que el objetivo es clasificar a los clientes
por su ubicación. La codificación que usamos es:
Fuera de USA = 1
Dentro USA = 0
AUC: 0,9599
El modelo 8NN alcanza una Exactitud del 86% (Accuracy).
Lo que equivale a un %Error de Clasificación de 14%.
El 82% de los clientes extranjeros fueron clasificados Perspectiva Gerencial:
correctamente (Sensibilidad (Recall 50/61)) Recordemos que nuestro objetivo es completar la
El 92% de los clientes locales (dentro USA) fueron información de ubicación que se perdió de miles de clientes.
clasificados correctamente. Especificidad: 88,6%. (36/39) La compañía necesita iniciar el contacto con ellos para
El 94% de las predicciones de clientes extranjeros fueron recuperar esta información adicional, pero busca evitar altos
correctas (Precisión) (50/53) costos y mantener una imagen positiva con clientes no
La Curva ROC muestra que se tiene un buen modelo afectados, priorizando las llamadas a clientes extranjeros. El
(lejos de la diagonal), al igual que el AUC que es muy modelo de clasificación implementado alcanza una alta
cercano a uno. precisión del 94% en la identificación de clientes extranjeros.
Utilizar esta información nos permite recuperar datos críticos
de manera estratégica sin comprometer nuestra reputación
ni aumentar costos innecesarios.
KNN para Clasificación
Multiclase
CONCEPTOS BÁSICOS Y DIRECTRICES
Alex Moreno
Jul2024
HBAT – Descripción BDD Tipo (métrica/categórica)
HBAT aplicó estudio de mercado para comprender mejor las
características de sus clientes y cómo sus percepciones sobre la
empresa influyen en sus acciones.
Base de Datos HBAT: Formulario Detalle codificación var. categóricas
aplicado a 100 clientes (gerentes
de compras).
• Sección1: 5 variables sobre la
naturaleza de los clientes,
obtenida de la información
interna disponibles
• Sección2: 13 son percepciones
sobre el desempeño de HBAT
medidas en una escala de 0
(pobre) a 10 (excelente).
• Sección3: 5 variables sobre la
experiencia y relaciones entre
sus clientes con HBAT.
Etapa 1 – Objetivos – KNN Clasificación
Multiclase
En HBAT, las percepciones de los clientes varían según su antigüedad. Tras una migración de datos
y un ataque hacker, se perdió esta información de miles de clientes, pero se recuperaron las
percepciones.
Utilizaremos datos de un estudio de mercado previo para desarrollar un modelo de clasificación
basado en las percepciones de los clientes (variables X6 a X18) y su antigüedad (variable
dependiente X1). Aplicaremos el algoritmo KNN para clasificar a los clientes como “Menos de 1
año”, “Entre 1 y 5 años” y “Más de 5 años” usando las percepciones recuperadas.
Con miles de clientes a nivel global, priorizaremos el uso del modelo para identificar clientes y
enfocar los esfuerzos de recuperación de información de manera eficiente y estratégica.
Objetivos:
1)Clasificación: Calcular un valor categórico (no métrico) – x1: Antigüedad en años
NO HAY OBJETIVO DE INTERPRETACION → CON KNN NO SE PUEDE DETERMINAR LAS VARIABLES
QUE INFLUYEN MAS/MENOS, NI LA DIRECCION DE LA RELACION
Etapa 2 – Diseño Estudio – KNN Clasificación
Multiclase
1) Variables:
A) Variable categórica dependiente: X1 contiene la antigüedad de los clientes, codificada:
Menos de 1 año = 1
Entre 1 y 5 años = 2
Más de 5 años = 3
B) Variables independientes: Desde x16 a x18, son las percepciones de los clientes respecto a varios aspectos
de HBAT. Todas son métricas, y están medidas de forma similar, desde 0 hasta 10. No se necesita
estandarizar. Sin embargo, los estandarizaremos para mostrar el proceso. Esta decisión incide además en la
predicción de datos nuevos, que tendrán también que ser estandarizados usando la misma transformación
(media y desv. estándar) usada en los datos de entrenamiento, previo a la generación de su pronóstico.
C) Se usará “Distancia Euclídea” dada la naturaleza métrica de los predictores
1) Muestra:
A) La clase “Menos de 1 año” tiene 32 casos, la relación es 32a13= 2,5a1. La clase “Entre1y5años” tiene
35 casos, la relación es 35a13=2,7a1. La clase “Más de 5 años” tiene 33 casos, la relación es 33a13=
2,53a1. En ninguna clase se alcanzaría lo mínimo 5a1. Continuamos con la aplicación de este
ejercicio, pero anotamos la muestra mínima que deberíamos alcanzar en cada caso.
B) La base tiene 32, 35 y 33 casos para las clases x1=1, 2 y 3 respectivamente. El balance tiene relación
adecuado 32%-35%-33%. (ideal es 33,3%/33,3%/33,3%). No se realiza balanceo de datos.
Etapa 3 – Supuestos – KNN Clasif. Multiclase
EDA – Entender relaciones
Var dependiente vs
independientes:
Boxplots: x11 muestra
comportamiento
distinto por cada
categoría de x1,
seguido de x6 ,x9, x11,
x13, x16, x18.
Scatterplots: nubex1
“separable” x6,
x11,x13, x17
Entre vars.
Independientes:
Correlaciones
relevantes entre
X8vsx14, x7vsx12,
x9vsx11,x9vsx16,
x9vsx18, x11vsx18,
x16vsx18, x17vs18
Etapa 4 – Estimar Modelo KNN Clasif. Multiclase
Determinar mejor valor de k (mejor modelo) con k-fold CrossValidation
PROCESO:
Los datos inicialmente no se dividen en entrenamiento y prueba, porque Cross Validation hará esa participación por nosotros,
solo debemos decirle cuantas particiones distintas debe hacer.
Por ejemplo, si aplicamos 4-fold CROSS-VALIDATION, se dividirá los datos en 4 partes iguales y hará 4 validaciones. En la
primera validación, elegirá 3 de las partes para entrenar el modelo y 1 parte como datos de prueba para evaluarlo. En la
segunda validación, cambiará la parte de prueba, y así en cada validación irá cambiando la parte de prueba. Al final, habrá
validado utilizando todos los datos disponibles, pero realizando particiones distintas en cada iteración, y reportará el
promedio del error MSE o RMSE de las 4 validaciones como medida de evaluación.
ACCURACY
KNN CV1 CV2 CV3 CV4 Prom
K=7 0,72 0,76 0,74 0,79 0,75
En este ejemplo, el mejor nivel de predicción se
Por ejemplo, para K=7 y 4fold-CV: alcanza con K=7 vecinos con %ACCURACY de
En la primera iteración CV1 se obtiene 75,44%. → % Error de Clasificación 24,56%
un Accuracy de 0,72, en la segunda
CV2 un 0,76 ý así sucesivamente. Al *CrossValidation es un método que automatiza la
final, el Accuracy promedio es 0,75 participación de los datos de entrenamiento y
Kappa mide si modelo está haciendo un prueba, proporcionando una evaluación más
buen trabajo al predecir las clases correctas, robusta del desempeño del modelo, y cuyos
mejor que lo que se esperaría por azar. Varía resultados suelen ser más fiables y consistentes en
de -1 a 1: < 0: peor que por el azar; = 0: comparación con los obtenidos utilizando una única
acuerdo no es mejor que por azar; = 1: división de entrenamiento/prueba
acuerdo perfecto (Ideal >0,4)
Etapa 5 – Predicción – KNN Clasif. Multiclase
Predicción
Con el modelo seleccionado KNN con K=7 vecinos podemos Para clasificar a una nueva observación seguimos el
proceder a realizar pronósticos. mismo proceso descrito. El pronóstico de la nueva
Como ejemplo, se ha realizado la clasificación para todo el observación sería por VOTING, esto es, el pronóstico
conjunto de datos original (100 casos). Recordemos que el es la clase/categoría más frecuente (<1año,
objetivo es clasificar a los clientes por su antigüedad. La de1a5años, >5años) de x1 en sus siete vecinos más
codificación que usamos es: cercanos.
Menos de 1 año = 1
Entre 1 y 5 años = 2
Más de 5 años = 3
La matriz de confusión se utiliza para comunicar resultados
en clasificación multiclase. El %ACCURACY=0,83%. Lo que
equivale a que una tasa de error de clasificación de 17%
No se puede determinar cuáles variables tienen incidencia
en el pronóstico.
Etapa 5 – Predicción – KNN Clasif. Multiclase
Interpretación
Recordemos que el objetivo es clasificar a los clientes
por su antigüedad. La codificación que usamos es:
Menos de 1 año = 1
Entre 1 y 5 años = 2
Más de 5 años = 3
El modelo 7NN alcanza una Exactitud del 83% (Accuracy).
Lo que equivale a un %Error de Clasificación de 17%. Perspectiva Gerencial:
El 84% de los clientes jóvenes fueron clasificados Recordemos que nuestro objetivo es completar la
correctamente (Sensibilidad (Recall 27/32)) información de antigüedad que se perdió de miles de
El 80% de los clientes de “1 a 5 años de antigüedad” clientes. La compañía necesita iniciar el contacto con ellos
fueron clasificados correctamente. (Sensibilidad (Recall para recuperar esta información adicional, pero busca evitar
28/35)) altos costos y mantener una imagen positiva con clientes no
El 85% de los clientes más antiguos fueron clasificados afectados, priorizando las llamadas a clientes antiguos. El
correctamente. (Sensibilidad (Recall 28/33)) modelo de clasificación implementado alcanza una alta
El 80% de las predicciones de clientes antiguos fueron precisión del 80% en la identificación de clientes antiguos.
correctas (Precisión) (28/35) Utilizar esta información nos permite recuperar datos críticos
de manera estratégica sin comprometer nuestra reputación
ni aumentar costos innecesarios.
Decision Trees
CONCEPTOS BÁSICOS Y DIRECTRICES
Alex Moreno
Julio2024
Árboles de Decisión
(Decision Trees)
Los árboles de decisión son un tipo de
modelo de aprendizaje supervisado utilizado
tanto para clasificación como para regresión.
Visualmente, un árbol de decisión se
asemeja a un árbol invertido, donde cada
nodo representa una decisión basada en
una característica del conjunto de datos,
cada rama representa el resultado de esa
decisión, y cada hoja representa un valor de
predicción final o una categoría.
Árboles de Decisión
• Ventajas
• Interpretabilidad: Los árboles de decisión son fáciles de entender e interpretar, incluso para personas sin un profundo
conocimiento en estadística.
• Manejo de Diferentes Tipos de Datos: Pueden manejar tanto variables numéricas como categóricas.
• No Linealidad: Son capaces de capturar relaciones no lineales entre las características y la variable de respuesta.
• Preprocesamiento Mínimo: No requieren de mucho preprocesamiento de los datos (por ejemplo, no es necesario escalar los
datos). (para variables categóricas no es necesario crear dummies/one-hot variables
• Identificación de Características Importantes: Pueden identificar las características más significativas del conjunto de datos.
• Desventajas
• Sobreajuste: Tienden a sobreajustarse, especialmente en árboles muy profundos o con conjuntos de datos pequeños.
• Inestabilidad: Pequeñas variaciones en los datos pueden resultar en un árbol de decisión completamente diferente.
• Poca Generalización: A veces no generalizan bien el problema, lo que conduce a un rendimiento deficiente en datos no
vistos.
• Problemas con Datos Desbalanceados: Pueden tener un rendimiento deficiente en conjuntos de datos desbalanceados.
Árboles de Decisión
– Como funciona en REGRESION
Paso 1: Inicio. Comienza con todos los datos en la raíz. (Predicción general = Promedio variable dependiente)
Paso 2: Mejor División
• Evalúa todas las divisiones posibles. (Cada variable)
• Elige la que minimiza la variabilidad (RSS).
Paso 3: Dividir el Nodo. Crea dos subnodos a partir de la mejor división.
Paso 4: Repetición. Repite los pasos 2 y 3 para cada subconjunto.
Paso 5: Criterio de Parada: Se detiene cuando se alcanza un número mínimo de datos por nodo (5), profundidad máxima (# niveles en
el árbol, considerando ruta más larga desde nodo raíz hasta los nodos terminales), o reducción mínima en RSS.
Paso 6: Poda. Después de construir el árbol completo, recorta el árbol para evitar el sobreajuste.
• Utiliza validación cruzada para determinar el tamaño óptimo.
Paso 7: Árbol Final. Utiliza el árbol podado para predicciones para una nueva observación.
• Para hacer una predicción se sigue el camino en el árbol según las características de esta observación hasta llegar a un nodo hoja.
• La predicción es el promedio de valores en el nodo hoja.
Árboles de Decisión
Regresión
nodos
ramas
Salario depende de Años y Hits
Importancia predictores por
aparición en el árbol (arriba
hacia abajo). En este caso, Años
hojas más importante, después Hits
** 2 niveles
La base se divide en grupos (reglas). La predicción de
cada grupo, es el promedio de la variable dependiente
Un jugador que tiene 6 años y 80 hits, tiene un salario
de log(6) que es $402,834
Vd V1 V2
Árboles de Decisión 1
1
1 1
1 0
– Como funciona en CLASIFICACION 0
0
0 1
0 0
Paso 1: Inicio. Comienza con todos los datos en la raíz. (Predicción general = Categoría más frecuente en Var.Dependiente)
Paso 2: Mejor División
• Evalúa todas las divisiones posibles. (Cada variable). La mejor división es aquella que maximiza la pureza del nodo (o minimiza la
impureza). Las métricas comunes para medir la impureza incluyen la Entropía y el Índice Gini.
• Entropía: Un valor de 0 significa que todas las observaciones en el conjunto pertenecen a una sola clase (pureza completa). La
entropía alcanza su máximo (Hmax=log2(m)) cuando las m clases están perfectamente equilibradas, indicando mayor impureza.
• Índice Gini: Un valor de 0 indica la pureza perfecta, es decir, todas las observaciones en un nodo pertenecen a una sola clase. A
medida que la distribución de clases se vuelve más uniforme, el Índice de Gini se acerca a 1, indicando mayor impureza.
Paso 3: Dividir el Nodo. Crea dos (o más) subnodos a partir de la mejor división.
Paso 4: Repetición. Repite los pasos 2 y 3 para cada subconjunto.
Paso 5: Criterio de Parada. Se detiene cuando se alcanza un número mínimo de datos por nodo (5), profundidad máxima ((# niveles
en el árbol, considerando ruta más larga desde nodo raíz hasta los nodos terminales), todos los elementos en un nodo pertenecen a
una sola clase, o no se logra una mejora significativa en la pureza después de una división.
Paso 6: Poda. Después de construir el árbol completo, recorta el árbol para evitar el sobreajuste.
• Utiliza validación cruzada para determinar el tamaño óptimo.
Paso 7: Árbol Final. Utiliza el árbol podado para clasificar nuevas observaciones.
• Para clasificar se sigue el camino en el árbol según las características de esta observación hasta llegar a un nodo hoja.
• La clase asignada es la clase más común en el nodo hoja alcanzado
Árboles de Decisión
Clasificación
nodos
ramas
Predicción de clientes Con/Sin
Cardiopatía. Importancia
predictores por aparición en el
árbol (arriba hacia abajo). En
este caso, Thal más importante,
después Ca, MaxHR, ChestPain
**3 niveles
La base se divide en grupos (reglas). La predicción de
hojas cada grupo, es por Voting, la categoría más frecuente
en la variable dependiente.
Una persona que Tiene Thal=a, Ca=0,7, ChestPain=c,
tendrá un pronóstico de NO tener cardiopatía
Etapas de Análisis (Hair)
Como buena práctica, desarrollar análisis en orden…
• Etapa 1: Objetivos
• Etapa 2: Diseño
• Etapa 3: Supuestos
• Etapa 4: Modelización
• Etapa 5: Interpretación/Predicción
• Etapa 6: Validación
Etapa 1 – Objetivos Arboles de Decisión
Objetivos:
1) Predicción
• Clasificación: Calcular un valor categórico (no métrico)
o
• Regresión: Calcular un valor numérico (métrico)
2) Interpretación:
• Importancia de Variables
• Umbrales de decisión
Etapa 2 – Diseño Estudio –
Árboles de Decisión
1) Variables:
A) Si es para clasificación: Determinar Variable Categórica Dependiente (2 o más categorías)
B) Si es para regresión: Determinar Variable Métrica Dependiente
C) Variables independientes: todo tipo
D) No se necesitan estandarizar variables métricas
E) No se necesitan recodificar variables categóricas (dummies/one-hot)
F) Seleccionar variables relevantes a priori.
2) Muestra:
A) No se determina cantidad mínima
B) No se especifica relación de casos/variables, pero se indica que debe haber muchas más
observaciones que variables (más que lo indicado como mínimo en ARLM (5:1) y ARLOG (10:1)
C) Para clasificación: trabajar con datos balanceados (misma cantidad de casos por cada categoría de
variable dependiente) – Si no están balanceados, mantener relación mínima de casos/variables 10:1
por cada grupo de la variable dependiente (como en ARLOG)
Etapa 3 – Supuestos – Árboles de Decisión
NO HAY SUPUESTOS ESTADÍSTICOS
Etapa 3 – Supuestos – Árboles de Decisión
EDA – Entender relaciones
Var dependiente vs
independientes:
Boxplots: x6 ,x11,
x13, x17 muestran
comportamiento
distintos por cada
categoría de x4.
Scatterplots:
nubex4 “separable”
x6, x11, x17
Entre vars.
Independientes:
Correlaciones
relevantes entre
X8vsx14, x7vsx12,
x9vsx11,x9vsx16,
x9vsx18, x11vsx18,
x16vsx18, x17vs18
Etapa 4 – Estimar Modelo
Árboles de Decisión…
Genera un árbol profundo
Número mínimo de datos por nodo (5),
Profundidad máxima (# nodos máximos desde raíz hasta hijos: raíz nivel 0)
Reducción mínima en RSS. / Índice de Pureza(Gini/Entropía)
Aplica “Poda” del árbol
Después de construir el árbol completo, recorta el árbol para evitar el sobreajuste.
Utiliza validación cruzada para determinar el tamaño óptimo (#nodos).
Pronóstico (Árbol final)
Regresión: Promedio valores variable dependiente en el nodo
Clasificación: Voting (categoría más frecuente) en el nodo. Desempates: En caso de empates
(especialmente relevante cuando K es un número par), el algoritmo puede elegir la clase del vecino más cercano o realizar
una elección aleatoria, dependiendo de la implementación específica del algoritmo.
Balance de Clases:
En clasificación, si algunas clases son mucho más comunes que otras, el modelo podría estar sesgado hacia estas clases más
comunes. En tales casos, podrías necesitar técnicas de balanceo de clases.
Etapa 5 – Predicción/Interpretación
Árboles de Decisión…
Regresión____________________________________ Clasificación_________________________________
Un jugador que tiene 6 años y 80 hits, tiene un salario Una persona que Tiene Thal=a, Ca=0,7, ChestPain=c,
de log(6) que es $402,834 tendrá un pronóstico de NO tener cardiopatía
Etapa 6 – Validación –
Evaluar estabilidad y generalización
• Conjuntos de Entrenamiento / Prueba
• 70% - 30%
• 80% - 20% • Ambos enfoques son muy utilizados.
Pueden aplicarse de forma individual o
incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Árboles de Decisión
para Regresión
HBAT – Descripción BDD Tipo (métrica/categórica)
HBAT aplicó estudio de mercado para comprender mejor las
características de sus clientes y cómo sus percepciones sobre la
empresa influyen en sus acciones.
Base de Datos HBAT: Formulario Detalle codificación var. categóricas
aplicado a 100 clientes (gerentes
de compras).
• Sección1: 5 variables sobre la
naturaleza de los clientes,
obtenida de la información
interna disponibles
• Sección2: 13 son percepciones
sobre el desempeño de HBAT
medidas en una escala de 0
(pobre) a 10 (excelente).
• Sección3: 5 variables sobre la
experiencia y relaciones entre
sus clientes con HBAT.
Etapa 1 – Objetivos – Trees Regresión
HBAT está interesado en predecir el NIVEL DE SATISFACCION DE SUS CLIENTES.
Aplicaremos Árboles de Decisión para predecir esta variable en función de las percepciones
de los clientes. Dado que la técnica permite introducir variables categóricas fácilmente, se
incluirán las variables de la sección 1 en el grupo de predictores.
Contamos con la base de datos del estudio de mercado realizado previamente. Donde X19
tiene el nivel de satisfacción de los clientes entrevistados (var. dependiente), las variables X6
a X18 las percepciones de sus clientes sobre HBAT. (var. independientes) y las variables
descriptivas X1 a X5 (var. independientes)
Objetivos:
1) Predicción de valor numérico (REGRESIÓN): Calcular el Nivel de Satisfacción de sus
Clientes (0 a 10)
2) Interpretación: Identificar variables relevantes en la predicción, con sus respectivos
umbrales de decisión.
Etapa 2 – Diseño Estudio – Trees Regresión
1) Variables:
A) Variable métrica dependiente: X19 (Satisfacción de clientes respectos a compras previas de
HBAT, medida en escala métrica de 0 a 10, donde 0 significa “pobre” y 10 “excelente”)
B) Variables independientes:
A) Desde x16 a x18, son las percepciones de los clientes respecto a varios aspectos de HBAT.
Todas son métricas, y están medidas de forma similar, desde 0 hasta 10. No se necesita
estandarizar.
B) Por otro lado, las variables X1 a X5 son categóricas. La técnica permita trabajar con ellas sin
recodificación (dummies/one-hot)
1) Muestra:
A) BDD con 100 casos, 18 variables predictoras y 1 variable dependiente. Relación 100:19 = 5,3:1 por lo
que supera el mínimo para problemas de regresión (5:1)
Etapa 3 – Supuestos – Trees Regresión
NO HAY SUPUESTOS ESTADÍSTICOS
EDA (Exploratory Data Analysis): Se realizó previamente en
ARLM. <<se enfocó en análisis de correlaciones, linealidad,
homocedasticidad, normalidad entre var. dependiente
métrica vs las demás>>
Etapa 4 – Estimar Modelo Trees Regresión
100% Datos Originales (TrainData=TestData)
PROCESO:
1) Se genera un árbol profundo con x19 como variable dependiente, y las variables independientes x1, x2 hasta x18.
2) Árbol profundo significa que cada hoja/nodo puede tener incluso 1 solo elemento. En R se pueden controlar varios
argumentos para controlar como crece el árbol (profundidad, # elementos por nodo, ganancia en %pureza o reducción
%error.
En el árbol se presentan las variables más relevantes para
pronosticar x19. En este caso x1,x5,x12,x6,x17,x11y x13. Las
otras no intervienen en la predicción.
Profundidad árbol = 5 (número divisiones)
Deviance es similar a MSE – Indicador de bondad de ajuste,
es decir, nivel de error, en este caso 0,2339 = SE / (n-#hojas)
** MSE sería SE/n = 20,82 / 100
Etapa 5 – Interpretación– Trees Regresión
100% Datos Originales (TrainData=TestData)
La variables que aparecen en el árbol son relevantes en la predicción.
Además las que aparecen primero son más importantes que las que
aparecen en la parte de abajo. En este caso x1,x5,x12,x6,x17,x11y x13. Las
otras variables no intervienen en la predicción.
Además del árbol, podemos leer en la forma de “reglas de decisión” (a la
izquierda). Para cada nodo se presenta la cantidad de elementos en el nodo,
deviance(SSE), pronóstico y el (*) indica que se trata de una hoja.
Etapa 5 – Interpretación– Trees Regresión
100% Datos Originales (TrainData=TestData)
En cada nodo, además de la variable se presenta el umbral de decisión.
Para variables categóricas, son las categorías que dividen la decisión. Ejemplo:
Al inicio del árbol tenemos “x1:1” que significa que si x1 es 1, es decir, para
clientes de menos de “1 año de antigüedad”, continuamos por la rama izquierda,
caso contrario por la derecha.
Si vamos por la izquierda, luego observamos “x5:0”, es decir si “Sistema de
Distribución es indirecto” continuamos por la rama izquierda, caso contrario
continuamos por la derecha.
Etapa 5 – Interpretación– Trees Regresión
100% Datos Originales (TrainData=TestData)
En cada nodo, además de la variable se presenta el umbral de decisión.
Para variables métricas, es un valor que divide la decisión. Ejemplo:
A la derecha tenemos “x12<5,36” que significa que si x12 es menor que 5,35, es
decir, para clientes que calificaron a “Salesforce Imagen” con menos de 5,35
continuamos por la rama izquierda, caso contrario por la derecha.
Si vamos por la derecha, luego observamos si “x11<6,5”, es decir para clientes
que calificaron a “Product Line” con menos de 6,5 continuamos por la rama
izquierda, caso contrario continuamos por la derecha.
Etapa 5 – Pronóstico – Trees Regresión
100% Datos Originales (TrainData=TestData)
La predicción de una nueva observación sería:
Si una observación tiene los siguientes valores para
cada variable presente en el árbol: x1=1, x5=1, x12=7,
x6=8, x17=10, x11=8 y x13=3. Las otras no intervienen
en la predicción.
• Como x1=1, tomamos rama izquierda, luego sgte
nodo es x5 .
• Como x5=1, tomamos rama derecha, que conduce
a una hoja.
• Al llegar a una hoja, la misma contiene la
predicción. En este caso, el pronóstico sería Nivel de
Satisfacción x19=6,456.
En este ejemplo, notar que con solo dos variables
categóricas obtenemos una predicción. Aquí todo
cliente con menos de 1 año de antigüedad (x1=1) y con
sistema de distribución directa (x5=1), siempre tendrá
como pronóstico x19=6,456
Etapa 5 – Pronóstico – Trees Regresión
100% Datos Originales (TrainData=TestData)
Con el árbol profundo generado podemos proceder a
realizar pronósticos. Sin embargo, recordar que podría tener
problemas de “sobreajuste”
Como ejemplo, se ha realizado el pronóstico para todo el
conjunto de datos original (100 casos). El gráfico compara
valor real de la variable dependiente x19 vs su valor
pronosticado para los 100c casos. El MSE= 0,2081
Etapa 4 – Podar Modelo Trees Regresión
100% Datos Originales (TrainData=TestData)
PROCESO:
1) Utiliza Cross-Validation para validar el árbol con distintos niveles de profundidad (# de
nodos) y calcula el MSE para cada uno de ellos
2) Selecciona un árbol de profundidad óptima. Considerando la ganancia en Deviance. El
gráfico compara el Deviance vs tamaño árbol; podemos ver que a partir de 8 nodos hojas, la
ganancia en reducción de Deviance es mínima. Por tanto, podamos el árbol a 8 nodos hojas,
el mismo que mostramos abajo:
Ahora tenemos un árbol más simple: menos hojas
5 variables relevantes (antes eran 7).
Deviance = 0,2796 , el indicador de bondad de ajuste.
Es normal que sea mayor vs el árbol más profundo
0,2339
Etapa 5 – Pronóstico – Trees Regresión
100% Datos Originales (TrainData=TestData)
Con el árbol podado (8 nodos hojas) generado podemos
proceder a realizar pronósticos.
Como ejemplo, se ha realizado el pronóstico para todo el
conjunto de datos original (100 casos). El gráfico compara
valor real de la variable dependiente x19 vs su valor
pronosticado para los 100c casos. El MSE= 0,2572
Comparamos este MSE=0,2572 vs el obtenido con el árbol
profundo MSE=0,2081. Si bien el anterior es menor (lo
deseable, debemos considerar que:
Estamos ajustando el modelo sobre el total de datos (por
tanto no estamos evaluando capacidad predictiva en datos
de prueba distintos a los usados para entrenar. Por tanto, el
árbol profundo (o maximal) estaría sobreajustado a los
datos de entrenamiento. Por ello, se prefiere un árbol
podado que tendría mejor capacidad de generalización.
Etapa 6 – Validación – Trees Regresión
Evaluar estabilidad y generalización
• Conjuntos de Entrenamiento / Prueba
• 70% - 30%
• 80% - 20% • Ambos enfoques son muy utilizados.
Pueden aplicarse de forma individual o
incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 4 – Estimar Modelo Trees Regresión
TrainData70%, TestData30%
PROCESO:
1) En la data de entrenamiento, se genera un árbol profundo, y luego se poda.
2) Luego, evaluamos su nivel de error, usando la data de prueba, mediante el MSE <<TEST MSE>>
A continuación, se presenta árbol maximal con 9 nodos hoja , y el podado con 8 nodos hoja. El
árbol podado coincide en el número de nodos hoja con el calculado previamente, sin embargo
está construido con otras variables y umbrales de decisión, denotando la naturaleza sensible de
esta técnica.
Árbol Profundo/Maximal Árbol Podado
En el cuadrado el MSE sobre los datos de
entrenamiento, pero es más relevante el TEST MSE,
calculado sobre los datos prueba, el cual es 0,6161.
Se identifica 5 variables relevantes: x1,x9,x11,x12,x6
Test MSE: 0,5419 Profundidad árbol: 4.
Test MSE: 0,6161
Etapa 5 – Pronóstico – Trees Regresión
TrainData70%, TestData30%
Con el árbol podado (8 nodos hoja) generado podemos
proceder a realizar pronósticos.
Como ejemplo, se ha realizado el pronóstico para todo el
conjunto de datos original (100 casos). El gráfico compara
valor real de la variable dependiente x19 vs su valor
pronosticado para los 100c casos. El MSE= 0,3525
Comparamos este MSE=0,3525 vs el obtenido con el árbol
podado construido sobre el total de datos (MSE=0,2572). Si
bien el anterior es menor (lo deseable, debemos considerar
que:
Este modelo si está evaluado sobre datos de prueba
distintos a los datos donde se entrenó, y por ende tiene
mayor capacidad de generalización.
Etapa 6 – Validación – Trees Regresión
Evaluar estabilidad y generalización
• Conjuntos de Entrenamiento / Prueba
• 70% - 30%
• 80% - 20% • Ambos enfoques son muy utilizados.
Pueden aplicarse de forma individual o
incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 4 – Estimar Modelo Trees Regresión
k-fold CrossValidation
PROCESO:
1) Utilizando k-fold CROSS-VALIDATION. En lugar de generar un solo árbol, se pueden generar k árboles podados, sobre k
particiones de la base de datos.
A continuación, se presenta la salida usando 10-fold CROSS-VALIDATION. En total, se generaron múltiples árboles (uno por
cada valor de cp probado en cada pliegue) y se evaluaron. Luego, se seleccionó el valor de cp que proporcionó el mejor
rendimiento promedio en términos de RMSE, y ese valor de cp se utilizó para construir el modelo final con el árbol
seleccionado.
Utilizando CrossValidation no es posible representar
solución gráficamente con un árbol.
Se identifica como variables relevantes a:
x9,x18a,x6,x16a,x17a,x11a,x13,x12a,x13a,x7.
Se desconoce profundidad árbol
El RMSE – Indicador de bondad de ajuste, es decir,
nivel de error, en este caso 1,0031
Etapa 5 – Pronóstico – Trees Regresión
k-fold CrossValidation
Con el modelo de CV generado podemos proceder a realizar
pronósticos.
Como ejemplo, se ha realizado el pronóstico para todo el
conjunto de datos original (100 casos). El gráfico compara
valor real de la variable dependiente x19 vs su valor
pronosticado para los 100c casos. El MSE= 0,7116
Comparamos este MSE=0,7116 con el anterior modelo del
árbol podado ajustado sobre el 100% de los datos (MSE=
0,3525). Si bien el anterior es menor (lo deseable, debemos
considerar que:
Estamos ajustando este modelo sobre una base A pesar de no poder visualizar el árbol,
particionada 10 veces en datos de prueba y entrenamiento, podemos intuir que es bien simple, al generar
por lo que esperamos tenga un mejor capacidad de básicamente 3 predicciones.
generalización.
Árboles de Decisión para
Clasificación Binaria
HBAT – Descripción BDD Tipo (métrica/categórica)
HBAT aplicó estudio de mercado para comprender mejor las
características de sus clientes y cómo sus percepciones sobre la
empresa influyen en sus acciones.
Base de Datos HBAT: Formulario Detalle codificación var. categóricas
aplicado a 100 clientes (gerentes
de compras).
• Sección1: 5 variables sobre la
naturaleza de los clientes,
obtenida de la información
interna disponibles
• Sección2: 13 son percepciones
sobre el desempeño de HBAT
medidas en una escala de 0
(pobre) a 10 (excelente).
• Sección3: 5 variables sobre la
experiencia y relaciones entre
sus clientes con HBAT.
Etapa 1 – Objetivos – Trees Clasificación
Binaria
En HBAT, las percepciones de los clientes varían según si son atendidos directamente dentro de USA o por
distribuidores fuera de USA. Tras una migración de datos y un ataque hacker, se perdió la ubicación
geográfica de los clientes, pero se recuperaron las percepciones.
Utilizaremos datos de un estudio de mercado previo para desarrollar un modelo de clasificación basado en
las percepciones de los clientes (variables X6 a X18) y su ubicación (variable dependiente X4). Aplicaremos
el algoritmo Árboles de decisión para clasificar a los clientes como "dentro de USA" o "fuera de USA"
usando las percepciones recuperadas. Se incluirán también las variables de la sección 1 en el grupo de
predictores.
Con miles de clientes a nivel global, priorizaremos el uso del modelo para identificar clientes y enfocar los
esfuerzos de recuperación de información de manera eficiente y estratégica.
Objetivos:
1) Clasificación: Calcular un valor categórico (no métrico) – x4: Cliente dentro de USA vs Fuera de USA.
2) Interpretación: Identificar variables relevantes en la clasificación, con sus respectivos umbrales de
decisión.
Etapa 2 – Diseño Estudio – Trees Clasificación
Binaria
1) Variables:
A) Variable categórica dependiente: X4 Región que contiene la localización de clientes, codificada:
Fuera de USA = 1 Dentro USA = 0
B) Variables independientes: Desde x16 a x18, son las percepciones de los clientes respecto a varios
aspectos de HBAT. Todas son métricas, y están medidas de forma similar, desde 0 hasta 10. No se
necesita estandarizar..
C) Por otro lado, las variables X1,X2,X3 y X5 son categóricas. La técnica permita trabajar con ellas sin
recodificación (dummies/one-hot)
1) Muestra:
A) BDD con 100 casos, 17 variables predictoras y 1 variable dependiente. Relación 100:18 = 5,6:1. Se
espera que alcance el mínimo de ARLOG (que es 10:1) pero no lo alcanza. En todo caso continuamos.
B) La base tiene 39 casos con x4=0 y 61 casos con x4=1. El balance tiene relación adecuado 39%-61%.
(ideal es 50%/50%). No se realiza balanceo de datos.
En la práctica, es importante realizar un análisis exploratorio de datos (EDA) para comprender la naturaleza de los datos y determinar si se
cumplen estos criterios. Mientras que estos criterios son útiles como pautas generales, la toma de decisiones en la selección del tamaño
del conjunto de datos y la relación casos/variables debe basarse en un análisis cuidadoso de la situación específica
Etapa 3 – Supuestos – Trees Clasificación
Binaria
NO HAY SUPUESTOS ESTADÍSTICOS
EDA (Exploratory Data Analysis): Se realizó previamente en
ARLOG. <<se enfocó en análisis de relaciones lineales/no
lineales entre var.dependiente e independientes>>
Etapa 3 – Supuestos – Trees Clasif. Binaria.
EDA – Entender relaciones
Var dependiente vs
independientes:
Boxplots: x6 ,x11,
x13, x17 muestran
comportamiento
distintos por cada
categoría de x4.
Scatterplots:
nubex4 “separable”
x6, x11, x17
Entre vars.
Independientes:
Correlaciones
relevantes entre
X8vsx14, x7vsx12,
x9vsx11,x9vsx16,
x9vsx18, x11vsx18,
x16vsx18, x17vs18
Etapa 6 – Validación – Trees Clasif. Binaria
Evaluar estabilidad y generalización
• Antes de modelar, tomamos tempranamente la decisión de como realizar
la validación. De esta manera, cubrimos el entrenamiento y validación al
mismo tiempo. Procederemos con Entrenamiento/Prueba.
• Conjuntos de Entrenamiento / Prueba
• Ambos enfoques son muy utilizados.
• 70% - 30% Pueden aplicarse de forma individual o
• 80% - 20% incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 4 – Estimar Modelo Trees Clasif.Binaria
TrainData70%, TestData30%
PROCESO:
1) En la data de entrenamiento, se genera un árbol profundo, y luego se poda.
2) Luego, evaluamos su nivel de error, usando la data de prueba, mediante el %Accuracy, o
%TestErrorRate (1-Accuracy)
A continuación, se presenta el árbol podado con 5 nodos (coincide con maximal)
Árbol Podado
TasaErrorEntrenamiento ? 0,03. Pero es más relevante
el la TasaErrorPrueba=TEST Error Rate, calculado
sobre los datos prueba, el cual es 0,10.
%Accuracy: 90%
Test Error Rate: 10% Se identifica 3 variables relevantes: x17,x11, x6
Profundidad árbol: 5 nodos.
Etapa 5 – Predicción – Trees Clasif.Binaria
TrainData70%, TestData30%
Con el modelo entrenado podemos proceder a realizar
pronósticos.
Como ejemplo, se ha realizado el pronóstico para todo el
conjunto de datos original (100 casos). La matriz de
confusión compara valor real de la variable dependiente x4
vs su valor pronosticado para los 100c casos. El
%ACCURACY=97%. Lo que equivale a que una tasa de error
de clasificación de 3%
La predicción de una nueva observación sería:
Si una observación tiene los siguientes valores para cada
variable presente en el árbol: x17=3, x11=3, x6=8.
• Como x17=3<4,65, tomamos rama izquierda, luego
sgte nodo es x11 .
• Como x11=3<5,5, tomamos rama izquierda, que
conduce a una hoja.
• Al llegar a una hoja, la misma contiene la predicción.
En este caso, el pronóstico sería Localización x1=1
(Fuera de USA)
Etapa 6 – Validación – KNN Regresión
Evaluar estabilidad y generalización
• Antes de modelar, tomamos tempranamente la decisión de como realizar
la validación. De esta manera, cubrimos el entrenamiento y validación al
mismo tiempo. Procederemos con k-fold Cross Validation.
• Conjuntos de Entrenamiento / Prueba
• Ambos enfoques son muy utilizados.
• 70% - 30% Pueden aplicarse de forma individual o
• 80% - 20% incluso combinado.
• Cross-Validation además puede servir para
• Cross-Validation (k-folding) optimizar parámetros de los algoritmos.
• No hay un estándar sobre el % para dividir
• 5-folding la base en entrenamiento/prueba, ni para
elegir las k-subparticiones en CV. Se
• 10-folding presentan aquí las elecciones más comunes.
Etapa 4 – Estimar Modelo Trees Clasif.Binaria
k-fold CrossValidation
PROCESO:
1) Utilizando k-fold CROSS-VALIDATION. En lugar de generar un solo árbol, se pueden generar k árboles podados, sobre k
particiones de la base de datos.
A continuación, se presenta la salida usando 10-fold CROSS-VALIDATION. En total, se generaron múltiples árboles (uno por
cada valor de cp probado en cada pliegue) y se evaluaron. Luego, se seleccionó el valor de cp que proporcionó el mejor
rendimiento promedio en términos de ACCURACY, y ese valor de cp se utilizó para construir el modelo final con el árbol
seleccionado.
Utilizando CrossValidation no es posible representar
solución gráficamente con un árbol.
Se identifica como variables relevantes a:
x17a,x1aa,x6,x13a,x12,x12a,x18a,x16a,x9.
Se desconoce profundidad árbol
El Indicador de bondad de ajuste, % Accuracy, en este
caso es 0,85. Equivale a nivel de error 0,15
Etapa 5 – Predicción – Trees Clasif.Binaria
k-fold CrossValidation
Con el modelo entrenado podemos proceder a realizar
pronósticos.
Como ejemplo, se ha realizado el pronóstico para todo el
conjunto de datos original (100 casos). La matriz de
confusión compara valor real de la variable dependiente x4 Al comparar el %Accuracy de este modelo 91% vs
vs su valor pronosticado para los 100 casos. El el anterior (95%), vemos que el anterior luce
%ACCURACY=91%. Lo que equivale a que una tasa de error mejor (mayor precisión es mejor). Sin embargo,
de clasificación de 9% debemos considerar que este último ajuste se
realizó sobre 10 particiones distintas de la base
de datos, lo que lo hace más robusto para la
generalización.
Support Vector Machines SVM
Máquinas de soporte vectorial
CONCEPTOS BÁSICOS
Alex Moreno
Jul2024
SVM - Support Vector Machines
SVM, que significa "Máquinas de Vectores de Soporte" (en inglés, Support Vector
Machines), es un tipo de algoritmo de aprendizaje supervisado utilizado en el campo
de la inteligencia artificial y la ciencia de datos, especialmente para tareas de
clasificación y regresión. Aquí te detallo sus características, usos, ventajas y
desventajas:
¿Qué es SVM?
Concepto: Un SVM es un modelo que representa los puntos de datos en el espacio, separando las diferentes
clases mediante un margen lo más amplio posible. Utiliza hiperplanos (una especie de línea en dimensiones
superiores) para lograr esta separación.
Funcionamiento: El objetivo principal de un SVM es encontrar el hiperplano óptimo que maximiza la distancia
entre los puntos de datos de las distintas categorías.
¿Para qué sirve?
Clasificación: Es ampliamente utilizado para tareas de clasificación, como distinguir entre dos o más categorías
diferentes. (SVC - Vectores de Soporte de Clasificación)
Regresión: También puede adaptarse para resolver problemas de regresión (SVR - Vectores de Soporte de
Regresión)
SVM - Introducción
• Las máquinas de vectores de soporte (SVM) incluyen técnicas para problemas de clasificación binarios (SVC-
Vectores de Soporte de Clasificación) y de Regresión (SVR Vectores de Soporte de Regresión). Fueron
desarrollados por Vapnik en los 90’s. Funciona bien con conjuntos de entrenamientos con enorme cantidad
de variables predictoras, y tan solo decenas de instancias. El método aborda los problemas no lineales,
mapeando las instancias originales en un espacio de alta-dimensionalidad en donde sean más fáciles de
separar por funciones lineales. (Vapnik, 1995).
• Entre las principales propiedades de esta técnica tenemos: que los problemas de optimización tienen una
única solución, además se identifica al conjunto de vectores de soporte en la función de clasificación y\o
regresión, es poco sensible a los datos de entrenamiento por lo que facilita la generalización, y que puede
abordar complejos problemas de separación no lineales aplicando diversas funciones kernel.
• SVM requiere que cada instancia de datos sea representada como un vector de números reales. Se sugiere el
tratamiento previo de los datos para evitar problemas matemáticos y aprovechar mejor estas técnicas, tanto
para variables categóricas como para las numéricas. Esto incluye por ejemplo, la transformación de variables
nominales a numéricas (ONE HOT: para una variable con m categorías, crear m variables codificadas con 0s y
1s para indicar ausencia y presencia de las categorías), así como también el escalamiento lineal de variables
numéricas (variable con rango (-10,+9) escalar al rango (-1,+0.9) ). Además, usualmente es complicado
determinar en un inicio si los datos son linealmente separables o no, por lo que también se sugieren
procedimientos exploratorios. (Hsu, Chang & Lin, 2016)
SVM - Aplicaciones comunes
Clasificación de Imágenes: como reconocimiento facial, reconocimiento de objetos y clasificación de escenas.
Visión por Computadora: puede distinguir entre diferentes clases de imágenes basadas en características
extraídas.
Biología Computacional y Bioinformática: Clasificación de secuencias genéticas y proteínas. Predicción de
estructuras de proteínas y para identificar funciones de genes basadas en datos de expresión génica.
Análisis de Texto y Minería de Datos: Es eficaz en la clasificación de texto y análisis de sentimientos.
Categorización de documentos, filtrado de spam, análisis de opiniones en redes sociales, entre otros.
Finanzas y Predicción Económica: Análisis de series temporales, predicción de precios de acciones y detección de
fraudes financieros. Evaluación del riesgo crediticio y la predicción de movimientos del mercado.
Medicina y Diagnóstico Biomédico: Diagnósticos médicos para la clasificación de enfermedades basadas en datos
biomédicos. Predicción de resultados médicos y en la interpretación de imágenes médicas como la resonancia
magnética (RM) y la tomografía computarizada (TC).
Reconocimiento de Escritura y Reconocimiento de Voz: Sistemas de reconocimiento de escritura a mano y
reconocimiento de voz para la clasificación de diferentes patrones y características.
Predicción del Mercado y Minería de Datos: Predicción de tendencias del mercado financiero y en la minería de
datos para encontrar patrones complejos en grandes conjuntos de datos.
SVM: Ejemplo
Tenemos un conjunto de datos de correos electrónicos y
queremos clasificar un correo como "spam" o "no spam" Se ajusta un SVM con Kernel Radial.
(ham) basándonos en ciertas palabras que contiene. Se obtienen 6 vectores de soporte, 3 de la clase Spam y 3
Supongamos que nuestras características son la presencia o de Ham, que son las observaciones 1, 2, 6, 3, 5 y 7.
ausencia de tres palabras: "gratis", "oferta" y "ganar".
Tenemos el siguiente conjunto de datos de entrenamiento:
Entrenamiento
Email Gratis Oferta Ganar Clase
Email 1 Sí No No Spam
Email 2 Sí Sí No Spam
Email 3 No Sí Sí Ham
Email 4 No No No Ham
Email 5 Sí No Sí Spam
Email 6 Sí Sí Sí Spam
Email 7 No Sí No Ham
Email 8 Sí No No Spam
Email 9 No No Sí Ham Supongamos que tenemos un nuevo correo
Email 10 No Sí Sí Ham electrónico con las siguientes características:
Este modelo proporciona directamente el
pronóstico.
SVM - Support Vector Machines
• Ventajas
• Efectividad en Espacios de Alta Dimensión: Funciona bien en espacios con muchas dimensiones.
• Eficaz en Casos donde el Número de Dimensiones es Mayor que el Número de Muestras: Puede ser más eficiente que otros
algoritmos en estos escenarios.
• Uso del Kernel Trick: Puede manejar datos no lineales utilizando el "truco del kernel", lo que permite trabajar en espacios de
dimensiones aún mayores.
• Generalización: Tiende a tener una buena generalización, lo que significa que el riesgo de sobreajuste es menor comparado
con otros algoritmos.
• Detección de Outliers: Puede ser utilizado para identificar outliers o anomalías en los datos.
• Desventajas
• No es Adecuado para Grandes Conjuntos de Datos: Puede ser ineficiente en términos de tiempo de computación y memoria
con conjuntos de datos muy grandes.
• Selección de Kernel y Parámetros: La selección del tipo de kernel y la configuración de los parámetros pueden ser
complicadas y requieren experiencia.
• No Proporciona Probabilidades de Clase Directamente: A diferencia de otros clasificadores, no entrega probabilidades de
pertenencia a una clase de forma directa.
• Sensibilidad a Datos No Escalados: Requiere que los datos de entrada estén bien escalados para un rendimiento óptimo.
SVC - Vectores de Soporte de Clasificación
Aproximación intuitiva a su funcionamiento
• 1. Representación de Datos en un Espacio Multidimensional. Cada característica (variable) se considera como
una dimensión. Por ejemplo, si tenemos tres variables, sería un espacio tridimensional. Los puntos de datos
individuales (casos/observaciones/instancias se representan en este espacio basado en sus valores de
características.
• 2. Identificación del Hiperplano Óptimo. El objetivo de un SVM es encontrar un hiperplano que separe de la
mejor manera posible las dos clases/categorías de datos. En dos dimensiones, este hiperplano es
simplemente una línea. En tres dimensiones, es un plano, y en más dimensiones, es un hiperplano. Idealmente,
este hiperplano se elige de manera que tenga la máxima distancia (margen) a los puntos de datos más
cercanos de cada clase/categoría. Estos puntos más cercanos se llaman "vectores de soporte".
• 3. Maximización del Margen. SVM busca maximizar este margen para aumentar la eficacia del modelo en la
clasificación. El hiperplano con el margen máximo es considerado como el hiperplano óptimo.
• 4. Uso del Kernel Trick: En muchos casos, los datos no son linealmente separables en su espacio original. Aquí
es donde el "truco del kernel" se vuelve útil. Un kernel es una función que transforma el espacio de los datos a
una nueva dimensión donde es posible una separación lineal. Ejemplos comunes de kernels incluyen el lineal,
polinomial, y el de base radial (RBF).
• 5. Clasificación de Nuevos Puntos de Datos. Una vez entrenado el modelo, se puede utilizar para clasificar
nuevos puntos de datos. Dependiendo de en qué lado del hiperplano caiga el nuevo punto de datos, se le
asigna una clase/categoría u otra.
SVR - Vectores de Soporte de Regresión
Aproximación intuitiva a su funcionamiento
• Modelo de Regresión: En SVR, en lugar de buscar un hiperplano que separa dos clases, buscas un hiperplano
que mejor se ajuste a todos los puntos de datos. En términos simples, intentas trazar una línea que pase lo más
cerca posible de todos los puntos.
• Margen de Tolerancia (Epsilon): En lugar de maximizar el margen entre dos clases, en SVR define un margen
de tolerancia alrededor del hiperplano. Los puntos de datos que caen dentro de este margen se consideran
aceptables y no contribuyen al error del modelo.
• Vectores de Soporte: Los puntos de datos que están en el borde o fuera de este margen de tolerancia son los
"vectores de soporte". Estos puntos son cruciales para construir el modelo, ya que ayudan a definir la posición
y orientación del hiperplano.
• Funciones Kernel: Al igual que en SVM para clasificación, SVR también puede utilizar diferentes funciones
kernel para manejar datos no lineales. Esto permite que el modelo se ajuste a una variedad de patrones
complejos en los datos.
• Minimización del Error: El objetivo es encontrar el hiperplano que tenga la menor desviación posible de los
vectores de soporte, manteniendo la mayoría de los puntos dentro del margen de tolerancia.
• Realización de Predicciones. Se aplica la ecuación o función aprendida durante el entrenamiento. En términos
prácticos, esto implica: Tomar las características del nuevo punto de datos, aplicar la función o hiperplano
aprendido (incluyendo el uso de la función kernel si es necesario), el resultado es el valor predicho.
SVM – Aprox. Intuitiva en espacio 2 Dimensiones
Relaciones lineales/no lineales - Kernels
En todos los ejemplos, mapeamos los casos/observaciones según dos variables independientes métricas (X1 y X2) vs una
variable dependiente (cada categoría con diferente color)
• Ejemplo1: Podemos ver que las nubes de colores son fácilmente
separables (verdes vs rojas), tal vez por una línea (hiperplano en
el caso de dos dimensiones). A la derecha vemos tal línea
generada por SVM.
• Ejemplo2: Vemos que en la nube de colores, estos no se pueden
separar fácilmente por una línea. Se aplica “kernels” cuyo efecto
es generar una frontera no lineal. A la derecha vemos la frontera
generada por SVM, la cual es capaz de detectar la naturaleza no
lineal y realizar predicciones más ajustadas a los datos.
• Ejemplo3: (Clasificación multiclases). La var. dependiente tiene 3
categorías, igualmente difíciles de separar linealmente, pero
aplicando kernels SVM puede generar también es capaz de crear
“fronteras” más ajustadas para lograr una mejor clasificación de las 3
cayegoría. Un árbol generaría particiones “rectangulares”, mientras
que SVM es más flexible y puede ajustarse mejor a los datos.
Support Vector Machines SVM
Máquinas de soporte vectorial
Clasificadores
Alex Moreno
Jul2024
SVM utiliza Hiperplanos para clasificación
Un hiperplano es una extensión de un plano en un
espacio de mayor dimensión. En el contexto de
SVM:
• En un espacio bidimensional (2D), un hiperplano
es una línea.
• En un espacio tridimensional (3D), un hiperplano
es una superficie plana (como un plano).
• En espacios de mayor dimensión, un hiperplano
tiene una dimensión menor que el espacio en el
que reside. Por ejemplo, en un espacio de cuatro
dimensiones, un hiperplano es un volumen
tridimensional.
• En las SVM, un hiperplano se utiliza para separar
los datos en diferentes clases. El objetivo de la
SVM es encontrar el hiperplano que maximiza la
separación o el margen entre las dos clases más
cercanas, conocidas como los vectores de
soporte.
•El gráfico a la izquierda muestra dos clases de puntos, Clase 1 •El gráfico a la derecha muestra dos clases de puntos en un
en azul y Clase -1 en rojo. espacio tridimensional, Clase 1 en azul y Clase -1 en rojo.
•La línea negra discontinua representa el hiperplano que •La superficie negra semitransparente representa el
separa las dos clases. hiperplano que separa las dos clases.
Frontera de Decisión SVM - 2D
• En 2D el hiperplano es una línea. Puede haber infinitos hiperplanos que separen las clases, pero SVM elige el
óptimo que se convertiría en la frontera de decisión.
• Todo punto de un lado del plano, digamos arriba en el ejemplo, se clasifica como azul. Y todo punto del otro
lado del plano, en este caso abajo, se clasifica como rojo.
• Se puede considerar la distancia de cada punto vs el hiperplano: mientras más distante más segura la
clasificación, mientras más cercano, menos seguridad.
La forma general del hiperplano está dada por la ecuación:
Donde:
• son los coeficientes del hiperplano,
• son las características del punto i en el conjunto de
datos.
Para realizar la clasificación, se evalúa en qué lado del hiperplano cae
cada punto de datos:
•Si un punto xi satisface la ecuación
entonces se clasifica como perteneciente a la clase positiva
(generalmente codificada como +1).
•Si en cambio satisface la ecuación
entonces se clasifica como perteneciente a la clase negativa
Infinitos hiperplanos de separación.
(generalmente codificada como -1). Se muestran 3.
Hiperplano óptimo
SVM
Clasificadores Lineales
• Clasificador de Margen Máximo
• Clasificador de Margen Suave / Support Vector Classifier SVC
Clasificadores No Lineales – Uso de Kernels
• Máquinas de Soporte Vectorial para clasificación binaria - SVM
• Máquinas de Soporte Vectorial para clasificación multiclase - SVM
• Máquinas de Soporte Vectorial para regresión (SVR)
Clasificador de margen máximo
Clasificador de margen duro
El Clasificador de Margen Máximo está diseñado para funcionar bien con datos linealmente
separables. Es un método de clasificación que busca un hiperplano que maximice la
distancia (margen) entre las clases de datos. Los puntos de datos más cercanos al
hiperplano, llamados vectores de soporte son cruciales porque determinan la posición y
orientación del hiperplano. Si estos puntos se eliminan, el hiperplano cambiaría. El
hiperplano de margen máximo depende solo de los vectores de soporte y no de los otros
puntos de datos, lo que hace que el modelo sea robusto.
El objetivo del problema de optimización es maximizar el margen M,
Clases linealmente separables
asegurando que todos los puntos estén en el lado correcto del Se muestra hiperplano y márgenes
hiperplano y a una distancia mínima de M.
•Datos No Linealmente Separables: El
Clasificador de Margen Máximo solo es
efectivo con datos linealmente separables.
Para datos no separables linealmente, se
utilizan extensiones del SVM, como el
margen suave o funciones kernel.
•Sensibilidad a Ruido y Outliers: Este
clasificador puede ser sensible a outliers,
ya que un punto mal clasificado puede
•Los vectores de soporte son las observaciones que se encuentran afectar significativamente el hiperplano. En
exactamente en los bordes del margen (los puntos más cercanos al estos casos, se prefiere el SVM con Clases no linealmente separables
hiperplano). Estos puntos satisfacen la condición margen suave.
Clasificador de margen máximo
Clasificador de margen duro
Previamente comentamos que las observaciones pertenecientes a dos clases no siempre son separables por un
hiperplano. Incluso si existe un hiperplano separador, puede haber casos en los que un clasificador basado en
un hiperplano separador no sea deseable, ya que clasificará perfectamente todas las observaciones de
entrenamiento, lo que puede llevar a una alta sensibilidad a observaciones individuales.
En la figura derecha (vs la izquierda) se muestra que la adición de una sola observación puede cambiar
dramáticamente el hiperplano de margen máximo, resultando en un hiperplano insatisfactorio con un margen
muy pequeño. Esto es problemático porque la distancia de una observación al hiperplano se puede ver como
una medida de confianza en su clasificación correcta. La alta sensibilidad del hiperplano de margen máximo a
un cambio en una sola observación sugiere un posible sobreajuste a los datos de entrenamiento.
En este caso, puede ser preferible considerar un
clasificador basado en un hiperplano que no separe
perfectamente las dos clases, con el objetivo de:
•Mayor robustez ante observaciones individuales.
•Mejor clasificación de la mayoría de las observaciones
de entrenamiento.
Es decir, podría valer la pena clasificar incorrectamente
algunas observaciones de entrenamiento para mejorar
la clasificación del resto.
Hiperplano con mayor separación Hiperplano con menor separación
Clasificador de vectores de soporte SVC
Clasificador de Margen Suave / Support Vector Classifier
El clasificador de margen suave (Soft Margin Classifier) es una extensión del clasificador de margen máximo
que se utiliza para manejar situaciones en las que los datos no son perfectamente separables de forma lineal.
Cuando las clases no pueden ser separadas perfectamente por un hiperplano, el clasificador de margen suave
permite que algunas observaciones caigan en el lado incorrecto del margen o incluso del hiperplano. Esto se
traduce en un margen "suave" que puede ser violado por algunas observaciones de entrenamiento. Esto lo
convierte en un clasificador más robusto frente a outliers y ruido en los datos, y puede mejorar la capacidad del
modelo para generalizar a nuevos datos, reduciendo el riesgo de sobreajuste a los datos de entrenamiento.
En la figura izquierda, la mayoría de las
observaciones están en el lado correcto del
margen (inferior y superior), pero un pequeño
subconjunto está en el lado incorrecto (obs. 1 y
8). Algunas observaciones pueden estar en el
lado incorrecto del hiperplano, lo que significa
que están mal clasificadas. Esto es inevitable
cuando no existe un hiperplano separador. El
panel derecho de la figura derecha muestra un
ejemplo de esta situación. (obs. 11 y 12)
Observaciones en lado incorrecto del margen Observaciones en lado incorrecto del margen y del plano
Clasificador de vectores de soporte SVC
Clasificador de Margen Suave: Funcionamiento
Formulación del Problema de Optimización
El problema de optimización del SVM se formula para maximizar el ancho del margen (M)
sujeto a las siguientes restricciones:
donde ξi son las variables de holgura que permiten que algunas observaciones estén en el
lado incorrecto del margen o del hiperplano. El objetivo es encontrar un equilibrio entre
maximizar el margen y minimizar los errores de clasificación, controlado por parámetro C.
Selección de Vectores de Soporte en el Margen Suave
•Vectores de Soporte: Los vectores de soporte incluyen:
• Observaciones que están en el borde del margen.
• Observaciones que están dentro del margen (violando el margen).
• Observaciones que están en el lado incorrecto del hiperplano (violando el
hiperplano).
•Criterio: Estos puntos cumplen una de las siguientes condiciones:
• 0≤ξi<1: El punto está en el margen.
• ξi=0: El punto está en el borde del margen.
• ξi>1: El punto está en el lado incorrecto del hiperplano.
Los vectores de soporte son críticos porque determinan la posición y la orientación del
hiperplano. El número de vectores de soporte puede variar dependiendo del valor de C:
•C grande: Más vectores de soporte, mayor tolerancia a violaciones del margen. Márgenes a distintos valores de C: Figura SupIzq amplio C,
más vectores de soporte. Demás figuras presentan C más
•C pequeño: Menos vectores de soporte, menor tolerancia a violaciones del margen. pequeños hasta figura InfDer con C pequeño y pocos vectores
de soporte
Clasificador de vectores de soporte SVC
Función de decisión f(x) del Support Vector Classifier
En el cómputo del clasificador de vectores de soporte SVC (support vector classifier) se ha demostrado que la solución del
problema involucra únicamente productos internos de las observaciones, no las observaciones mismas. El producto interno
de dos vectores Xi y Xi’ se define como la suma de los productos de sus componentes correspondientes.
Para el clasificador de vectores de soporte lineal, representado como
se requieren únicamente los productos internos entre todas las parejas de observaciones de entrenamiento para estimar los
parámetros αi y β0.
Notablemente, los parámetros αi son distintos de cero solo
para los vectores de soporte en la solución. Si decimos que
S es el conjunto de los vectores de soporte, tenemos una
representación simplificada de la función f(x) utilizando
solo estos vectores de soporte.
En resumen, para representar y calcular el clasificador
lineal f(x), el algoritmo necesita únicamente productos
internos entre observaciones, lo que simplifica
significativamente el proceso computacional del SVC.
Clasificador lineal – Clases Clasificador lineal – Clases
separables linealmente separables linealmente
Máquinas de Vectores de Soportec SVM
Introducción a la clasificación con Fronteras de Decisión No Lineales
Máquinas de Vectores de Soporte (SVM)
Problema con Clasificadores Lineales:
Los clasificadores lineales, como los dos que acabamos de revisar (margen duro/máximo y margen suave/vectoresdesoporte/SVC),
funcionan bien cuando la frontera entre dos clases es lineal.
En casos prácticos, a menudo enfrentamos fronteras de decisión no lineales, lo que causa un rendimiento deficiente de los clasificadores
lineales. (Figura inferior derecha)
Ampliación del Espacio de Características:
Una forma de abordar la no linealidad es ampliando el espacio de características, similar a cómo se manejan las relaciones no lineales en
la regresión lineal. (aplicación de efectos curvilíneos y/o interacción)
Hiperplano en Espacio Ampliado:
En el espacio de características ampliado, la frontera de decisión que resulta de la
optimización del clasificador de vectores de soporte sigue siendo lineal. Sin
embargo, en el espacio de características original, la frontera de decisión se vuelve
no lineal.
Complejidad Computacional:
Ampliar el espacio de características puede llevar a un aumento significativo en el
número de características, lo que hace que los cálculos sean ineficientes y difíciles
de manejar.
Introducción a las Máquinas de Vectores de Soporte (SVM)
Las SVM permiten ampliar el espacio de características de una manera eficiente,
facilitando el manejo de fronteras de decisión no lineales sin incrementar
Observaciones en dos clases Un clasificador lineal tiene
excesivamente la complejidad computacional. desempeño pobre
Máquinas de Vectores de Soporte
Función de decisión f(x): Clasificadores con Kernels
El producto interno estándar, es base para el clasificador de vectores de soporte SVC lineal
Los Support Vector Machines (SVM) son una extensión del Clasificador de Vectores de Soporte (SVC) que permite crear fronteras de
decisión no lineales mediante el uso de funciones denominadas kernels, que son funciones diseñadas para medir la similitud entre
observaciones. Un Kernel no lineal se conoce como Support Vector Machine.
Estos kernels reemplazan el producto interno estándar entre las observaciones en el algoritmo del clasificador de vectores de soporte (SVC),
por ejemplo, el kernel K se representa como y la función para clasificar se representaría como:
El kernel polinomial (figura central) eleva el producto
interno a una potencia d, permite crear fronteras de
decisión más flexibles y no lineales al transformar los
datos a un espacio de mayor dimensión polinómica de KERNEL LINEAL KERNEL POLINOMIAL KERNEL RADIAL
manera implícita, el cual mejora significativamente la
clasificación sobre el kernel lineal (figura izquierda) (que
equivale a un kernel polinomial con d=1 y también a un
SVC)
El kernel radial o RBF (Radial Basis Function) o
Gasussiano, mide la similitud entre dos puntos basándose
en la distancia euclidiana, proporcionando un efecto local,
ya que para para clasificar un nuevo punto se consideran
solo los puntos cercanos a él. Varía de 0 (puntos lejanos) a
1 (puntos cercanos). Gamma controla el alcance de los
puntos cercanos.
Máquinas de Vectores de Soporte SVM
Problemas MultiClase
El concepto de hiperplanos separadores en el que se basan las SVMs no se adapta naturalmente a más de dos
clases. Aunque se han hecho varias propuestas para extender SVMs al caso de K clases, las dos más populares
son los enfoques "uno contra uno" y "uno contra todos".
Clasificación Uno contra Uno Clasificación Uno contra Todos
Si tenemos K clases, se construyen SVMs, cada También conocido como uno contra el resto. Se
una comparando un par de clases. Por ejemplo, ajustan K SVMs, cada una comparando una de las
una SVM puede comparar la clase k, codificada K clases con las K-1 clases restantes. Se codifica la
como +1, con la clase k', codificada como -1. Para clase k como +1 y las otras clases como -1. Para
clasificar una observación de prueba, utilizamos una observación de prueba, asignamos la
cada uno de estos clasificadores y contamos observación a la clase para la cual la función de
cuántas veces se asigna la observación de prueba decisión es mayor, lo que equivale a un alto nivel
a cada una de las K clases. La clasificación final se de confianza de que la observación de prueba
realiza asignando la observación de prueba a la pertenece a la clase k en lugar de a cualquiera de
clase a la que fue asignada con mayor frecuencia las otras clases.
en estas clasificaciones por pares.
Vectores de Soporte de Regresión SVR
Support Vector Regression
A diferencia de la clasificación, donde el objetivo es encontrar un hiperplano que separe las clases, en SVR
buscamos un hiperplano (o una línea en 1D) que prediga el valor continuo de una variable objetivo.
La idea es encontrar una función que tenga al máximo ε-desviación de los valores reales de las muestras de
entrenamiento, y al mismo tiempo sea tan plana como sea posible
La función de regresión se define como , donde αi son los multiplicadores de Lagrange
(o coeficientes de soporte), K(x,xi) es el kernel entre el dato de entrada x y los datos de entrenamiento xi, y b es el
término de sesgo.
La función de decisión en SVR puede entenderse como f(x)±ϵ, lo que
indica que las predicciones f(x) deben estar dentro de ϵ unidades de
los valores reales y para las muestras de entrenamiento.
En SVR, los vectores de soporte son diferentes. Son aquellos puntos
de datos del conjunto de entrenamiento que pueden estar tanto
justo en el límite del margen ε como más allá de él, por tanto,
tienen un impacto significativo en cómo se ajusta la función de
regresión a los datos de entrenamiento
Gracias a los kernels (como el RBF), la función de regresión puede
tomar formas no lineales, incluyendo curvas suaves que se adaptan
mejor a datos no lineales..
Proceso de Decisión del SVM
• De ahora en adelante, seguiremos el "método estructurado para el desarrollo de modelos
multivariados" sugerido por Hair, que consiste en un procedimiento detallado de seis etapas para
llevar a cabo un análisis de SVM con éxito. Expondremos cada una de las consideraciones teóricas,
prácticas y estadísticas necesarias para ejecutar de manera efectiva dicho análisis. El proceso es:
• Etapa 1: Definir el problema de investigación, los objetivos y la técnica multivariada a ser utilizada
• Etapa 2: Desarrollar el plan de análisis (consideraciones sobre la muestra, disponibilidad de
variables métricas/no métricas, métodos de estimación)
• Etapa 3: Evaluar los supuestos que subyacen a la técnica multivariada seleccionada (es decir, si la
técnica funcionará o tendrá limitaciones en función a los datos recolectados)
• Etapa 4: Estimar el modelo multivariado y determinar su nivel de eficacia (bondad de ajuste)
• Etapa 5: Interpretar los resultados del modelo (Valor Teórico)
• Etapa 6: Validar el modelo multivariado (asegurarse que los resultados en la muestra sean
generalizables a la población)
Finalmente, comunicar los resultados a usuarios claves/operativos
Etapa 1: Definir el problema de investigación, los
objetivos y la técnica multivariada a ser utilizada
Definir el propósito del análisis: ¿Qué problema de clasificación estamos intentando
resolver?
Definir claramente la variable dependiente (Y) y las variables independientes (X1, X2, ...,
Xp) que influirán en Y.
Sobre la aplicación de la técnica, podemos usarla para:
1) Sólo Predicción: Calcular un valor numérico (métrico)
ó
1) Sólo Clasificación: Calcular un valor categórico (binario o multiclase)
Esta técnica provee directamente las predicciones, y no informa sobre las
variables que se usaron para construirla, ni su importancia, ni su relación con el
pronóstico.
Etapa 2: Desarrollar el plan de análisis /
Diseño de estudio
1) Sobre las Variables
1) Para SVR: Asegurar que la variable dependiente es métrica.
2) Para SVM/SVC binario:
1) Codificación Clase Positiva 1, Clase Negativa -1.
2) También es posible codificación 0 y 1.
3) Para SVM/SVC multiclase: Codificación con números enteros, 0, 1, 2, etc.
4) Definir variables independientes/predictoras
1) SVM funciona mejor con con variables predictoras métricas. La técnica es sensible
a la escala (nivel de medida). Se sugiera escalar/estandarizar variables métricas.
2) SVM no maneja directamente las variables categóricas, pero podemos incorporar
variables categóricas aplicando codificación ONE-HOT.
Creación Variables Ficticias
Transformar Variables Categóricas (no métricas) a métricas
.
Cuando la variable original no puede • ONE-HOT. Se crea una variable por cada categoría original, y se
usarse directamente en una técnica, asigna 1 si tiene la característica, 0 sino.
se recodifica por cualquiera de ambos V1 V3 V3N V3C V3O Si se crea la tercera variable V3O,
métodos (dummies / one hot). En Raúl 2 0 1 0
que tendrá 1 si la persona tiene
ambos casos, las nuevas variables ojos color “Otros”, 0 si no.
Delia 2 0 1 0
tienen propiedades METRICAS y Uso principal en MACHINE
pueden utilizarse en varias técnicas. José 3 0 0 1 LEARNING
Ejemplo: Rosa 1 1 0 0
V1
V2
Nombre
EstadoCivil
(texto)
0=Soltero 1=Casado
• Dummies: Para una variable con N categorías, se crean (N-1)
V3 ColorOjos 1= Negro 2=Café 3=Otro variables ficticias. Cada variable tendrá un 1 si es que se posee la
V4 Educación 0=Primaria 1=Secundaria 2=Superior
V5 Nivel de Satisfacción 2=Insatisfecho 4=Neutro 6=Satisfecho
característica, 0 si no se posee
V6 Edad (años)
Ejemplo: V3 tiene 3 categorías, entonces se
V7 TrabajaActualmente 1=Si 2=No V1 V3 V3N V3C crean dos variables ficticias. Una se asocia
V8 SueldoMesPasado (dólares) para Negro (V3N) y la otra para Café (V3C).
V9 Altura (metros) Raúl 2 0 1 V3N tendrá 1 si la persona tiene ojos negros, 0
V1 V2 V3 V4 V5 V6 V7 V8 V9 Delia 2 0 1 si no. V3C tendrá 1 si la persona tiene ojos
Raúl 0 2 0 2 25 1 700 1,73 cafés, 0 si no. No se crea variable para “Otros”,
Delia 0 2 2 6 27 2 0 1,56
José 3 0 0 porque queda automáticamente identificado,
José 1 3 2 4 32 2 0 1,67 Rosa 1 1 0 cuando una persona tiene 0 en negro y 0 en
Rosa 0 1 1 2 28 1 650 1,6 café (observar el caso de José).
Etapa 2 - Diseño Estudio -
Estandarización/Escalamiento Var. Métricas
Base Original
Estado Murder Assault UrbanPop Rape
Normalización / Z-Score → Recodificar variables a
Alabama 13,2 236 58 21,2 escala “normal”, esto es con media 0 y desv est 1.
Alaska 10 263 48 44,5
Arizona 8,1 294 80 31
Fórmula: (Variable original - promedio )/ desv. estándar
Arkansas 8,8 190 50 19,5
California 9 276 91 40,6
Colorado 7,9 204 78 38,7
Connecticut 3,3 110 77 11,1 En la base de datos normalizada
Delaware 5,9 238 72 15,8 MurderZ AssaultZ UrbanPopZ RapeZ
Florida 15,4 335 80 31,9 Promedio 0,00 0,00 0,00 0,00
Georgia 17,4 211 60 25,8 Desv Est 1,00 1,00 1,00 1,00
En la base de datos original
Murder Assault UrbanPop Rape
Promedio 7,79 170,76 65,54 21,23
Desv Est 4,36 83,34 14,47 9,37
Normalización min-max /basada en rangos →
Recodificar variables a escala de 0 a 1.
Fórmula: (Variable original - mínimo) / rango
Etapa 2: Desarrollar el plan de análisis /
Diseño de estudio
1) Sobre la Muestra:
1) Para SVR:
1) No hay un tamaño mínimo estricto, pero generalmente, más datos conducen a modelos
más precisos.
2) Observaciones vs variables. Una regla general es tener al menos 10 observaciones por
variable (10a1). Ideal 20a1
2) Para SVM:
1) Se considera usualmente que cada clase(categoría) de la variable dependiente, debe tener
al menos de 5 (mínimo), 10 (preferible), 20 (óptimo) observaciones por predictor.
2) Si hay muchas más variables que observaciones, considerar técnicas de reducción de
dimensionalidad.
3) Lo ideal es que la muestra este balanceada, esto es que cada categoría esté igualmente
representada. Si consideramos eventos raros/poco frecuentes (data no balanceada) se
sugiere balancear la muestra, para que quede con igual # de observaciones para eventos
raros y normales). Considerar técnicas para resolver el desbalance, como el sobremuestreo
o el submuestreo, el uso de pesos en la función de costo del SVM.
Etapa 2 – Diseño Estudio –
Qué se considera Datos Balanceados
Binarios: %casos grupo1 / % casos grupo2
•Ideal: 50%/50%. Permite que el modelo aprenda de manera equitativa sobre ambas clases y evita un sesgo hacia una clase
dominante.
•Tolerable: 60%/40% a 70%/30%. En algunos problemas, un ligero desequilibrio, puede considerarse aceptable si la clase
minoritaria aún está representada adecuadamente. Es posible que no sea necesario aplicar técnicas de balanceo.
•Severo 80%/20% ó 90%/10%. Cuando la proporción entre las clases es muy desigual. En tales situaciones, puede ser
necesario aplicar técnicas de balanceo para evitar que el modelo se sesgue hacia la clase mayoritaria y no sea capaz de
aprender correctamente la clase minoritaria.
Multiclase: <<cantidad de casos de las clases más pequeñas puede “compensar” poca representatividad %>>
•Igual Representación. (ideal) tener aprox.la misma cantidad de ejemplos/casos/observaciones para cada una de las clases.
•Relación Aceptable: Podría ser una proporción que no varíe demasiado de 1:1 para todas las clases. Por ejemplo, en un
problema de cuatro clases, una proporción de 1:2:1:2 podría considerarse aceptable si las clases menos representadas aún
tienen suficientes ejemplos para aprender patrones relevantes.
•Contexto del Problema: La definición de lo que se considera balanceado también dependerá del contexto del problema y
de cuánto peso se le da a cada clase en términos de importancia. En algunas aplicaciones, una clase minoritaria puede ser
crítica y, por lo tanto, requerir más atención, incluso si es desequilibrada en términos de cantidad de datos.
Sebastiani, F. (2002). Machine learning in automated text categorization. ACM Computing Surveys (CSUR), 34(1), 1-47.
Chawla, N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002). SMOTE: synthetic minority over-sampling technique. Journal of artificial intelligence
research, 16, 321-357.
He, H., & Wu, D. (2019). Transfer learning for imbalanced data: A survey. Knowledge and Information Systems, 61(3), 1-34.
Etapa 2 – Diseño Estudio –
Técnicas de Balanceo de Clases
En la clasificación con aprendizaje automático, el desequilibrio de clases ocurre cuando las clases objetivo están
desproporcionadamente representadas en el conjunto de datos, es decir, una clase es mucho más común que
otra(s). Esto puede llevar a modelos sesgados que favorecen a la clase mayoritaria. Para abordar este problema,
hay varias técnicas de balanceo de clases que puedes utilizar:
Sobremuestreo de la Clase Minoritaria (Oversampling):
•Descripción: Aumenta el número de muestras de la clase minoritaria para igualar a la clase mayoritaria.
Generalmente, se recomienda que el número de ejemplos en la clase minoritaria sea de 1 a 2 veces el número de
ejemplos originales.
•Técnica Común: Una técnica común es el SMOTE (Synthetic Minority Over-sampling Technique), que crea muestras
sintéticas de la clase minoritaria. SMOTE no solo replica las muestras existentes, sino que también interpola nuevas
muestras.
•Uso en R: Puedes usar la función SMOTE del paquete DMwR
Submuestreo de la Clase Mayoritaria (Undersampling):
•Descripción: Reduce el número de muestras en la clase mayoritaria para igualar a la clase minoritaria.
•Ejemplo: Seleccionar aleatoriamente un subconjunto de muestras de la clase mayoritaria.
•Uso en R: Puedes utilizar la función downSample del paquete caret.
Es importante tener en cuenta que estas técnicas pueden afectar la distribución de los datos. El sobremuestreo puede aumentar el riesgo de
sobreajuste, especialmente con el SMOTE, ya que crea muestras sintéticas. El submuestreo, por otro lado, puede llevar a perder información valiosa.
Por lo tanto, es esencial experimentar y validar cuidadosamente el modelo para encontrar el equilibrio adecuado.
Etapa 3 – Supuestos - SVM
1) Linealidad: Gracias al uso de los Kernels, se asume que los datos son
linealmente separables (o que pueden ser separados en un espacio
transformado).
Por tanto, no hay supuestos a considerar.
Etapa 3 – Supuestos - SVM
EDA – Entender relaciones
Estudiar relación entre variable
dependiente vs las predictoras.
Boxplots: con variable
dependiente categórica vs
predictoras métricas
Barras: entre variables categóricas
Scatterplots/Correlaciones: con
variable dependiente métrica vs
predictoras métricas
Scatterplots coloración por clase:
con variable dependiente
categórica y predictoras métricas.
Etapa 4 – Estimar Modelo SVM
Decidir Kernel a aplicar
•Kernel Lineal: Aplicable si los datos son aproximadamente linealmente separables y el
número de variables es alto en comparación con el número de observaciones.
•Kernel Polinómico: Aplicable si las relaciones entre las características son mejor
capturadas por interacciones polinómicas.
•Kernel Radial (RBF): Aplicable si no se conoce la forma de la frontera de decisión; es el
más flexible y puede manejar relaciones complejas.
El enfoque por experiencia suele considerarse. Por ejemplo, entrenar SVM con kernels polinómicos de diferentes
grados (p. ej., grados 2, 3, 4) y evaluar su rendimiento. Comparar estos modelos con el kernel lineal y otros
kernels.
Se sugiere un análisis preliminar (EDA) para comprender cual Kernel podría ser aplicable: Por ejemplo, si el número
de dimensiones lo permite (2D o 3D), visualiza los datos para ver si parecen linealmente separables. O si parece
haber relaciones polinómicas (curvas, superficies cuadráticas, etc.).
Etapa 4 – Estimar Modelo SVM
Indicadores Validez/Calidad del Modelo
• Para SVR: Cuando la variable dependiente es métrica
• MSE / RMSE
• Para SVM: Cuando la variable dependiente es binaria:
• %Error: Proporción de observaciones incorrectamente clasificadas
• Accuracy (Exactitud): Proporción de observaciones correctamente clasificadas.
• Matriz de Confusión y Métricas Asociadas: Exactitud (Accuracy) / Sensibilidad (Recall o TPR) /
Especificidad (Specificity) / Precisión (Precision) / F1 Score
• Curva ROC y área bajo la curva AUC
• Para SVM: Cuando la variable dependiente es multinomial (3 o más categorías):
• %Error: Proporción de observaciones incorrectamente clasificadas
• Accuracy (Exactitud): Proporción de observaciones correctamente clasificadas.
• Matriz de Confusión y Métricas Asociadas: Exactitud (Accuracy) / Sensibilidad (Recall o TPR) /
Especificidad (Specificity) / Precisión (Precisión) / F1 Score
Etapa 4 – Estimar Modelo SVR
Bondad de Ajuste – Regresión
Error Cuadrático Medio (Mean Squared Error, MSE):
Es el promedio de los cuadrados de los errores, es decir, la
diferencia cuadrada entre los valores observados y los predichos.
Un MSE más bajo indica un mejor ajuste del modelo a los datos.
Raíz del Error Cuadrático Medio (Root Mean Squared Error, RMSE):
Es la raíz cuadrada del MSE y se encuentra en las mismas unidades que la
variable dependiente. Proporciona una medida de la magnitud del error. Un
valor más bajo indica un mejor ajuste del modelo a los datos.
Error Absoluto Medio (Mean Absolute Error, MAE):
Es el promedio de los valores absolutos de los errores.
Es menos sensible a los valores atípicos en comparación con el MSE.
MAPE (Mean Absolute Percentage Error)
Se calcula como el promedio de los errores absolutos porcentuales
entre los valores observados y los predichos, expresado como un
porcentaje. Un MAPE más bajo indica una mayor precisión en las
predicciones del modelo.
Coeficiente de Correlación de Pearson: Mide la correlación lineal
entre los valores observados y predichos.
Etapa 4 – Estimar Modelo SVM
Bondad de Ajuste – Matriz de Confusión
Imaginemos que estamos evaluando un modelo de diagnóstico
médico para detectar la presencia de una enfermedad Ante estos datos, los resultados son:
específica (enfermedad A) en pacientes. El modelo clasifica a Exactitud (Accuracy): 87% Es la proporción de predicciones
correctas en general. (TP+TN)/Total=(25+62)/100
los pacientes en dos categorías: enfermos (positivos para la Error (1-Accuracy): 13% Es la proporción de predicciones
enfermedad A) y sanos (negativos para la enfermedad A). incorrectas en general. (FP+FN)/Total=(5+8)/100
• Supongamos que tenemos los siguientes resultados para una muestra de 100 pacientes: Sensibilidad (Recall o True Positive Rate): 83,3%. Es la
• El modelo predice que 33 pacientes tienen la enfermedad A (positivos). proporción de casos positivos reales que el modelo identificó
• De los 33 pacientes que predice como positivos, 25 realmente tienen la enfermedad A (TP).
• Los 8 restantes que predice como positivos no tienen la enfermedad A (FP).
correctamente. (TP/(TP+FN))=(25/30)
• El modelo predice que 67 pacientes no tienen la enfermedad A (negativos). Valor Predictivo Positivo (Precisión): 75,8% Es la proporción
• De los 67 pacientes que predice como negativos, 62 realmente no tienen la enfermedad A (TN). de casos positivos predichos que fueron verdaderamente
• Los 5 restantes que predice como negativos tienen la enfermedad A (FN).
• En resumen:
positivos. (TP/(TP+FP))=25/33
• TP (Verdaderos Positivos): 25 En la matriz de confusión, los casos verdaderos F1-Score: Balance entre Precisión y Sensibilidad: Un F1-
• FN (Falsos Negativos): 5 generalmente se representan en las filas y las predicciones score alto (cercano a 1) indica que el modelo tiene tanto una
• FP (Falsos Positivos): 8 en las columnas. Y está considerando como umbral para
• TN (Verdaderos Negativos): 62 clasificación a 0,5 alta precisión (pocos falsos positivos) como una alta
sensibilidad (pocos falsos negativos). Es especialmente útil en
situaciones con desbalance de clases, ya que una alta
precisión o una alta sensibilidad por sí sola no proporciona
una imagen completa del rendimiento del modelo.
F1SCORE=2*(Prec*Sens)/(Prec+Sens)=0,79
Etapa 4 – Estimar Modelo SVM
Bondad de Ajuste – Curva ROC(Receiver Operating Characteristic)
La Curva ROC es una herramienta gráfica utilizada para evaluar el
rendimiento de un modelo de clasificación binaria. Muestra la
relación entre la tasa de verdaderos positivos (sensibilidad) y la
tasa de falsos positivos (1 - especificidad) a través de diferentes
umbrales de decisión.
Un modelo es representado por una curva.
Diagonal Principal: Una línea diagonal de 45 grados desde la
esquina inferior izquierda hasta la esquina superior derecha
representa un modelo que hace predicciones aleatorias.
Curva por Encima de la Diagonal: Un modelo cuyo ROC se curva El AUC (área total bajo la curva ROC) es una métrica que
hacia el lado superior izquierdo es mejor que un modelo cuantifica el rendimiento global del modelo de
aleatorio. clasificación. Mide la capacidad del modelo para distinguir
Curva Perfecta: Un modelo ideal tendría una curva ROC que entre las categorías/clases. Si el valor de AUC es:
pasa por el punto (0,1), lo que indica una tasa de falsos positivos 0.5 < AUC < 1: Cuanto más cercano a 1, mejor es el
de 0 y una tasa de verdaderos positivos de 1. rendimiento del modelo.
Facilita la comparación entre diferentes modelos de
Facilita la comparación entre diferentes modelos de clasificación. clasificación. El modelo con mayor AUC muestra mejor
Un modelo cuya curva está más alejada de la diagonal es mejor. ajuste.
Etapa 5 – Interpretación SVM
Resultados SVM
Ejemplo de Salida R: SVM con Kernel Radial para problema
de clasificación binaria. Y es la variable dependiente, con
las clases 1 y 2. Se presenta valor de gamma y costo
utilizados para modelar. Estos se conocen como
hiperparámetros.
El costo controla el margen. A mayor valor de
costo, menor margen y menos vectores de
soporte. A menor valor de costo, mayor margen y
más vectores de soporte.
Gamma controla el número de casos de
entrenamiento a considerar para la clasificación.
Ambos son parámetros que se pueden
“optimizar” mediante cross validation. A la
derecha este método ha determinado que los
Hay 31 vectores de valores óptimos son costo=0,1 y gamma=0,5 para
soporte, 16 de la clase 1 los datos de entrenamiento.
y 15 de la clase 2.
Etapa 6 – Validación de Resultados SVM
Estrategias de Validación
En modelos predictivos, las técnicas de validación más usadas se relacionan
con el uso de muestras distintas.
• Dividir la muestra en dos (Split Validation): En cada submuestra se aplica el modelo.
• Conjuntos de Entrenamiento / Prueba ( Train/Test Data)
• Se divide los datos en dos grupos. 80% para entrenar el modelo, 20% para probarlo. (70% / 30 % )
• En los datos de entrenamiento, realizamos todo el proceso descrito hasta obtener el modelo. En
los datos de prueba, solamente lo aplicamos y observamos su nivel predictivo.
• También suelen elaborarse algunos modelos en los datos de entrenamiento, y evaluarlos en los
datos de prueba, para poder comparar entre ellos su capacidad predictiva y seleccionar el mejor
• Cross-Validation (k-folding): Una generalización automatizada del método de train/test
• Antes de modelar, tomamos tempranamente la decisión de cómo realizar la
validación. De esta manera, cubrimos el entrenamiento y validación al mismo tiempo.
Etapa 6 – Validación de Resultados SVM
Estrategia Train/Test Data + Indicadores de calidad predictiva
Si se elige la estrategia de datos de entrenamiento y prueba, entonces al inicio del estudio ya debe
separarse la muestra. Se ajusta el modelo con los datos de entrenamiento, esto es “entrenar el
modelo” y luego una vez obtenido, se aplica a los datos de prueba y se calculan los indicadores de
ajuste, principalmente el %error. Se espera que el error en datos de prueba sea mayor que el error
en datos de entrenamiento, pero a una distancia “moderada”, con lo cual se valida el modelo, se
concluye que es generalizable y puede comunicarse y aplicarse a nuevos datos.
Resultados datos entrenamiento Resultados datos de prueba
(hay 7 casos) (hay 3 casos)
Train Error = 0% Test Error = 33,3%
Train Exactitud = 100% Test Exactitud = 66,7%
En la práctica pueden generarse varios modelos distintos, el % test error es el indicador más utilizado
para comparar y seleccionar modelos, desde luego el de menor error tiene mejor capacidad predictiva.
Se presentan resultados de un ejemplo ficticio de clasificación binaria: Si un correo es SPAM o no.
Uso de resultados
Para comunicar resultados, podemos seguir estos lineamientos.. Resultados
• Breve mensaje del objetivo de análisis (por ejemplo, clasificación Test Error = 33,3%
de spam, detección de fraudes, etc.). Test Exactitud = 66,7%
• Rápido resumen de cómo se construyó el modelo SVM (variables
utilizadas, % datos de entrenamiento y validación).
• Resultados Principales (sobre datos de prueba):
• Para problemas de clasificación: Exactitud del Modelo, % Test Error, Matriz
de Confusión.
• Para problemas de regresión: MSE / RMSE / Gráfico ValorReal vs
Pronosticados
• Interpretación: ¿Qué significan estos resultados para el problema
que se está abordando?
• Conclusiones/Recomendaciones
Deep Learning
Redes Neuronales
CONCEPTOS BÁSICOS Y DIRECTRICES
Alex Moreno
Jul2024
Deep Learning
Evolución
El Deep Learning, basado en redes neuronales artificiales, experimentó un
auge en la década de 1980, seguido por una fase de análisis y mejora. Sin
embargo, en los años 2000, perdió popularidad frente a métodos como SVM y
bosques aleatorios (random forests), que eran más automáticos y efectivos. A
partir de 2010, el Deep Learning resurgió con nuevas arquitecturas y éxitos
notables en áreas como clasificación de imágenes y procesamiento de texto,
impulsado por el acceso a grandes conjuntos de datos gracias a la
digitalización. En este capítulo, exploraremos los conceptos básicos del Deep
Learning y sus aplicaciones.
Aprendizaje Profundo – Deep Learning
Redes Neuronales
Deep Learning es una subdisciplina del Machine Learning (aprendizaje automático) que se basa en el
uso de redes neuronales artificiales para modelar y resolver problemas complejos. Estas redes
neuronales están inspiradas en el funcionamiento del cerebro humano, con capas de neuronas
artificiales que procesan y transforman la información. Deep Learning permite el aprendizaje de
representaciones de datos a múltiples niveles de abstracción, lo que facilita la resolución de tareas
que son difíciles de programar explícitamente.
•Economía: Evaluar el impacto de eventos naturales mediante imágenes satelitales.
•Planificación Estratégica: Simular escenarios futuros integrando múltiples variables y datos no estructurados.
•Marketing: Analizar imágenes de perchas en tiendas para medir visibilidad y participación de productos.
•Talento Humano: Identificar señales tempranas de rotación de empleados a partir de patrones en datos de rendimiento.
•Operaciones: Prever fallos de componentes industriales a partir de datos de sensores.
•Abastecimiento: Evaluar automáticamente la calidad de productos mediante análisis de imágenes.
•Administración: Analizar correos electrónicos para identificar oportunidades de negocio o detectar tendencias
emergentes.
•Finanzas: Detectar fraudes y riesgos de crédito analizando transacciones financieras.
•Tecnología: Analizar datos de usuarios y patrones de comportamiento para personalizar experiencias o
recomendaciones.
•Contabilidad: Identificar fraudes en transacciones y documentos contables a través de análisis automatizado.
Deep Learning
Para que sirve…
Deep Learning se utiliza en una amplia variedad de aplicaciones tanto en problemas de
regresión como de clasificación. Algunas de las aplicaciones más comunes incluyen:
• Clasificación de Imágenes: Identificación de objetos y personas en fotografías.
• Reconocimiento de Voz: Conversión de voz a texto y reconocimiento de comandos de voz.
• Procesamiento de Lenguaje Natural: Traducción automática, análisis de sentimientos y
generación de texto.
• Vehículos Autónomos: Detección y clasificación de objetos en la carretera para la
navegación segura.
• Detección de Fraude: Identificación de transacciones fraudulentas en sistemas financieros.
• Predicción de Series Temporales: Pronóstico de valores futuros en datos financieros y
meteorológicos.
Deep Learning
Tipos de Redes Neuronales
• Single Layer Neural Networks
• Descripción: Las redes neuronales de una sola capa (Single Layer Neural Networks) son las más simples y consisten en
una sola capa de neuronas conectadas directamente a la capa de entrada.
• Ejemplo: Perceptrón simple, utilizado para problemas de clasificación binaria.
• Multi-Layer Neural Networks
• Descripción: Las redes neuronales multicapa (Multi-Layer Neural Networks) tienen una o más capas ocultas entre la
capa de entrada y la capa de salida. Estas capas ocultas permiten aprender características más complejas de los datos.
• Ejemplo: Multi-Layer Perceptron (MLP), utilizado para clasificación y regresión.
• Convolutional Neural Networks (CNN)
• Descripción: Las redes neuronales convolucionales (CNN) son especialmente efectivas para procesar datos con una
estructura de cuadrícula, como imágenes. Utilizan capas convolucionales que aplican filtros para extraer características
espaciales.
• Aplicaciones: Clasificación de imágenes, detección de objetos, reconocimiento facial.
• Recurrent Neural Networks (RNN)
• Descripción: Las redes neuronales recurrentes (RNN) están diseñadas para procesar secuencias de datos. Mantienen
una "memoria" de las entradas anteriores mediante conexiones recurrentes.
• Aplicaciones: Análisis de series temporales, procesamiento de lenguaje natural, generación de texto.
¿Qué son las neuronas?
Las neuronas son unidades básicas que realizan cálculos y transformaciones en el proceso de
aprendizaje automático. Su función y cómo se comportan en una red neuronal es:
•Entrada: Cada neurona recibe entradas de una o más neuronas de la capa anterior. En una red neuronal simple,
estas entradas son los valores de las características del conjunto de datos.
•Peso: Cada entrada se multiplica por un peso asociado. Los pesos determinan la importancia de cada entrada
para la neurona.
•Suma Ponderada: La neurona calcula una suma ponderada de sus entradas. Esto se hace multiplicando cada
entrada por su peso correspondiente y sumando estos valores, a menudo con un sesgo añadido (una constante).
donde xi son las entradas, wi son los pesos, y b es el término constante, llamado sesgo (bias).
•Función de Activación: La suma ponderada se pasa a través de una función de activación, que introduce no
linealidades en el modelo y decide la salida final de la neurona. Las funciones de activación comunes incluyen:
•Salida: El resultado de la función de activación es la salida de la neurona. Esta salida se pasa a las neuronas de la
siguiente capa en la red.
Singlelayer Neural Networks
Perceptrón Simple - Red sin capa oculta- Modelar relaciones lineales
Red neuronal feed-forward simple utilizada para modelar
una respuesta cuantitativa con p=3 predictores.
*Propagación hacia adelante, se refiere que los datos fluyen
solo hacia adelante, desde la entrada hasta la salida.
*Todos los círculos son “neuronas”.
Capa de Entrada: Las 3 neuronas representan las variables
predictoras X1, X2, X3. Aunque no realizan transformaciones,
sirven como entrada para la red neuronal.
Conexiones:
•Flechas: Conectan cada círculo en la capa de
Capa de Salida: La neurona en esta capa produce la salida
entrada con el círculo en la capa de salida, final f(X), que es la predicción Y del modelo. Aplicando una
indicando que cada entrada se multiplica por
un peso y se suma para calcular la salida. función de activación a una combinación lineal de las
Neurona en la Capa de Salida:
•Función de Activación: Se aplica a la suma
entradas.
ponderada de las entradas para producir la Se dice que es de una sola capa por la capa de salida.
salida final. Puede ser una función como la
función escalón o sigmoidea. Esta estructura solo permite modelar relaciones lineales.
Singlelayer Neural Networks
Red con una capa oculta- Modelar relaciones no lineales
Red neuronal feed-forward simple utilizada para modelar
una respuesta cuantitativa con p=4 predictores.
*Propagación hacia adelante, se refiere que los datos fluyen
solo hacia adelante, desde la entrada hasta la salida.
*Todos los círculos son “neuronas”.
Capa de Entrada: Las 4 neuronas representan las variables
predictoras X1, X2, X3, X4. Aunque no realizan
transformaciones, sirven como entrada para la red neuronal.
Capa Oculta: Las 5 neuronas en esta capa calculan las
activaciones Ak. Cada una aplica una función de activación a
una combinación lineal de las entradas.
Capa de Salida: La neurona en esta capa produce la salida
final f(X), que es la predicción Y del modelo.
Esta estructura permite modelar relaciones no lineales.
Singlelayer Neural Networks
Red con una capa oculta- Modelar relaciones no lineales
Red neuronal feed-forward simple utilizada para modelar una
respuesta cuantitativa con p=4 predictores.
Red neuronal feed-forward simple utilizada para modelar una respuesta cuantitativa
con p=4 predictores.
*Propagación hacia adelante, se refiere que los datos fluyen solo hacia adelante, desde la
entrada hasta la salida.
*Todos los círculos son “neuronas”.
Capa de Entrada: Las 4 neuronas representan las variables predictoras X1, X2, X3, X4.
Aunque no realizan transformaciones, sirven como entrada para la red neuronal.
Capa Oculta: Las 5 neuronas en esta capa calculan las activaciones Ak. Cada una aplica
una función de activación a una combinación lineal de las entradas.
Capa de Salida: La neurona en esta capa produce la salida final f(X), que es la predicción
Y del modelo.
Esta estructura permite modelas relaciones no lineales.
Multilayer Neural Networks
Red con una capa oculta- Modelar relaciones no lineales
Red neuronal feed-forward utilizada para modelar una respuesta
multiclase con p predictores.
*Propagación hacia adelante, se refiere que los datos fluyen solo
hacia adelante, desde la entrada hasta la salida.
*Todos los círculos son “neuronas”.
Capa de Entrada: Las p neuronas representan las variables
predictoras X1, X2, X3, …, Xp.
Capa Oculta 1: Hay k1 neuronas en esta capa que calculan las
activaciones Ak1(1). Cada una aplica una función de activación a una
combinación lineal de las entradas.
Capa Oculta 2: Hay k2 neuronas en esta capa que calculan las
activaciones Ak2(2). Cada una aplica una función de activación a una
combinación lineal de las neuronas de la capa previa.
Capa de Salida: Las neuronas en esta capa producen 10 salidas
fm(X), que son las predicciones Ym del modelo. Cada neurona de
salida representa una de las clases en la respuesta multiclase.
Esta estructura permite modelar relaciones no lineales complejas.
Funciones de Activación
Para modelar relaciones no lineales
Las funciones de activación son esenciales para que la red
neuronal capture complejidades no lineales y efectos de
interacción en los datos. Sin ella, el modelo se reduciría a
una simple combinación lineal de las variables de entrada.
Sigmoide (sigmoid): ReLU (Rectified Linear Unit):
•Fórmula superior •Fórmula inferior
•Característica: Convierte una •Característica: Computa y almacena
entrada lineal en una probabilidad de manera más eficiente que la
entre 0 y 1. función sigmoide. Activa solo neuronas
•Uso temprano: Comúnmente con valor positivo.
utilizada en las primeras redes •Uso moderno: Amplia preferencia en
neuronales y en regresión logística. redes neuronales modernas debido a
•Ventaja: Facilita la interpretación de su eficiencia computacional.
la salida como una probabilidad. •Ventaja: Ayuda a mitigar el problema
•Limitación: Puede sufrir de de gradiente desvaneciente.
problemas de gradiente •Limitación: Puede sufrir de "neuronas
El gradiente desvaneciente ocurre cuando los gradientes
disminuyen exponencialmente al retropropagarse.Afecta las desvaneciente, lo que dificulta el muertas" si muchas unidades se fijan
actualizaciones de los pesos en las capas iniciales.Ralentiza o
detiene el aprendizaje de la red.
entrenamiento de redes profundas. en 0 durante el entrenamiento.
Funciones de Activación
Para modelar relaciones no lineales
Las funciones de activación son esenciales para que la red
neuronal capture complejidades no lineales y efectos de
interacción en los datos. Sin ella, el modelo se reduciría a
una simple combinación lineal de las variables de entrada.
Tangente hiperbólico: SoftMax:
•Fórmula superior •Fórmula inferior
•Característica: Transforma una entrada •Característica: Convierte un vector de
lineal en un valor entre -1 y 1. entradas lineales en una distribución de
•Uso temprano: Más común que la probabilidad sobre múltiples clases.
sigmoide en redes neuronales clásicas Uso moderno: Comúnmente utilizada en la
debido a su rango de salida centrado en capa de salida de redes neuronales para
cero. problemas de clasificación multiclase.
•Ventaja: Reduce algunos problemas de •Ventaja: Permite modelar la probabilidad
gradiente desvaneciente en comparación de cada clase en problemas de clasificación
con la sigmoide y facilita el aprendizaje con múltiples categorías.
debido a su salida centrada en cero. •Limitación: Similar a la sigmoide, puede
•Limitación: Todavía puede sufrir de sufrir problemas de gradiente
El gradiente desvaneciente ocurre cuando los gradientes problemas de gradiente desvaneciente en desvaneciente en redes profundas
disminuyen exponencialmente al retropropagarse.Afecta las
actualizaciones de los pesos en las capas iniciales.Ralentiza o redes profundas.
detiene el aprendizaje de la red.
Funciones de Activación
Usos según su ubicación en la red
Para que una red neuronal modele relaciones no lineales, las funciones de activación no
lineales deben estar presentes en las capas ocultas.
•Funciones de Activación no lineales en Capas Ocultas:
Sirven para introducir no linealidad en la red. Esto permite que la red neuronal capture y
modele relaciones no lineales complejas entre las características de entrada y la salida.
•Ejemplos Comunes:
•ReLU (Rectified Linear Unit):
•Sigmoide:
•Tanh (Tangente Hiperbólica):
•Funciones de Activación en la Capa de Salida:
Sirven para adaptar la salida de la red al tipo específico de problema que se está
resolviendo.
•Clasificación Binaria: Se puede utilizar una función sigmoide para convertir la
salida en una probabilidad entre 0 y 1.
•Clasificación Multiclase: Se puede utilizar una función softmax para obtener una
distribución de probabilidad sobre varias clases.
•Regresión: Puede no tener función de activación o usar una función lineal para
producir un rango continuo de valores.
Tipos de Capas
•Capa Densa (Fully Connected Layer): Cada neurona en la capa está conectada a todas las
neuronas en la capa anterior. Realiza una combinación lineal de las entradas y aplica una función
de activación.
•Capas Intermedias: En redes neuronales profundas, se utilizan en capas intermedias para
aprender representaciones complejas.
•Capas Finales: En la capa final, se utilizan para producir la salida del modelo (por ejemplo,
en tareas de clasificación o regresión).
•Ejemplo: Red neuronal tradicional, redes neuronales profundas (DNN).
•Capa de Convolución (Convolutional Layer): Aplica filtros (kernels) a las entradas para detectar características locales en
los datos, como bordes o texturas. Los filtros se aplican en ventanas deslizantes sobre la entrada.
•Visión por Computadora: Para tareas como clasificación de imágenes, detección de objetos y segmentación.
•Datos Espaciales: Cuando los datos tienen una estructura espacial o temporal (imágenes, series temporales).
•Ejemplo: Redes neuronales convolucionales (CNN), como las usadas en reconocimiento de imágenes.
•Capa de Pooling (Pooling Layer): Reduce las dimensiones espaciales de la entrada (por ejemplo, disminuyendo el tamaño
de la imagen) mediante operaciones como max pooling o average pooling.
•Uso Recomendado:
•Reducción de Dimensiones: Para disminuir la cantidad de parámetros y cómputo, y para capturar las características
más importantes.
•Invarianza a la Posición: Ayuda a que el modelo sea menos sensible a pequeñas translaciones en los datos.
•Ejemplo: Max pooling (selecciona el valor máximo en una ventana) en redes neuronales convolucionales.
Técnicas de regularización
Ayudan a prevenir el sobreajuste (overfitting). Estas técnicas son fundamentales para construir redes
neuronales robustas y generalizables. Es importante experimentar con diferentes técnicas y
parámetros para encontrar la combinación que funcione mejor para su problema específico.
Dropout: Es una técnica de regularización en la que durante el entrenamiento, se desactivan aleatoriamente un porcentaje de neuronas en la
capa. Esto fuerza a la red a aprender representaciones más robustas y menos dependientes de cualquier neurona en particular. Cómo se
aplica: Se define una tasa de dropout, que es el porcentaje de neuronas que se desactivan. Por ejemplo, una tasa de 0.5 significa que el 50%
de las neuronas se desactivan aleatoriamente en cada paso de entrenamiento.
Regularización L1 y L2: Añaden penalizaciones a las magnitudes de los pesos en la función de pérdida del modelo.
• L1 (Regularización Lasso): Penaliza la suma de los valores absolutos de los pesos. Puede llevar a una solución en la que algunos pesos se
vuelvan exactamente cero, promoviendo la selección de características.
• L2 (Regularización Ridge): Penaliza la suma de los cuadrados de los pesos. Favorece pesos más pequeños, evitando que el modelo se
ajuste demasiado a los datos de entrenamiento.
•Cómo se aplica: Se añaden términos de penalización a la función de pérdida durante el entrenamiento, con un hiperparámetro que controla
la fuerza de la penalización.
Batch Normalization: Normaliza las salidas de una capa antes de pasarlas a la siguiente capa, ajustando y escalando las activaciones. Esto se
hace para estabilizar el proceso de entrenamiento y acelerar la convergencia. Cómo se aplica: Se inserta una capa de normalización entre las
capas ocultas, ajustando las activaciones de forma que tengan una media cercana a 0 y una desviación estándar cercana a 1.
Early Stopping: Implica detener el entrenamiento del modelo cuando la métrica de evaluación en un conjunto de validación deja de mejorar.
Esto evita que el modelo se ajuste demasiado a los datos de entrenamiento. Cómo se aplica: Se monitoriza el rendimiento del modelo en el
conjunto de validación durante el entrenamiento y se detiene el entrenamiento si el rendimiento no mejora durante un número específico de
épocas.
Funciones de pérdida
Tipos
La función de pérdida mide la diferencia(error) entre las predicciones del modelo y los valores reales.
Su objetivo es cuantificar qué tan bien o mal está funcionando el modelo durante el entrenamiento.
El modelo ajusta sus pesos para minimizar esta función de pérdida.
Para Problemas de Clasificación Binaria
Función de Pérdida de Entropía Cruzada Binaria (Binary Cross-Entropy Loss)
Mide la diferencia entre las probabilidades predichas y las etiquetas reales en problemas de
clasificación binaria.
Para Problemas de Clasificación Multiclase
Función de Pérdida de Entropía Cruzada (Categorical Cross-Entropy Loss)
Mide la diferencia entre las probabilidades predichas y las etiquetas reales en problemas de
clasificación multiclase. Usada en modelos como redes neuronales con softmax para clasificación
de múltiples clases.
Para Problemas de Regresión: Error Cuadrático Medio (Mean Squared Error - MSE)
Mide el promedio de los cuadrados de las diferencias entre las predicciones y los valores reales.
Amplifica errores, por lo que es sensible a outliers.
Para Problemas de Regresión: Error Absoluto Medio (Mean Absolute Error - MAE)
Mide el promedio de las diferencias absolutas entre las predicciones y los valores reales. Usada
cuando se quiere reducir el impacto de los valores atípicos y obtener una medida robusta del error.
Predicción de demanda de productos, pronóstico del tiempo.
Optimizadores
Tipos
Un optimizador es un algoritmo que ajusta los pesos de la red neuronal durante el entrenamiento para minimizar
la función de pérdida. Su propósito es mejorar el rendimiento del modelo actualizando los parámetros de manera
eficiente basándose en el gradiente calculado. Todos se aplican a problemas de regresión y clasificación.
Descenso de Gradiente Estocástico (Stochastic Gradient Descent - SGD)
Optimiza los pesos utilizando un solo ejemplo o un mini-batch de datos en cada iteración.
Utilizado comúnmente en redes neuronales y problemas de optimización a gran escala.
Ventajas: Simplicidad y capacidad para manejar grandes volúmenes de datos.
Desventajas: Puede ser lento y tener dificultades con el ajuste de la tasa de aprendizaje.
Momentum
Mejora el SGD al agregar un término de momento que acumula el gradiente de las iteraciones anteriores, acelerando la
convergencia y reduciendo las oscilaciones.
Utilizado para suavizar y acelerar el proceso de convergencia.
Ventajas: Reducción de la oscilación y mayor velocidad de convergencia.
Desventajas: Requiere ajuste de hiperparámetros adicionales.
RMSprop (Root Mean Square Propagation)
Ajusta el tamaño del paso de actualización en función del promedio móvil de los gradientes al cuadrado.
Adecuado para problemas con gradientes que varían en escala.
Ventajas: Maneja bien las tasas de aprendizaje adaptativas y problemas con gradientes no estacionarios.
Desventajas: Puede requerir ajuste fino del hiperparámetro β
Adam (Adaptive Moment Estimation)
Combina los beneficios de Momentum y RMSprop. Mantiene una media móvil de los gradientes y sus cuadrados.
Muy popular en el entrenamiento de redes neuronales debido a su eficacia y eficiencia.
Ventajas: Rápida convergencia y buen rendimiento en una amplia gama de problemas.
Desventajas: Puede ser menos interpretativo en comparación con otros optimizadores.
Optimizadores
Tipos
Efecto de optimizadores en la convergencia y la eficiencia del entrenamiento
•Convergencia del Error de Entrenamiento vs. Epochs: Muestra cómo cambia el error durante el entrenamiento para cada
optimizador. Generalmente, los optimizadores avanzados como Adam y RMSprop convergen más rápido y con menor error.
•Magnitud del Gradiente vs. Epochs: Muestra cómo varía la magnitud del gradiente a lo largo del tiempo. Esto puede indicar
la estabilidad del proceso de optimización.
•Comparación de la Tasa de Aprendizaje: Muestra cómo diferentes tasas de aprendizaje afectan el rendimiento del modelo.
La tasa de aprendizaje es crucial para la eficiencia del entrenamiento.
Épocas / Epochs
Se refiere al número de veces que el algoritmo de entrenamiento pasa por el conjunto completo de datos de
entrenamiento. Una época es una iteración completa a través de todo el conjunto de datos de entrenamiento.
Durante una época, el modelo ve y aprende de cada ejemplo en el conjunto de datos una vez.
Importancia; 1) Aprendizaje del Modelo: Cada época permite al modelo ajustar sus pesos basándose en el conjunto
completo de datos. Múltiples épocas permiten que el modelo refine sus pesos de manera iterativa, mejorando su
capacidad para generalizar y hacer predicciones precisas en datos no vistos. 2) Convergencia: Un número adecuado de
épocas es crucial para la convergencia del modelo. Pocas épocas pueden llevar a un modelo subajustado (underfitting),
mientras que demasiadas épocas pueden llevar a un modelo sobreajustado (overfitting).
Relación con Lotes (Batches) y Pasos (Steps)
Lotes (Batches): Durante el entrenamiento, el conjunto de datos de entrenamiento a menudo se divide en lotes más
pequeños. Un lote es un subconjunto del conjunto de datos de entrenamiento que se procesa antes de actualizar los
pesos del modelo.
Pasos (Steps): Un paso se refiere a una actualización del modelo basada en un lote de datos. Si se tiene 1000 ejemplos
de entrenamiento y usamos un tamaño de lote de 100, entonces cada época consistirá en 10 pasos (1000/100).
Ejemplo Práctico
Si se tiene un conjunto de datos de 1000 ejemplos y se decide entrenar un modelo durante 10 épocas con un tamaño de lote de 100:
Conjunto de Datos Completo: 1000 ejemplos.
Tamaño de Lote: 100 ejemplos por lote.
Número de Pasos por Época: 10 pasos (1000/100).
Número Total de Pasos en 10 Épocas: 10 épocas * 10 pasos por época = 100 pasos.
Indicadores Validez/Calidad del Modelo
• Para Regresión: Cuando la variable dependiente es métrica
• MSE / MAE / RMSE / R²
• Para Clasificación binaria:
• %Error: Proporción de observaciones incorrectamente clasificadas
• Accuracy (Exactitud): Proporción de observaciones correctamente clasificadas.
• Matriz de Confusión y Métricas Asociadas: Exactitud (Accuracy) / Sensibilidad (Recall o TPR) /
Especificidad (Specificity) / Precisión (Precision) / F1 Score
• Curva ROC y área bajo la curva AUC
• Para Clasificación multiclase/multinomial (3 o más categorías):
• %Error: Proporción de observaciones incorrectamente clasificadas
• Accuracy (Exactitud): Proporción de observaciones correctamente clasificadas.
• Matriz de Confusión y Métricas Asociadas: Exactitud (Accuracy) / Sensibilidad (Recall o TPR) /
Especificidad (Specificity) / Precisión (Precisión) / F1 Score
Deep Learning
Ventajas:
1.Capacidad de Manejar Datos No Estructurados: Deep Learning es altamente efectivo en el
procesamiento de datos no estructurados como imágenes, audio y texto.
2.Rendimiento Superior: En muchos casos, supera a otros algoritmos de Machine Learning en
términos de precisión y rendimiento.
3.Aprendizaje Automático de Características: Reduce la necesidad de ingeniería de características
manual, ya que las redes pueden aprender características relevantes automáticamente.
Desventajas:
1.Necesidad de Grandes Volúmenes de Datos: Deep Learning requiere grandes cantidades de datos
etiquetados para entrenar modelos precisos.
2.Alto Costo Computacional: Entrenar redes profundas es intensivo en recursos computacionales, lo
que puede ser costoso y llevar mucho tiempo.
3.Complejidad y Opacidad: Los modelos de Deep Learning pueden ser difíciles de interpretar y
entender, lo que plantea desafíos para la explicabilidad y la confianza en los modelos.
Single Layer con una capa oculta
Ejemplo Regresión
Queremos predecir el salario (métrico) de 1.Número de neuronas en la capa oculta:
jugadores de beisbol, considerando •La cantidad de neuronas en la capa oculta no es fija y puede variar. Un
predictores métricos y categóricos. La punto de partida común es el promedio de las neuronas de entrada y salida:
información está en la base Gitters. (19 + 1) / 2 = 10 neuronas en la capa oculta. Este número puede ajustarse
según experimentación y validación cruzada. En el ejemplo elegimos 50.
2.Funciones de Activación
Capa Oculta:Función de activación: ReLU (Rectified Linear Unit). Se elige ya
que es comúnmente utilizada por su capacidad de manejar el problema del
gradiente desvaneciente y su eficiencia en el cálculo.
Capa de Salida: Función de activación: Lineal. Se elige para problemas de
regresión (predicción de un valor numérico), se usa una función de
activación lineal en la capa de salida, que permite cualquier valor real.
3.Capa Densa (o capa totalmente conectada).
Consideramos que cada neurona está conectada a todas las neuronas de la
Tenemos un total de 19 variables predictoras (excluyendo la capa anterior y de la capa siguiente.
variable objetivo "Salary"). Variables predictoras:
Numéricas: AtBat, Hits, HmRun, Runs, RBI, Walks, Years, 4.Capa Dropout (o capa de abandono).
CAtBat, CHits, CHmRun, CRuns, CRBI, CWalks, PutOuts, Assists,
Errors Se elige una tasa de 40% , esto ayuda a prevenir el sobreajuste, apagando
Categóricas: League, Division, NewLeague aleatoriamente el 40% de las neuronas ocultas durante el entrenamiento
Single Layer con una capa oculta
Ejemplo Regresión
Queremos predecir el salario (métrico) de Pasos para Implementar la Red
jugadores de beisbol, considerando 1.Preprocesamiento de Datos:
predictores métricos y categóricos. La 1. Codificar las variables categóricas usando técnicas como one-hot
información está en la base Gitters. encoding.
2. Normalizar o estandarizar las variables numéricas.
2.Construcción del Modelo:
1. Definir la estructura de la red con 19 entradas, 10 neuronas en la capa
oculta con activación ReLU, y una neurona de salida con activación
lineal.
3.Entrenamiento del Modelo:
1. Función de pérdida seleccionada: Error cuadrático medio, ya que es
adecuada para regresión.
2. Optimizador elegido (RMSprop)
3. Se usará un conjunto de entrenamiento para ajustar los pesos de la red
4.Ajuste y Evaluación:
Tenemos un total de 19 variables predictoras (excluyendo la 1. Para evaluar el rendimiento se usará un conjunto de prueba.
variable objetivo "Salary"). Variables predictoras:
2. Se usará MAE y MSE ya que son métricas adecuadas.
Numéricas: AtBat, Hits, HmRun, Runs, RBI, Walks, Years,
CAtBat, CHits, CHmRun, CRuns, CRBI, CWalks, PutOuts, Assists, En la práctica, para mejorar el nivel predictivo, se realizan ajustes en la
Errors cantidad de neuronas, funciones de activación, o hiperparámetros basándose
Categóricas: League, Division, NewLeague en el rendimiento del modelo.
Single Layer con una capa oculta
Ejemplo Regresión – Estabilidad/Validación
Queremos predecir el salario (métrico) de
jugadores de beisbol, considerando
predictores métricos y categóricos. La
información está en la base Gitters.
1) Tanto las métricas de pérdida como de MAE muestran
una tendencia descendente constante en el conjunto de
entrenamiento y de prueba, lo cual es un buen indicio de
que el modelo está mejorando y aprendiendo
correctamente a lo largo de las épocas. 2)
La disminución en las métricas de validación (conjunto
prueba) sugiere que el modelo está generalizando bien y no
está sobreajustándose al conjunto de entrenamiento.
3) Aunque el modelo mejora, el MAE final de
aproximadamente 270 indica que, en promedio, las
predicciones de salario están a una distancia de 270
unidades monetarias del valor real. Dependiendo del
contexto, este error puede ser considerado aceptable o
necesitar mejoras adicionales.
Single Layer con una capa oculta
Ejemplo Regresión – Predicción
Queremos predecir el salario (métrico) de jugadores de beisbol, considerando
predictores métricos y categóricos.
Se realizó la predicción y cálculo de errores de la red neuronal con los datos de
prueba. Adicionalmente se ajustaron dos modelos (regresión múltiple y lasso)
para efectos comparativos.
Comparación de Modelos:
•La regresión lineal múltiple es más efectiva en términos de MSE y RMSE, mientras
que la regresión LASSO, aunque es más precisa en términos absolutos MAE, tiene
algunos errores más grandes que afectan su rendimiento general.
•La red neuronal, aunque es una técnica más avanzada y potente, no muestra
mejoras significativas en este conjunto de datos y presenta un rendimiento
ligeramente peor en comparación con los modelos de regresión lineal y LASSO.
•Selección de Modelo:
•Si el objetivo es minimizar los errores absolutos, la regresión LASSO sería una
buena elección debido a su bajo MAE.
•Si el objetivo es minimizar el impacto de grandes errores y obtener un modelo con
predicciones más precisas en promedio, la regresión lineal simple sería preferida
debido a su menor MSE y RMSE.
Multilayer con dos capas ocultas
Ejemplo Clasificación Multiclase
784
256
Queremos predecir un dígito manuscrito, 128
10
usando una imagen en escala de grises de
tamaño 28x28 pixeles
Es un problema de clasificación multiclases. La respuesta puede ser un dígito de 0 a 9,
por lo tanto, hay 10 clases en la variable dependiente, que equivalen a 10 neuronas en
Ejemplos de dígitos manuscritos de la base MNIST. la capa de salida, que generan la probabilidad de cada una de las 10 clases de dígitos.
Cada imagen en escala de grises tiene 28 × 28 píxeles, Cada dígito está representado por una imagen de 28x28 =784 pixeles, que serían los
cada uno de los cuales es un número de ocho bits (0- predictores. Las capas ocultas tienen 256 y 128 neuronas, cantidades que se han
255) que representa cuán oscuro es ese píxel. Los encontrado efectivas a través de la experimentación práctica previa. La primera capa
primeros dígitos 3, 5 y 8 están ampliados para
mostrar sus 784 valores de píxeles individuales. puede capturar características básicas (como bordes y líneas), mientras que la segunda
capa puede combinar estas características para formar representaciones más abstractas
y de alto nivel (como partes de números)
Multilayer con dos capas ocultas
Ejemplo clasificación multiclase
Red neuronal feed-forward utilizada para modelar una respuesta
multiclase con p=784 predictores.
*Propagación hacia adelante, se refiere que los datos fluyen solo
hacia adelante, desde la entrada hasta la salida.
*Todos los círculos son “neuronas”.
Capa de Entrada: Las p neuronas representan las variables
predictoras X1, X2, X3, …, X784.
Capa Oculta 1: Hay 256 neuronas en esta capa que calculan las
activaciones. Cada una aplica una función de activación a una
combinación lineal de las entradas.
Capa Oculta 2: Hay 128 neuronas en esta capa que calculan las
activaciones. Cada una aplica una función de activación a una
combinación lineal de las neuronas de la capa previa.
Esta red tiene 235,146 parámetros a estimar (llamados pesos). El Capa de Salida: Las neuronas en esta capa producen 10 salidas
número de parámetros en una red neuronal se calcula considerando
tanto los pesos (que conectan las neuronas entre capas) como los sesgos fm(X), que son las predicciones Ym del modelo. Cada neurona de
(interceptos).
Primera capa oculta: 200,704 = (784+1)*256
salida representa una de las clases en la respuesta multiclase.
Segunda capa oculta: 32,768 = (256+1)*108
Capa de salida: 1,290=(128+1)*10
Esta estructura permite modelar relaciones no lineales complejas.
Multilayer con dos capas ocultas
Ejemplo clasificación multiclase
1.Número de neuronas en capas ocultas:
La cantidad de neuronas en las capas ocultas no es fija y puede variar según el
problema específico y la experimentación. Existen varios enfoques comunes
para determinar este número:
•Promedio de neuronas de entrada y salida: Un punto de partida común es
calcular el promedio de las neuronas de entrada y salida utilizando la fórmula:
(neuronas de entrada+neuronas de salida)/2. Por ejemplo, si tenemos 728
neuronas de entrada y 10 neuronas de salida, el cálculo sería (728+10)/2=369
neuronas en la capa oculta.
•Experimentación y Validación Cruzada: Ajustar el número de neuronas
basándose en la experimentación y la validación cruzada para encontrar el
número óptimo que minimice el error de validación.
•Regla Empírica: Algunas reglas empíricas, como tener entre el número de
neuronas de entrada y el doble de este número, pueden servir como guía
inicial.
•Reducción Gradual: Es común tener una reducción gradual en el número de
Esta red tiene 235,146 parámetros a estimar (llamados pesos). El
número de parámetros en una red neuronal se calcula considerando
neuronas en capas posteriores para reducir la dimensionalidad y enfocarse en
tanto los pesos (que conectan las neuronas entre capas) como los sesgos combinaciones más abstractas de características.
(interceptos).
¿Por qué no tres capas?: Tres capas aumentan la complejidad y el tiempo de entrenamiento.
Primera capa oculta: 200,704 = (784+1)*256
Segunda capa oculta: 32,768 = (256+1)*108 Diminishing Returns: Más capas no siempre mejoran significativamente la precisión. Riesgo de
Capa de salida: 1,290=(128+1)*10 Sobreajuste: Puede aumentar el riesgo de sobreajuste y dificultad en la convergencia..
Multilayer con dos capas ocultas
Ejemplo clasificación multiclase
2.Funciones de Activación.
Capas Ocultas:
Primera Capa Oculta:Función de activación: ReLU (Rectified Linear Unit). Se
elige porque es comúnmente utilizada debido a su capacidad para manejar
el problema del gradiente desvaneciente y su eficiencia en el cálculo.
Segunda Capa Oculta:Función de activación: ReLU. Continuar con ReLU en la
segunda capa oculta ayuda a mantener la no linealidad y la eficiencia del
cálculo.
Capa de Salida: Se utiliza una función de activación lineal, lo que permite
cualquier valor real, aunque típicamente se esperaría una función Softmax
para problemas de clasificación como MNIST.
3.Capa Densa (o capa totalmente conectada).
Consideramos que cada neurona está conectada a todas las neuronas de la
capa anterior y de la capa siguiente.
4.Capa Dropout (o capa de abandono).
Esta red tiene 235,146 parámetros a estimar (llamados pesos). El
número de parámetros en una red neuronal se calcula considerando Se elige una tasa de abandono del 40% para la primera capa oculta y del 30%
tanto los pesos (que conectan las neuronas entre capas) como los sesgos para la segunda. Esto porque la primera capa oculta tiene mayor riesgo de
(interceptos).
Primera capa oculta: 200,704 = (784+1)*256 sobreajuste, mientras que la segunda, con menos neuronas, tiene un menor
Segunda capa oculta: 32,768 = (256+1)*108
Capa de salida: 1,290=(128+1)*10 riesgo de sobreajuste, por lo que se utiliza una tasa de abandono menor
Multilayer con dos capas ocultas
Ejemplo clasificación multiclase
Pasos para Implementar la Red
• Preprocesamiento de Datos:Normalización: Las redes neuronales son
sensibles a la escala de las entradas. Dado que los valores de los píxeles
originales son enteros entre 0 y 255, es recomendable reescalarlos al
intervalo [0, 1].
1.Construcción del Modelo:
• Definir la estructura de la red con 784 entradas (para las imágenes 28x28),
dos capas ocultas (256 y 128 neuronas respectivamente) con activación ReLU,
y una capa de salida con 10 neuronas y una función de activación lineal para
producir las predicciones.
1.Entrenamiento del Modelo:
• Función de pérdida seleccionada: Cross-entropy, adecuada para problemas de
clasificación multiclase.
• Optimizador elegido (RMSprop)
• Se usará un conjunto de entrenamiento para ajustar los pesos de la red
1.Ajuste y Evaluación:
Esta red tiene 235,146 parámetros a estimar (llamados pesos). El • Para evaluar el rendimiento se usará un conjunto de prueba.
número de parámetros en una red neuronal se calcula considerando
tanto los pesos (que conectan las neuronas entre capas) como los sesgos
• Se usará Accuracy (precisión), que mide % de predicciones correctas..
(interceptos). En la práctica, para mejorar el nivel predictivo, se realizan ajustes en la cantidad
Primera capa oculta: 200,704 = (784+1)*256
Segunda capa oculta: 32,768 = (256+1)*108 de neuronas, funciones de activación, o hiperparámetros basándose en el
Capa de salida: 1,290=(128+1)*10 rendimiento del modelo.
Multilayer con dos capas ocultas
Ejemplo clasificación multiclase – Estabilidad/Validación
Queremos predecir un dígito manuscrito,
usando una imagen en escala de grises de
Accuracy
tamaño 28x28 pixeles
1) Tanto las métricas de pérdida (cross-entropy) como de
Accuracy muestran una tendencia descendente constante
en el conjunto de entrenamiento y de prueba, lo cual es un
buen indicio de que el modelo está mejorando y
Cross-entropy
aprendiendo correctamente a lo largo de las épocas.
2) La disminución en las métricas de validación (conjunto
prueba) sugiere que el modelo está generalizando bien y no
está sobreajustándose al conjunto de entrenamiento.
3) El Accuracy final alcanza un 96%
Tiempo de procesamiento: Mi laptop: Sistema operativo de 64 bits, procesador basado en x64.
user: 137.83 segundos, tiempo total de CPU usado por el código. Procesador: 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz 3.00 GHz. Tiene
system: 105.33 segundos, tiempo total de CPU usado por el sistema operativo para apoyar el código. 2 núcleos físicos y 4 hilos (threads) debido a la tecnología Hyper-Threading de
elapsed: 98.03 segundos, tiempo real transcurrido desde el inicio hasta el final de la ejecución. Intel. Esto significa que, aunque solo tiene 2 núcleos físicos, puede manejar 4
La suma de user y system es mayor que elapsed debido a la ejecución paralela en múltiples núcleos de CPU. hilos simultáneamente, permitiendo cierto grado de procesamiento paralelo.
RAM 8,00 GB (7,73 GB usable). suficiente para muchas tareas de machine
learning,
Multilayer con dos capas ocultas
Ejemplo clasificación multiclase – Predicción
Queremos predecir un dígito manuscrito, usando una imagen en escala de grises de tamaño 28x28 pixeles
•Para la clase 1:
•Verdaderos Positivos (VP): 961: instancias que realmente pertenecen a la Clase 1 y fueron
clasificadas correctamente como Clase 1.
•Falsos Negativos (FN): 19 = =0+0+1+1+6+8+1+1+1 (suma de fila 1 excepto la diagonal)
•Falsos Positivos (FP): 23= 0+4+0+0+1+2+5+2+3+6 (suma de columna 1 excepto la diagonal)
•Verdaderos Negativos (VN): Son las instancias que no pertenecen a la Clase 1 y fueron
clasificadas correctamente como no pertenecientes a la Clase 1. Son 10000 -980 – FP = 8,997
Multilayer con dos capas ocultas
Ejemplo clasificación multiclase – Predicción
Queremos predecir un dígito manuscrito, usando una imagen en escala de grises de tamaño 28x28 pixeles
El modelo funciona muy bien en la clasificación de dígitos
MNIST. La precisión, el recall, y el F1-score son altos en casi
todas las clases, con un accuracy global de 96%.
La especificidad es perfecta (1.00), lo que indica que el
modelo rara vez clasifica incorrectamente imágenes que no
pertenecen a una clase dada.
Sin embargo, algunas clases tienen un desempeño
ligeramente inferior, como la clase 5 y la clase 6, que
tienen una precisión y F1-score un poco más bajos en
comparación con otras clases. Esto podría ser debido a la
variabilidad en las características de esas clases.
Proceso Redes Neuronales
• 1. Definición del Problema: Define claramente el objetivo y las preguntas que deseas responder con la red neuronal. Determina si es un problema de
clasificación, regresión, segmentación, etc.
• 2. Recolección y Preparación de Datos: Exploración de Datos: Realiza un análisis exploratorio para entender las características, la distribución y los
patrones en los datos. Preprocesamiento: Limpieza de Datos: Maneja los valores faltantes, errores y outliers. Normalización/Estandarización: Ajusta las
características para que tengan un rango o distribución similar. Codificación: Convierte variables categóricas en formatos que la red neuronal pueda
procesar (p. ej., one-hot encoding). División de Datos: Separa los datos en conjuntos de entrenamiento, validación y prueba.
• 3. Diseño de la Red Neuronal: Seleccionar la Arquitectura: Número de Capas: Decide cuántas capas ocultas y neuronas tendrá la red. Tipo de Red: Elige
el tipo adecuado (feedforward, convolucional, recurrente, etc.) según el problema. Funciones de Activación: Selecciona funciones de activación para
cada capa (p. ej., ReLU, Sigmoid, Tanh). Inicialización de Pesos: Configura los pesos iniciales de la red (p. ej., inicialización aleatoria, Xavier, He).
• 4. Configuración del Entrenamiento Función de Pérdida: Selecciona la función de pérdida adecuada para el problema (p. ej., cross-entropy para
clasificación, MSE para regresión). Optimizador: Elige un optimizador para actualizar los pesos durante el entrenamiento (p. ej., SGD, Adam, RMSprop).
Tasa de Aprendizaje: Establece una tasa de aprendizaje adecuada para el entrenamiento. Tamaño del Lote (Batch Size): Decide el tamaño de los lotes
de datos para el entrenamiento. Número de Épocas: Define cuántas veces recorrerá el conjunto de entrenamiento.
• 5. Entrenamiento del Modelo. Entrenar: Ajusta los pesos de la red neuronal usando los datos de entrenamiento. Validación: Evalúa el rendimiento del
modelo en el conjunto de validación para ajustar hiperparámetros y evitar sobreajuste. Ajuste de Hiperparámetros: Basado en los resultados de
validación, ajusta los hiperparámetros como la tasa de aprendizaje, número de capas, etc.
• 6. Evaluación del Modelo: Usa el conjunto de prueba para evaluar el rendimiento final del modelo. Métricas de Evaluación: Calcula métricas de
rendimiento como precisión, recall, F1-score, AUC-ROC, etc.
• 7. Ajustes Finales. Regularización: Aplica técnicas de regularización (p. ej., dropout, L2 regularization) si es necesario para mejorar el rendimiento.
Optimización de Modelos: Si es necesario, optimiza la arquitectura y los hiperparámetros.
• 8. Implementación y Despliegue: Guardar el Modelo: Guarda el modelo entrenado para su uso posterior. Despliegue: Implementa el modelo en un
entorno de producción o en una aplicación para hacer predicciones en nuevos datos.
• 9. Monitoreo y Mantenimiento: Monitoreo: Supervisa el desempeño del modelo en producción para asegurar que siga funcionando correctamente..
Actualización: Actualiza el modelo según sea necesario para adaptarse a nuevos datos o cambios en el entorno.
Etapas de Análisis (Hair)
Como buena práctica, desarrollar análisis en orden…
• Etapa 1: Objetivos
• Etapa 2: Diseño
• Etapa 3: Supuestos
• Etapa 4: Modelización
• Etapa 5: Interpretación/Predicción
• Etapa 6: Validación
Etapa 1 – Objetivos Redes Neuronales
Definición del Problema: Definir claramente el objetivo y las preguntas que se
desea responder con la red neuronal.
Dependiendo del problema, pueden ser:
1) Clasificación: Pronosticar un valor categórico (no métrico)
2) Regresión: Pronosticar un valor numérico (métrico)
3) NO HAY OBJETIVO DE INTERPRETACION → NO SE PUEDE DETERMINAR LAS
VARIABLES QUE INFLUYEN MAS/MENOS, NI LA DIRECCION DE LA RELACION
Etapa 2 – Diseño Estudio – Red Neuronal
1. Sobre las Variables:
1. Determinación de la Variable Dependiente
1. Clasificación Binaria: En problemas de clasificación binaria, la variable
dependiente suele ser codificada como 0 y 1.
2. Clasificación Multiclase: La variable dependiente puede ser codificada utilizando
una representación one-hot. Cada clase se representa como un vector binario,
donde solo un elemento es 1 (indica la presencia de la clase) y los demás son 0.
2. Sobre las variables independientes:
1. Redes trabajan con variables métricas y categóricas
2. La técnica es sensible a la escala de las variables. Se sugiere estandarizar o
normalizar variables continuas.
3. Podemos incluir variables categóricas codificándolas con métodos como one-hot
encoding.
Etapa 2: Diseño Estudio – Red Neuronal
1) Sobre la Muestra:
1) Tamaño de Muestra: No hay un tamaño mínimo estricto, pero en general, más datos conducen a
modelos más robustos y precisos. Las redes neuronales tienden a requerir grandes cantidades de datos
para evitar el sobreajuste y para aprender patrones complejos. En la práctica, se suele considerar que se
necesita al menos varias veces el número de parámetros en el modelo. Para modelos complejos, como
redes neuronales profundas, se pueden necesitar miles o incluso millones de observaciones.
2) Observaciones vs Variables: Una regla general es tener una cantidad significativa de datos en
comparación con el número de variables (predictoras). Idealmente, se recomienda tener al menos 10
observaciones por variable, aunque para redes neuronales, debido a su capacidad para modelar
relaciones no lineales y complejas, se puede trabajar con menos, siempre y cuando se realicen
adecuadas técnicas de regularización para evitar el sobreajuste.
3) Balanceo de Muestra: Lo ideal es que la muestra esté balanceada, es decir, que cada clase esté
igualmente representada. En problemas con datos desbalanceados (por ejemplo, eventos raros), es
crucial balancear la muestra. Esto puede implicar técnicas como el sobremuestreo de las clases
minoritarias, el submuestreo de las clases mayoritarias, o la utilización de técnicas de ajuste de pesos en
la función de pérdida. También se pueden aplicar técnicas avanzadas como la generación de datos
sintéticos (SMOTE) para mejorar el balance de clases.
Etapa 3 – Supuestos Redes Neuronales
No HAY SUPUESTOS debido a su capacidad
para modelar relaciones no lineales y
complejas entre variables.
Etapa 4 – Estimar Modelo
Elegir modelo.
Diseño de la Red Neuronal:
• Seleccionar la Arquitectura:
• Número de Capas: Decide cuántas capas ocultas y neuronas tendrá la red.
• Tipo de Red: Elige el tipo adecuado (feedforward, convolucional, recurrente, etc.) según el problema.
• Funciones de Activación: Selecciona funciones de activación para cada capa (p. ej., ReLU, Sigmoid, Tanh).
• Inicialización de Pesos: Configura los pesos iniciales de la red (p. ej., inicialización aleatoria, Xavier, He).
Configuración del Entrenamiento
• Función de Pérdida: Selecciona la función de pérdida adecuada para el problema (p. ej., cross-entropy para
clasificación, MSE para regresión).
• Optimizador: Elige un optimizador para actualizar los pesos durante el entrenamiento (p. ej., SGD, Adam, RMSprop).
• Tasa de Aprendizaje: Establece una tasa de aprendizaje adecuada para el entrenamiento.
• Tamaño del Lote (Batch Size): Decide el tamaño de los lotes de datos para el entrenamiento.
• Número de Épocas: Define cuántas veces recorrerá el conjunto de entrenamiento.
Entrenamiento del Modelo.
Entrenar: Ajusta los pesos de la red neuronal usando los datos de entrenamiento. Validación: Evalúa el rendimiento del
modelo en el conjunto de validación para ajustar hiperparámetros y evitar sobreajuste. Ajuste de Hiperparámetros:
Basado en los resultados de validación, ajusta los hiperparámetros como la tasa de aprendizaje, número de capas, etc.
Etapa 4 – Estimar Modelo
Indicadores Validez/Calidad del Modelo
• Para Regresión: Cuando la variable dependiente es métrica
• MSE / MAE / RMSE / R²
• Para Clasificación binaria:
• %Error: Proporción de observaciones incorrectamente clasificadas
• Accuracy (Exactitud): Proporción de observaciones correctamente clasificadas.
• Matriz de Confusión y Métricas Asociadas: Exactitud (Accuracy) / Sensibilidad (Recall o TPR) /
Especificidad (Specificity) / Precisión (Precision) / F1 Score
• Curva ROC y área bajo la curva AUC
• Para Clasificación multiclase/multinomial (3 o más categorías):
• %Error: Proporción de observaciones incorrectamente clasificadas
• Accuracy (Exactitud): Proporción de observaciones correctamente clasificadas.
• Matriz de Confusión y Métricas Asociadas: Exactitud (Accuracy) / Sensibilidad (Recall o TPR) /
Especificidad (Specificity) / Precisión (Precisión) / F1 Score
Etapa 4 – Estimar Modelo
Bondad de Ajuste – Regresión
Error Cuadrático Medio (Mean Squared Error, MSE):
Es el promedio de los cuadrados de los errores, es decir, la
diferencia cuadrada entre los valores observados y los predichos.
Un MSE más bajo indica un mejor ajuste del modelo a los datos.
Raíz del Error Cuadrático Medio (Root Mean Squared Error, RMSE):
Es la raíz cuadrada del MSE y se encuentra en las mismas unidades que la
variable dependiente. Proporciona una medida de la magnitud del error. Un
valor más bajo indica un mejor ajuste del modelo a los datos.
Error Absoluto Medio (Mean Absolute Error, MAE):
Es el promedio de los valores absolutos de los errores.
Es menos sensible a los valores atípicos en comparación con el MSE.
MAPE (Mean Absolute Percentage Error)
Se calcula como el promedio de los errores absolutos porcentuales
entre los valores observados y los predichos, expresado como un
porcentaje. Un MAPE más bajo indica una mayor precisión en las
predicciones del modelo.
Coeficiente de Correlación de Pearson: Mide la correlación lineal
entre los valores observados y predichos.
Etapa 4 – Estimar Modelo
Bondad de Ajuste – Matriz de Confusión
Imaginemos que estamos evaluando un modelo de diagnóstico
médico para detectar la presencia de una enfermedad Ante estos datos, los resultados son:
específica (enfermedad A) en pacientes. El modelo clasifica a Exactitud (Accuracy): 87% Es la proporción de predicciones
correctas en general. (TP+TN)/Total=(25+62)/100
los pacientes en dos categorías: enfermos (positivos para la Error (1-Accuracy): 13% Es la proporción de predicciones
enfermedad A) y sanos (negativos para la enfermedad A). incorrectas en general. (FP+FN)/Total=(5+8)/100
• Supongamos que tenemos los siguientes resultados para una muestra de 100 pacientes: Sensibilidad (Recall o True Positive Rate): 83,3%. Es la
• El modelo predice que 33 pacientes tienen la enfermedad A (positivos). proporción de casos positivos reales que el modelo identificó
• De los 33 pacientes que predice como positivos, 25 realmente tienen la enfermedad A (TP).
• Los 8 restantes que predice como positivos no tienen la enfermedad A (FP).
correctamente. (TP/(TP+FN))=(25/30)
• El modelo predice que 67 pacientes no tienen la enfermedad A (negativos). Valor Predictivo Positivo (Precisión): 75,8% Es la proporción
• De los 67 pacientes que predice como negativos, 62 realmente no tienen la enfermedad A (TN). de casos positivos predichos que fueron verdaderamente
• Los 5 restantes que predice como negativos tienen la enfermedad A (FN).
• En resumen:
positivos. (TP/(TP+FP))=25/33
• TP (Verdaderos Positivos): 25 En la matriz de confusión, los casos verdaderos F1-Score: Balance entre Precisión y Sensibilidad: Un F1-
• FN (Falsos Negativos): 5 generalmente se representan en las filas y las predicciones score alto (cercano a 1) indica que el modelo tiene tanto una
• FP (Falsos Positivos): 8 en las columnas. Y está considerando como umbral para
• TN (Verdaderos Negativos): 62 clasificación a 0,5 alta precisión (pocos falsos positivos) como una alta
sensibilidad (pocos falsos negativos). Es especialmente útil en
situaciones con desbalance de clases, ya que una alta
precisión o una alta sensibilidad por sí sola no proporciona
una imagen completa del rendimiento del modelo.
F1SCORE=2*(Prec*Sens)/(Prec+Sens)=0,79
Etapa 4 – Estimar Modelo
Bondad de Ajuste – Curva ROC(Receiver Operating Characteristic)
La Curva ROC es una herramienta gráfica utilizada para evaluar el
rendimiento de un modelo de clasificación binaria. Muestra la
relación entre la tasa de verdaderos positivos (sensibilidad) y la
tasa de falsos positivos (1 - especificidad) a través de diferentes
umbrales de decisión.
Un modelo es representado por una curva.
Diagonal Principal: Una línea diagonal de 45 grados desde la
esquina inferior izquierda hasta la esquina superior derecha
representa un modelo que hace predicciones aleatorias.
Curva por Encima de la Diagonal: Un modelo cuyo ROC se curva El AUC (área total bajo la curva ROC) es una métrica que
hacia el lado superior izquierdo es mejor que un modelo cuantifica el rendimiento global del modelo de
aleatorio. clasificación. Mide la capacidad del modelo para distinguir
Curva Perfecta: Un modelo ideal tendría una curva ROC que entre las categorías/clases. Si el valor de AUC es:
pasa por el punto (0,1), lo que indica una tasa de falsos positivos 0.5 < AUC < 1: Cuanto más cercano a 1, mejor es el
de 0 y una tasa de verdaderos positivos de 1. rendimiento del modelo.
Facilita la comparación entre diferentes modelos de
Facilita la comparación entre diferentes modelos de clasificación. clasificación. El modelo con mayor AUC muestra mejor
Un modelo cuya curva está más alejada de la diagonal es mejor. ajuste.
Etapa 4 – Estimar Modelo
Bondad de Ajuste – Matriz de Confusión Multiclase
Imaginemos que tenemos un modelo de clasificación que ha sido probado en un conjunto de datos, y
tenemos las siguientes predicciones y etiquetas verdaderas <<Categorías: A, B, C>>
Modelos con mayor valor %Accuracy tienen mejor ajuste.
Tasa Error Clasificación = 1 - %Accuracy. Si usamos este
criterio, el mejor modelo es el de menor tasa de error.
Balanced Accuracy, es especialmente útil cuando las clases
tienen tamaños diferentes y se quiere asegurar que el
modelo tenga un buen desempeño en todas las clases, no
%Error = 0,42 (1- Exactitud (Accuracy))
solo en las más frecuentes.
Exactitud (Accuracy): Recall (Sensibilidad) por Clase:
Total de Predicciones Correctas = 3 (A) + 2 (B) + 2 (C) = 7 Recall para A = 3 / 4 = 0.75
Total de Casos = 4 (A) + 5 (B) + 3 (C) = 12 Recall para B = 2 / 5 = 0.4
Accuracy = 7 / 12 = 0.58 Recall para C = 2 / 3 = 0.66
Precisión (Precision) por Clase: Precisión y Recall Macro-Promedio:
Precisión para A = 3 / 5 = 0.6 Precisión Macro = (0.6 + 0.5 + 0.66) / 3 ≈ 0.58
Precisión para B = 2 / 4 = 0.5 Recall (Sensibilidad) Macro = (0.75 + 0.4 + 0.66) / 3 ≈ 0.61=
Precisión para C = 2 / 3 = 0.66 <<Balanced Accuracy>>
Etapa 5 – Interpretación RedNeuronal
Explicación - Importancia de variables
En redes neuronales, la determinación de la importancia de las variables puede ser un
desafío debido a la naturaleza compleja y a menudo opaca de los modelos. Sin embargo,
existen métodos y enfoques que pueden ayudar a entender la influencia de las variables
en el pronóstico, tanto para problemas de regresión como de clasificación (binaria o
multicategoría).
Para redes neuronales, la importancia de las variables se puede determinar utilizando
técnicas de regularización (como L1), métodos de interpretación basados en gradientes
o teoría de juegos (como SHAP y LIME), y análisis de sensibilidad. Cada método tiene sus
ventajas y limitaciones, y a menudo se recomienda utilizar una combinación de
enfoques para obtener una comprensión más completa de la influencia de las variables
en el modelo.
Etapa 5 – Interpretación
Predicción
Uso de gráficos/tablas y de las métricas adecuadas para cada tipo de problemas.
Etapa 6 – Validación de Resultados Redes
Neuronales
Estrategias de Validación
En modelos predictivos, las técnicas de validación más usadas se relacionan
con el uso de muestras distintas.
• Conjuntos de Entrenamiento / Prueba ( Train/Test Data)
• Se divide los datos en dos grupos. 80% para entrenar el modelo, 20% para probarlo. (70% / 30 % )
• En los datos de entrenamiento, realizamos todo el proceso descrito hasta obtener el modelo. En
los datos de prueba, solamente lo aplicamos y observamos su nivel predictivo.
• También suelen elaborarse algunos modelos en los datos de entrenamiento, y evaluarlos en los
datos de prueba, para poder comparar entre ellos su capacidad predictiva y seleccionar el mejor
• Cross-Validation (k-folding): Una generalización automatizada del método de train/test
En cualquiera de estas estrategias se deben considerar los puntos respecto a la muestra revisados en etapa 2.
Por ejemplo, si usamos datos de entrenamiento para entrenar el modelo, deberíamos cumplir con los criterios
de número de casos, relación observaciones por predictor, balanceo, etc. Por otro lado, como los datos de
prueba suelen ser más pequeños puede flexibilizarse algunos puntos, pero idealmente debería mantenerse.