Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Capacitación Data4Now Septiembre, 2021 1 Temas ● Introducción Aprendizaje Automático (AA) ● Metodología ● Evaluación de modelos 2 Introducción AA 3 Aprendizaje Automático (Machine Learning) Que es ML? ● Es una rama de la inteligencia artificial cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender. ● Los algoritmos generalizan comportamientos en base a ejemplos proporcionados. Observación Variable 1 ... Variable m 1 ... n Resultados https://es.wikipedia.org/wiki/Inteligencia_artificial Que es un algoritmo de Machine Learning? ● Los algoritmos de Machine Learning toman como input diferentes variables de los individuos y arrojan un output. ● La lógica puede ser una operación matemática, un conjunto de reglas o un mix de ambas. Aprendizaje Automático (Machine Learning) El ML se divide en dos grandes tipos de aprendizaje, supervisado y no supervisado: • Los de tipo supervisado son aquellos que tienen una “clase” que se intenta predecir. • Los de tipo no supervisado son aquellos que no tienen una “clase”, sino que intentan agrupar casos en base a similitud entre ellos. Aprendizaje Automático (Machine Learning) Los algoritmos de aprendizaje supervisado pueden ser: • Clasificación: Se predice un evento con una cantidad de valores discretos • Binarios (“Acepta” / “No acepta”) • Multiclase (“Montevideo”, “Rocha”, “La Paloma”) • Regresión: Se predice un valor continuo Aprendizaje Supervisado En síntesis, lo que vamos a intentar hacer es predecir: • Un evento futuro en base a lo que conocemos del pasado • Un evento en una población en base a lo que conocemos de otra población Aprendizaje Supervisado Ejemplos comunes de aprendizaje supervisado - Problemas de clasificación: • Predicción de Churn/Attrition (baja según la industria): • Su cuenta bancaria / Línea telefónica / Su servicio de cable • Predicción de upselling: • Upgrade de servicios / ofrecimiento de productos plus / cambio de terminales • Predicción de fraudes: • bancos / e-commerce / seguros • Estimar nivel socioeconómico En el contexto de teledetección esto no se da frecuentemente, el enfoque es otro. Aprendizaje Supervisado El resultado de un modelo predictivo es una forma funcional que permite, utilizando los inputs, predecir un output. Tomando el peso que se le da a cada variable, se puede observar los comportamientos que marcan una mayor tendencia. Ejemplo: Si estoy estimando el salario de la población y el coeficiente correspondiente a la zona donde vive es alto, podría indicar cierta relación Poder explicativo de los modelos Modelos de clasificación: imágenes satelitales • Clasificación de coberturas de suelo. • Mapeo de cultivos para agricultura. • Conteo de techos, piscinas y objetos en general. • Inventario remoto. • Etc, etc, etc. Metodología 18 Workflow Todo proyecto de Data Mining comienza con un problema a resolver • Quiero hacer una campaña de venta • Tengo una fuerza de venta de cierto tamaño y quiero optimizar su trabajo • Quiero identificar a los morosos • Quiero actuar antes de que caigan en mora • Quiero identificar quiénes se van a ir • Les ofrecería una promoción • Quiero predecir la tasación de un departamento • Desarrollaría una app con esa predicción Una vez identificado el problema a resolver, proceder a la extracción de datos de la fuente Puede ser: • Base de datos • Archivos planos • Otras fuentes (ejemplo, web) Workflow - Extracción de datos El siguiente paso es la transformación de datos que incluye • Integrar: Unir las diferentes fuentes de datos • Transformar: Modificar los datos para los fines que deseamos • Limpiar: Eliminar casos o corregir registros erróneos • Filtrar: Quedarnos con lo relevante • Sumarizar: Resumir varios registros en uno nuevo en un nivel de observación más agregado Workflow - Transformación de datos Ya con el dataset con el que vamos a modelar armado, procedemos a realizar un análisis exploratorio para entender mejor los datos con los que estamos trabajando Workflow - Exploración Luego se procede a entrenar los modelos Por entrenamiento se entiende a la ejecución del algoritmo que ajustará los datos a una representación Esta representación puede ser por ejemplo una función matemática o un conjunto de reglas Ejemplo: Ejecuto el algoritmo que crea un árbol de decisión Workflow - Modelado Ya habiendo entrenado los modelos, se procede a la aplicación del mismo sobre un dataset diferente al que usamos para modelar Luego, evaluamos la performance del modelo de acuerdo a la o las métricas que hayamos elegido Seleccionamos el o los modelos candidatos Workflow - Validación Habiendo elegido los modelos candidatos, procedemos a aplicar estos modelos en otro conjunto de datos para validar nuestra elección inicial Workflow - Testing Con el modelo definitivo procedemos a ponerlo en producción Esto puede llegar a ser: • Programación de la lógica en otro lenguaje • Automatización Workflow - Puesta en producción Con el modelo productivo, después de cada período, se procede a evaluar la performance del modelo Workflow - Seguimiento Evaluación de modelos 29 Overfitting Cuando hacemos un modelo, no tenemos que olvidarnos cuál es el objetivo final, predecir casos no vistos Cuando un modelo se ajusta demasiado a los datos que usamos para entrenar pero no posee un buen desempeño prediciendo nuevos casos, se dice que estamos sobreajustando (overfiteando en spanglish) Debido al overfitting, para modelar dividimos el dataset en una conjunto de training que vamos a usar para entrenar el modelo y un conjunto de validación para comprobar los resultados del modelo Otra práctica que se realiza es dividir el dataset en un 3er conjunto de testing, el cual se utiliza una vez que ya se seleccionó el mejor modelo utilizando los otros 2 Training y validation Para evaluar un modelo, existen diversas métricas, algunas dependen de establecer un umbral de probabilidad para clasificar los casos, mientras que otros se valen solamente del valor de la probabilidad Para seleccionar la métrica a usar, no hay fórmulas universales, éstas van a depender de la industria, del problema y de qué es lo que se quiera privilegiar/evitar Evaluación de modelos VALOR PREDICHO POSITIVO NEGATIVO VALOR REAL POSITIVO VERDADERO POSITIVO FALSO NEGATIVO NEGATIVO FALSO POSITIVO VERDADERO NEGATIVO La matriz de confusión permite observar qué cantidad de los casos fueron clasificados correctamente y cuáles no, además qué tipo de error se cometió Matriz de confusión • Accuracy • (VP+VN)/TOTAL • Qué porcentaje de los casos fue clasificado correctamente • Cuando las clases están muy desbalanceadas no sirve • Precisión • VP/(VP+FP)=VP/Marcados como positivos • Qué porcentaje de los valores que considero positivos lo son • Sensibilidad • VP/(VP+FN)=VP/POSITIVOS • Qué porcentaje de los positivos encontré • Especificidad • VN/(FP+VN)=VN/NEGATIVOS • Qué porcentaje de los negativos marqué como negativo Medidas basadas en la matriz de confusión Estas medidas suelen ser complementarias entre sí, por eso para seleccionar alguna, tengo que pensar en el problema Si quiero no dejar a ningún positivo afuera, cuál uso? Sensibilidad (VP/POSITIVOS) En este caso, algunos exámenes médicos privilegian un falso positivo a que alguien posea una enfermedad y no lo sepa. Ejemplo: el examen de VIH Si quiero estar seguro de no dar por positivo algo falso? Especificidad (VN/NEGATIVO) Un ejemplo de esto es el Evatest, si dice que estás embarazada, es porque estás embarazada Medidas basadas en la matriz de confusión El resultado de un modelo, suele ser un valor de probabilidad de la clase a predecir. Para poder dar un valor predicho, se debe establecer un umbral, el cual puede ser por: • Umbral arbitrario de probabilidad • Cantidad de casos a utilizar (i.e: por capacidad de contactos) • Cantidad de casos positivos a encontrar • Umbral deprobabilidad basado en el uso Medidas basadas en la matriz de confusión Modelado - coeficiente 𝜿 (Cohen 1960) ● Tiene en cuenta el acuerdo entre dos observadores en sus correspondientes clasificaciones. ● Penaliza que los dos observadores clasifiquen igual de manera azarosa. ● Si po es el acuerdo observado relativo entre los observadores y pe es la probabilidad hipotética de acuerdo al azar. Optimización de Hiperparámetros 38 Cross Validation Grid Search Los árboles de decisión son algoritmos de la rama de computación. Lo que genera es un conjunto de reglas que, al cumplirla la observación, se le otorgará una probabilidad en base a lo visto en el conjunto de entrenamiento La ventaja de estos modelos es un fácil interpretación y que, dependiendo de la implementación, trabajan bien con valores nulos. Árboles de Decisión El árbol de decisión lo que busca es dividir el conjunto de datos sucesivamente con el fin de crear diferentes grupos lo más “puros” posible Cada división que genera el árbol se llama “nodo” y, la división terminal, se llama “hoja” Árboles de Decisión El algoritmo comienza: 1. generando cortes de variables numéricas 2. agrupando variables categóricas Lo que busca con esto es encontrar el corte que genere la mejor división de los datos en base a un estadístico determinado Luego compara todas las variables y utiliza la mejor, separando el dataset por esa variable Luego repite el procedimiento para cada nodo que se genere Árboles de Decisión El algoritmo se va a detener cuando no pueda optimizar los cortes de variables o cuando se alcance una profundidad máxima del árbol Luego de generar el árbol, algunas implementaciones poseen algo llamado “poda”, que es eliminar reglas que al eliminarlas mejoran la predicción. Árboles de Decisión Ventajas • Fáciles de Interpretar y Explicar, pueden ser mostrados gráficamente • Trabajan bien con variables categóricas • Dependiendo la implementación, trabaja bien con valores nulos • Trabaja naturalmente con problemas multiclase • Se pueden usar para regresión y clasificación Desventajas • El desempeño con clases desbalanceadas no es muy bueno • Un pequeño cambio en los datos puede modificar sustancialmente el árbol • Tiende a priorizar variables categóricas con alta cardinalidad Árboles de Decisión - Ventajas y Desventajas Ensambles de árboles de decisión 46 Bootstrap • Técnica estadística basada en tomar muestras con reposición para diversos fines. • Se realiza la estimación de media, varianza, etc a partir de tomar muestras con reemplazo de los datos que tenemos. • El tamaño de las muestras es el mismo que el de nuestro conjuntos de datos. • Se realiza muestreo con reemplazo para agregar variabilidad a la muestra que tenemos. • La idea es calcular el estimador a partir de diferentes muestras que nos permitan acercarnos con mayor seguridad al valor de este en la población. • Animación explicativa: link Bootstrap https://www.stat.auckland.ac.nz/~wild/BootAnim/movies/bootstrap1.mp4 Bootstrap • Bootstrap aggregation. • Ajustar varios árboles profundos a muestras del dataset original (tomadas con reemplazo). • Clasificar por votación (en clasificación) o promedio (en regresión). Bagging • Recordemos que los árboles de decisión presentan un bajo sesgo (se ajustan bien a los datos) pero alta varianza (no generalizan bien). • Al promediar esos árboles se reduce dicha varianza en el estimador final. • Se pierde la simpleza y explicación de tener un solo árbol. Bagging Bagging Random Forests 53 Random Forests • Bagging produce diferentes muestras bootstrap que pueden ser similares. • Random Forests tiene una filosofía similar pero intenta resolver este problema. • Para cada árbol se selecciona de manera bootstrap un subconjunto de los datos de entrenamiento y se deja el resto de las instancias para evaluar el error. • Para cada nodo del árbol se selecciona una muestra aleatoria de los atributos del conjunto de datos para realizar la mejor partición posible. • El error de evaluación converge asintóticamente a un límite a medida que el número de estimadores va creciendo. Random Forests • Ventajas: estabilidad de las predicciones y posibilidad de estimar la importancia de cada variable en la clasificación. • Desventajas: posibilidades de sobreajuste y dificultad de interpretación. • Importancia de variables: cuánto desciende la medida de impureza (sea Gini o entropía) del árbol si se considera determinado atributo para un nodo. Random Forests Random Forests - Parámetros • Máxima profundidad de los árboles. • Mínima cantidad de observaciones para dividir un nodo interno. • Criterio de medición de calidad de una partición. ● Desde principios de la década del 70, se resolvían los problemas de clasificación en imágenes satelitales a partir de píxeles. ● Para cada uno se estudiaban las propiedades espectrales sin tener en cuenta la información del contexto espacial. ● Puede ocurrir que dada la variabilidad asociada a considerar los píxeles de manera aislada, no sea uniforme la clasificación. Clasificación por píxel
Compartir