SS_Logo

Machine Learning en Stata: Árboles de Decisión y Ensemble Learning

Autor: Franco Andrés Mansilla Ibañez / Portafolio: Quantitative / Vie. 18 de Nov de 2022

Transcripción de este video

00:00:45:21 Somos un equipo autogestionado, responsable, proactivo y autónomo, con gran compromiso social, aportando el pensamiento científico y el desarrollo latinoamericano, promoviendo el uso de software para investigación en todas las áreas del conocimiento. Generamos contenido de alta calidad teniendo en cuenta las distintas necesidades del mercado. Realizamos actividades gratuitas constantemente. Abordamos temáticas vigentes, aplicaciones especializadas y elementos metodológicos que te permiten interactuar y generar redes para la difusión de tus proyectos.

00:00:55:19 Contamos con servicio de asesoría, consultoría y acompañamiento personalizado, certificaciones internacionales, entrenamientos especializados y talleres prácticos.

00:01:10:26 Nuestro principal objetivo es promover el uso de tecnología en el campo investigativo, generando un impacto significativo en la región y de esta forma contribuir a la creación de comunidad para compartir conocimiento.

00:01:40:05 Te invitamos a ser parte de este gran equipo Software Shop. Visita nuestra página web y conoce nuestros servicios. Software Shop La empresa líder en la implementación de herramientas analíticas y software especializado en Latinoamérica, les da la bienvenida a esta presentación. Esta sesión estará a cargo de Franco Andrés Mansilla, Ingeniero Civil Industrial, con Magíster en Finanzas en la Universidad de Chile.

00:02:15:18 Actualmente se encuentra trabajando como líder técnico de Inteligencia Artificial en el Banco de Crédito e Inversiones BSI en su país. Se ha desempeñado como analista en Investigación Económica y financiera para académicos de la Universidad de Chile y Banco Central de Chile, en temas de mercados, de capitales, eficiencia de mercado, riesgo financiero, econometría y estadística. En el área académica ha sido catedrático en temas como probabilidad y estadística, econometría financiera, formulación y evaluación de proyectos y en ramas de ingeniería como investigación de presiones y Taller de Ingeniería Civil Industrial.

00:02:43:17 Bienvenidas. Hola. Cómo están? Muy buenas. Algunos buenos días. Para otros, buenas tardes. Bueno, lo que comentaba Liza absenta, lo que es machine learning, principalmente enfocándonos en lo que es árbol, edición y modelos del Sambil. Miren, miren como se va a estructurar esta presentación. Va a ser una presentación que va a contar la mitad del tiempo, un poquito menos.

00:03:26:21 El tema de de introducir un poco el tema de árboles, de diversión y modelos de estambre, para después pasar a un ejemplo práctico utilizando esta todo bien sabiendo que esta data no es un software que te permite y que te permite hacer machine learning, no es su foco, pero hoy en día que se están jugando mucho, lo que es el tema de integración con machine learning y todo lo que es herramientas de python, etcétera Bien, principalmente el machine learning es es el es un sistema, es un tipo de sistema que está, que le da inteligencia a lo que son los.

00:03:52:03 Es el método aprendizaje que principalmente, que, que le da la inteligencia a todo lo que son los sistemas de inteligencia artificial. Bien, el machine learning, como les comenté, es el método en la cual tú mediante datos o mediante distintos metodologías, tú trata de darle inteligencia. Este sistema a un robot, a un juego, aprenderá algo, etc para que haga ciertas tareas.

00:04:34:12 Bien, hoy en día el machine learning no solamente está enfocado a poder entrenar o dar inteligencia a un sistema de inteligencia artificial, sino también se utiliza mucho y por lo menos yo también lo utilizo en enfocado más en temas de de poder predictivo. Entonces yo lo que busco principalmente es lograr mejorar el poder predictivo que tienen los modelos clásicos que hoy en día se están implementando claramente con algunos costos asociados a aplicar machine learning tiene costo asociado no solamente económico, sino también de ejecución, de desarrollo.

00:05:19:00 Y ahí yo tengo que en temas más de industria tengo que velar por costo y beneficio, bien, o sea, si con un modelo clásico de un modelo clásico yo llego por ejemplo a obtener un desempeño bueno y a bajo costo y el machine learning mejora marginalmente, se mueve en el desempeño ese modelo clásico. Prefiero implementar lo que es el modelo clásico perfecto dentro principalmente del machine learning, en lo que se denominan lo que son los sistemas de aprendizaje que están acá y los sistemas de aprendizaje principalmente.

00:05:45:29 Eso hay cuatro el supervisado, el no supervisado, el semi supervisado, el reforzado y cada uno de estos en parte funciona de una manera particular. Y eso quiere decir que los sistemas supervisados son los sistemas supervisado. Es cuando, es cuando yo le doy al algoritmo el target o el objetivo para que mediante las variables que utilice pueda encontrar los patrones.

00:06:14:00 Es como ahí tengo el ejemplo, es el perro policía que trata de encontrar sustancia ilícita o a personas perdidas. Y eso que quiere decir que poseído, por ejemplo, se pierde una persona en un parque. Yo hace perro que está entrenado para eso, para encontrar personas. El supervisado sería que yo le entregue una prenda, una prenda al perro de esa persona que se perdió y el salga a encontrar a la persona en función a ese código.

00:06:38:29 El algoritmo lo algoritmo de machine learning tratan de hacer eso. Tú le das el objetivo. Con ese objetivo el tiene que encontrar patrones para después replicar. Lo fue. Extrapolando a nuevo muestras el no supervisado con el mismo ejemplo es que que no le de la prenda al perro y el salga a buscar en función a su conocimiento. Claro, claramente está eso puede encontrar tanto una persona.

00:07:13:24 Si el perro fue entrenado para encontrar, se le vio, puede encontrar una persona o encontrar a un conejo por ejemplo. Bien el semi supervisado es que le hay algo inconcluso, algo que algo, algo que se parezca al olor de la persona que se perdió, por ejemplo y el reforzados puede hacer referencia a cómo se entrenó el perro y el reforzado es cuando, por ejemplo, yo quiero que el perro aprenda una acción y esa acción principalmente está gatillado con recompensas.

00:07:39:07 Entonces, si el perro hace algo que yo le estoy enseñando, yo, yo, yo le doy la recompensa para reforzar ese aprendizaje y en el caso contrario no le doy nada. Entonces él va a tener la capacidad de decir oye, cuando, cuando me dan esto, cuando yo hago esto, me dan una recompensa, por lo tanto voy a seguir haciendo esto para que me sigan dando la recompensa.

00:08:10:04 Y eso la señal al ser humano es que dice oye esto, esta no, no, es que está aprendiendo, pero se está acostumbrando. Lo que yo quiero que haga bien y es, y principalmente este sistema de aprendizaje es cómo van aprendiendo en el tiempo, si en manera online es manera batch, es decir, llega, llega información, aprende esa información y entrega la respuesta o bache que en algún momento llegue, se acumule un stock de información.

00:08:42:15 Ese stock de información se corre el modelo y sale el lógica y principalmente también como se realizan las predicciones de instancias o modelos. Bien, una de las cosas importante tener claro antes de pasar a lo que ya es solo árboles de diversión, es el tema del ajuste y la sobre estimación sobre subestimación son conceptos que son distintos porque son era útil la capacidad que tú le das al algoritmo de que aprenda patrones, pero la sobre subestimación es principalmente se da.

00:09:14:14 Bueno, el sobre, su sobre y su ajuste es la capacidad y eso tú lo vas controlando con con con el parámetro y eso y la sobre subestimación. Tú lo vas controlando directamente con la muestra. Entonces, por ejemplo, si tú estás prediciendo la ventas, o sea un disculpen la los salario de las personas o de los gerentes en una empresa particular y tú le estás dando como muestra el salario de no gerentes.

00:09:38:16 Claramente el modelo te va subestimar el salario de los gerentes, bien porque no es, porque no es por la capacidad de encontrar patrones, sino es más bien por la muestra que tú le estás dando. Entonces esa muestra que tú le estás dando está haciendo que el modelo encuentre patrones de forma o en esa subes o sub ajuste, ajustándose, ajustando los parámetros.

00:10:01:17 Pero como le diste una muestra que no representativa a lo que tú quieres está sobre o subestimando. Y eso concepto es que tener los claro a la hora de hacer modelo, porque te van apareciendo ciertas casuísticas que tú la tienes que ir solucionando. Entonces si tú solucionas algo con la herramienta equivocada, puedes seguir estando en el mismo loop y no encontrar las soluciones.

00:10:37:03 Ahora bien, aquí hay un concepto de su y su ajuste y principalmente como les comenté sobre su ajuste, se puede entender como como la capacidad que tú le entregues al modelo aprender. Entonces, cómo yo controlo esto? Principalmente con la muestra entrenamiento. Entonces, si yo le doy mucha capacidad al modelo que aprenda, sirve de mucha capacidad que el modelo que aprenda el cuando yo lo aplique a una muestra nueva, lo que va a suceder es que me va a dar malas muestras de malas medidas de desempeño, porque?

00:11:11:23 Porque se aprendió de los detalles de la muestra entrenamiento y no lo. Y esos detalles no se encuentran en la muestra de validación. Lo mismo sucede, puede suceder con su ajuste. Bien, por eso hay que tener un nivel óptimo de sobre de ajuste del modelo y eso lo puedes comparar con la medida de evaluación, tanto la muestra equipamiento con la muestra de validación y aquí un poco lo que es las ventanas de desarrollo, dependiendo la estructura de información que utilicemos y se pueden definir distintas muestras de.

00:11:44:07 De desarrollo. Ventana de desarrollo. Esta por ejemplo. Lo que es la muestra de desarrollo de que la muestra entrenamiento la coloque en la validación y la otros está en que puede una con una muestra te fuera del tiempo bien y principalmente se hace esto para para poder validar el desempeño un modelo. Entonces si tú haces un modelo y no y no utilizas esta muestra de validación, lo que puedes estar cometiendo un error del momento de implementar o desplegar el modelo y ponerlo en el modelo.

00:12:29:02 El te puede fallar perfecto porque nunca evaluó hasta el modelo. Cómo se comportaba fuera o con muestra que no lo incorporaste dentro del desarrollo. Entonces por eso es importante muestra de desarrollo o ventana al desarrollo. Independientemente la la estructura, información 100% de tiempo o más de corto para empezar al éxito. En mi opinión, principalmente que siempre es recomendable, siempre recomiendo que comience en forma iterativa y que significa en forma iterativa que comiencen con los con las técnicas más sencillas y no solamente con las técnicas más sencillas, sino también con un un stock acotado de datos perfecto.

00:12:58:18 Y funciono de eso. Ustedes van iterando si van logrando o no el desempeño deseado perfecto y así van progresando. Y ahí como sale el amigo con cortándose un trozo de carne con una espada. Hoy no vale tanto la pena utilizar técnicas sofisticadas siempre mire solamente a su falta un cuchillo sencillo. Bien, bien, árbol. Eso es importante tenerlo claro para comenzar a ver ya lo que es.

00:13:33:18 Son los distintos tipos de algoritmos, pero en este caso vamos a ver lo que son los árboles de inicio. Para los árboles son principalmente son árboles no lineales que principalmente establecen, establecen ciertas cortes de la variable. Entonces lo que van haciendo a lo largo de edición es cortando la variable para, para, para simular un un árbol de forma de forma de ramas, teniendo su nodos respectivos y las ramas respectivas.

00:14:03:28 Bien, entonces en parte como es un árbol que va cortando la variable y no va apurando la magnitud de la del dado, lo que sucede principalmente es que no es necesario escalar la variable. Entonces en ocasiones las diferencias entre variables, escalas, por ejemplo, estandarizar las o normalizarla o no normalizar las o no estandarizar las. Los resultados pueden ser muy parecidos.

00:14:30:02 Bien, entonces un árbol edición, como comentando, supongamos que nosotros tenemos tres, tres clases y tengo y tenemos dos variables aquí uno es x dos, entonces lo que va haciendo, tenemos un total de 40 muestras, 40 datos, donde en la clase uno tenemos 12, 12 clase de la clase roja, 12 clase de la clase azul y dieciseis clases verdes.

00:14:51:24 Entonces lo que va haciendo esto, como le iba comentando, es que va acortando la variable, entonces comienza con el x uno y el hay que uno dice perfecto, acá ya vamos a ver cómo funciona, cómo va cortando. Pero la intuición detrás de esto es que al momento de que corta la variable tres va a tener un menor a tres y un mayor a tres perfecto.

00:15:20:18 Entonces el menor a tres en el nodo encontró que el que menor a tres encontró un nodo que la clase detecta. Dos observaciones de las cuales ese valor es esa 12. Pertenecen las dos a la clase roja, cero la clase azul y cero la la que esté verde perfecto que es en esta pared, corresponde en la clase cero lo que es mayor a tres.

00:15:50:28 Tengo 28 y esta 28 se donde se compone de 12 clase azul y 16 de clase verde. Entonces aquí yo ya encontré un nodo puro que se llama un nodo que en parte alberga puras clases, o sea alberga muestras de una sola clase, ya solo lo ideal en lo árboles que cuando uno va ramificando hacia abajo, idealmente va a ir encontrando que cada uno en un nodo pertenezca a una clase y no a varias clases.

00:16:20:01 Bien, como acá principalmente todavía tengo en un nodo dos clases, parten dos clase, un nodo. Yo sigo ramificando y coloco otra variable, por ejemplo X22X2 da lo que es menor a cuatro y mayor a cuatro y mayor y menor a cuatro. Tenemos la clase azul que logra detectar la clase azul perfecto y este sería la clase verde bueno, al revés, clase verde y clase azul.

00:16:53:15 Entonces. Y aquí encontramos en otra ramificación, en otra rama encontramos nodos puros, porque al final de este no encontró que sería este sería el nodo rojo. No, no azul y no verde efecto. Y ahora cómo establece el punto de corte? Y ahí hay algo que se llama Chinchin, purity y lo que es, lo que es la entropía. Entonces hay dos técnicas que tenemos que te permite o cómo trabajan los árboles, edición para definir los cortes de la variable.

00:17:22:01 Entonces la entropía principalmente es esta es la ecuación uno menos, llamémoslo el punto de corte. Bien, y lo que trata de hacer principalmente la entropía es si acá, volviendo al ejemplo, tenemos una muestra de 30, 15, 15, 15 clase roja y 15 clase azul, lo que va haciendo que va probando primero, por ejemplo con la variable x uno y va haciendo diferentes corte de la variable que uno.

00:18:01:05 Entonces el primer corte que hizo fue con el corte de X un igual a uno, entonces al cortar el eje uno se genera la ecuación, dice ay, el G2 va a ser uno menos lo que es, lo que es el de la clase azul, o sea la clase roja. Aquí logró detectar dos menor a uno sobre dos más cero, porque es dos más cero, porque dos de la clase roja más cero de la clase azul, acá no hay ninguna clase azul perfecto.

00:18:41:02 Más arriba la clase azul cero, porque no hay ninguna clase azul sobre dos más cero, porque dos de la clase roja y de G3, que es lo que es mayor a uno. Aquí podemos encontrar 13 de la clase roja y 15 de la clase azul. Entonces por qué principalmente este cero? Si nosotros hacemos los cálculos cero y esto se le denomina nuevo, puro, perfecto, porque acá logró detectar una clase, una, una sola clase, este no efecto, pero tal vez que no esté bien equilibrado porque se encuentra al otro lado, está todo concentrado acá.

00:19:09:21 Entonces aquí el Gini encontró un valor de del 50% cero 40 cero 49 74 y así va probando en cada uno, va calculando con cada una de las iteraciones con diferentes corte de la variable, o sea computacional mente. Imagínense si claro, no tenemos una sola variable y tampoco hace un solo corte, entonces hace muchos corte para muchas variables.

00:19:33:05 Entonces detrás también hay un plus, hay un poder de procesamiento que iguale al y la entropía tiene el mismo sentido, pero principalmente la entropía tiene concepto de la de lo que es caótico. Entonces yo lo que no quiero encontrar es un no caótico. Entonces lo que yo quiero reducir ese es ese caos en cada uno de los nodos y funciona exactamente lo mismo.

00:20:05:21 Se dan cuenta solamente que acá la ecuación es más larga, pero el concepto es exactamente el mismo. Van dos más 1G1 G3 viene cuando es menor al x -1 y mayor al x, después va con el x dos. Esto va con el x -3, o sea con el x tres menor a tres, superior a tres. Y todo eso cada vez que va procesando, va procesando cada uno de los de entropía y cada uno de los gin puede ser uno lo otro.

00:20:47:16 Dicen que para, para cuando tenemos un árbol que necesita clasificar es mejor la entropía y cuando tenemos que regresión algún una variable continua es mejor el Gini. Porque bien, eso es lo que dicen, como la experiencia de cierto analistas. Entonces cuando tú ya tienes cada uno de los nodos, vas probando con cada uno de los nodos de por cada uno de los cortes, estos valores tú lo vas ingresando a las funciones de costo y entonces si tu, si tu variable, si tu quieres clasificar tu, esta va a ser lo que es tu función de costo.

00:21:25:14 Y este es cuando tu tenías un tabby contigo. Perfecto. Entonces tienes la proporción por el. Por el Gini Purity de la izquierda, que sería este más la proporción de Gini de la derecha que sería bien y así uno es. Y este valor principalmente lo que yo quiero es reducirlo. Entonces va probando distintos valores, distintos cortes, va guardando estos valores y los va reemplazando acá y lograr que esto minimice esa función de costo.

00:22:14:17 Y un segundo en cuanto regresa Franco les recuerdo que pueden dejar sus consultas en el espacio indicado para que podamos dar respuesta. Al finalizar muchas gracias. Si bien, entonces principalmente cuál? Cuál es el desafío acá? El desafío principalmente es lograr que esto no sea tan profundo, porque cuál sería el concepto cuando es por árboles over, o sea cuando existe lo es que logra encontrar un nodo, un nodo por cada uno de las observaciones.

00:22:47:17 Eso sería como el over fitting de un árbol. Es decir, existe una. Una profundidad. El árbol, una profundidad. Muy, muy, muy, muy, muy profunda, que llega al punto de establecer un nodo. Un nodo tenga una clase, o sea una observación, y muchos no tengan exi, es decir, existan n nodos al final del árbol como n observaciones existen en todos sea es el directamente el or fi y el under fitting es que existan.

00:23:13:24 Desconocido No existe la cantidad de ramas suficiente o la o la o la cantidad de profundidad suficiente para representar o para cortar las clases. Bien, entonces para controlar, eso es lo que nosotros utilizamos los parámetros y como les comenté lo el parámetro es como los parámetros que te permiten regularizar en parte la capacidad de aprendizaje que tienen los algoritmos.

00:23:38:04 Casi todos los modelos algoritmos, o sea de los algoritmos machine learning tienen parámetros, o sea, por lo menos yo no he visto ninguno que no tenga hyper parámetros. Entonces esos parámetros. Algunos tienen 20, otros tienen cinco, todos tienen claro, depende, dependiendo de algoritmos. Entonces tu tienes que ir jugando con esos hyper parámetros y calibrando y en ocasiones eso lo eso es lo complejo.

00:24:25:26 Perfecto, porque hay metodologías que te permiten, hay metodologías que te permiten lograr ajustar estos hiper parámetros en función a los desempeños que va teniendo los diferentes desempeños que va teniendo el algoritmo con esos parámetros. Bien, y usualmente los árboles de visión son principalmente en la profundidad. El árbol está el el tope mínimo. Observaciones por cada uno de los de los nodos viene perfecto el también el número mínimo de observaciones en cada una de la hoja y cuánta, en total, cuánto tú puedes crear en el árbol.

00:25:06:22 Entonces todos esos hiper parámetros son las restricciones que tú le das al al algoritmo para para que comience a procesar. Qué es lo que usted que lo árboles propiamente solo lo lo árboles únicamente un árbol es muy es muy fácil que entienda lo que es feeling perfecto. Por lo tanto, aquí entras lo que se llama el concepto de los modelos de ensamble y dentro de los modelos de ensamble, el concepto detrás es que no hay un solo modo, no hay un solo árbol que va corriendo si no se ejecutan muy simples árboles de bien.

00:25:46:13 Entonces dentro de estos múltiples árboles, como uno va a aprender el primer árbol, cómo va aprendiendo del árbol que itero? Y lo anterior va a ser en función al concepto de la familia que yo le llamo y las familias que son tan la familia de los Darwin, de los Pasti, de los Mustang y de los está aquí, o sea, entonces por ejemplo, todo lo que son de busto pertenece a la familia de Agustín, el Agus, el Kraken, Gustin, el X Busto y toda la familia Lupus.

00:26:16:10 También está los Austin y los Backing, que usualmente son los que los Ramón Flores y todo lo que son Familia de los Flores, Ángeles, Flores, etcétera Bien, y cada una de estas familias trabajan bajo el concepto de iteración iteraciones de árboles de muchos árboles. Pero cómo uno va aprendiendo de la iteración es que va cambiando en cada una de estas familias.

00:26:53:00 Que bien. Entonces bueno, acá yo le tengo un ejemplo de que supongamos que tenemos esta muestra o esta muestra, y yo lo que voy haciendo es que le quiero distinto. Algoritmo Super Vector Machine, regresión logística, árboles, división y lo que hago sobre esto después es vale cada uno me estima una predicción. Por ejemplo, en este caso yo aprendí de de encontrar patrones sobre esta clasificación de cero y uno, y tengo una observación verde y la tengo que clasificar.

00:27:16:10 Entonces Super Vector Machine, la que la clasifica como categoría cero, la logística como uno y a la evolución como cero. Entonces yo de esto tengo que sacar un como una especie de oración. Entonces la que se repiten con mayor frecuencia es la que queda en este caso cero Bien, lo mismo sucede cuando tengo un ejercicio de regresión, una regresión.

00:28:02:05 Entonces hago las regresiones correspondientes, tengo una nueva observación, esta observación, cada uno de los algoritmos la estima. Y sobre esto yo hago una estimación que puede ser un promedio o la mediana, dependiendo el caso. Bien, usualmente los los modo como esta tipología de cómo de cómo se trabaja con diferentes algoritmos, no necesariamente con muchos árboles. Los muchos árboles son los bajos fácil lo gusten, pero los static trabajan principalmente con diferentes algoritmos y eso algoritmos después los unifica bien y por eso el trabajo detrás de lo de los esta tiene muy pesado, según la cual se correr un modelo.

00:28:27:21 Los hombres también se es muy muy pesado computacional. Ahora no me refiero bien. Y ahora por ejemplo, el ejercicio que vamos a ver ahora Random Forest lo va a aplicar. Random Forest viene de una persona que programó el Random Forest de la oficina de Watson, luz en estado bien, y Random Forest pertenece a la familia de los Valle Perfecto.

00:28:57:10 Entonces nosotros principalmente, yo le mostré los árboles. Divisiones son estos son los parámetros de un árbol. Pero cuando nosotros hablamos de modelos de ensambles se le agrego un parámetro más que es el n de estimadores, que es la cantidad de árboles que tú quieres que mire. Si 520, 50, etcétera Bien, y eso también se trata de optimizar. Pasemos al ejercicio práctico.

00:29:49:28 Curioso y déjeme cerrar acá un poco porque en la imagen se ve estado cierto? Se podrían confirmar diseño, no? Si bien, bueno, principalmente por temas de tiempo. Usualmente yo a mi me gusta ir creando el código, pero por tema de tiempo me obliga a ir mostrándoselo a mi. Así que aquí lo que pasa aquí lo que tenemos es una base de datos de riesgo, crédito de una base de datos de rico crédito dos y tenemos la variable de fan perfecto.

00:30:35:12 La probabilidad de que yo te bueno cliente no bueno y diferentes características de los clientes dar nivel educación años de permanencia años de. Déjeme ver acá años de permanencia año de permanencia en el área ingresos del hogar Radio Deuda Ingresos Deuda Tarjeta de crédito Otras deudas. Bien, entonces sobre esto yo voy a generar una muestra, una, una muestra de entrenamiento y una muestra de validación perfecto, si sirve cada uno la muestra aquí de las 500 observaciones que yo tengo, obviamente no puedo tener mucha observación y muchas variables porque al momento de correr el Random Forest puedo estar por lo menos diez minutos esperando a que termine.

00:31:02:07 Correcto. Entonces también le quiero mostrar cómo se hace la optimización de los parámetro. Entonces hay bastante peor. Entonces por eso de una base de datos más acotada. Pero, pero ya entendiendo la intuición se puede extrapolar a a cualquier base, dato de cualquier tamaño. Bien, entonces de esta 500 observaciones que yo tengo, voy a utilizar 400 para yo entrenar el modelo, es decir, el algoritmo Random Forest.

00:31:33:22 Con estas 400 observaciones tiene que lograr encontrar patrones, y esos patrones yo los voy a hacer, los voy a evaluar en estas 100 observaciones. Posteriormente, vean que dejé afuera perfecto. Entonces lo primero, como yo les comenté, este proyecto, lo primero que yo hago es siempre correr un modelo clásico, un modelo aquí, por ejemplo, voy a poner un modelo, una logística clásica.

00:31:55:13 Perfecto, aquí sí, usando todas las variables y señalando que la muestra que es uno, que la muestra entrenamiento bien se soporta, muestra uno que la manera entrenamiento. Y sobre esto voy a voy a predecir, voy a decir hágame una predicción, a ver, aquí, a ejecutar, bueno, para que lo vayamos viendo.

00:32:40:09 Entonces acá al utilizar un modelo clásico, aquí, al utilizar un modelo clásico, claramente nos arroja lo que es los estadísticos correspondientes, está el pseudo cuadrado, está lo que es el equivalente viene. Aquí podemos observar de que de que son significativas el 1% perfecto, una eficacia estadística por detrás y al momento de hacer la predicción, la predicción con un corte con un umbral de cero tres bien, el tipo de al hacer el corte de la probabilidad y llevarla a cero y uno con este corte, con este umbral, tenemos lo que son las curvas rojas.

00:33:12:09 Y aquí observamos del primer gráfico. En esta primera curva observamos de que veámoslo, véanlo por el momento, así como así como el acierto por el momento ya lo un acierto no viene bien aquí la puntual 72% de la marcha bien, es decir, tuvo un acierto el 72% en la muestra entrenamiento y cuando yo le apliqué la muestra de variación tuvo un desempeño a 100 observaciones que ya fue desde afuera.

00:33:42:23 Todo un acierto. Recuerden veanlo de esa forma por el momento de un 76% bien, o sea relativamente bien, un modelo que aceptable, o sea es difícil encontrar modelos de gestión que te den 90%, uno 100% bien, a no ser que sea un modelo de MLP de el para el mundo operación es claro y ahí tiene que ser una precisión del 100% porque necesito que me extraiga bien el texto prospecto.

00:34:11:07 Si no, no sería útil. Pero tu modelo que tenga un nivel de un nivel de acierto del hotel de los 75% es bueno, no es racional. Bien, entonces este modelo lo vamos a guardar aquí, lo vamos a dejar, lo para, acá están va a ir porque este va a ser nuestro benchmark. Con este vamos a comparar el modelo de El Random Forest.

00:34:46:00 Perfecto, entonces yo antes, yo antes de aplicar un modelo de de Random Forest, sobre todo porque carece un poco de, carece un poco de a lo que se llama de de significancia estadística no te muestra la significancia técnica, solamente te muestra el nivel de importancia orden de participación que incluyó la información de esa variable sobre el modelo. O sea, cuánto contribu contribuyó esta variable para poder clasificar o discriminar las clases cero y uno?

00:35:17:18 Entonces como carecen de esa significancia, yo te arrojaré cerrando. Forest aplico lo que es un una prueba de test. Perfecto. Entonces yo acá principalmente quiero ver la significancia estadística entre las como una diferencia de medias por grupo. En este caso el grupo sería la variable false. Entonces acá observamos de que la edad no es significativa o lineal de significativa el diez al 10% lo años de permanencia es significativa el uno.

00:35:49:15 Este significativo al uno no es significativo el ratio deuda ingreso significativo deudas tercer significativo significativo el 1%. Entonces acá se nos puede dar una idea de qué variables puede tener más información para lograr discriminar la respuesta. Las clases cero y uno. Perfecto. Y acá ya comienzo con comienzo, ya con el proceso de de random form, entonces comienzo con todo lo que es una estandarización de las variables.

00:36:12:18 Perfecto. Como les comenté al principio, en ocasiones no es necesario estandarizar la variables cuando utilizamos árboles de edición, porque les comenté que los árboles van cortando las variables como hace un corte de a lo que está menor, o sea tres mayores a tres. Entonces no influye tanto el tema de la estabilidad, de la magnitud, del valor de, la magnitud de la variable.

00:36:48:04 Perfecto. Y acá arrojamos un random flores que con hyper parámetros arbitrarios, aquí tenemos la iteración de IT les itera me con 30 árboles y la profundidad va a ser de 30 a la profundidad, es decir, va a generar 30 ramas de profundidad bien y con los mismos puntos de corte. Entonces ejecutamos esto y mi DS se dan cuenta?

00:37:16:12 Acá me dio una curva el 95% entrenamiento y acá me dio 73%. Entonces acá yo puedo decir hey, mirá lo que está sucediendo en University, por qué? Porque ahí aprendió tan bien con la muestra entrenamiento que se aprendió los detalles. Entonces al aprenderse los detalles tuvo un acierto del 95% y si esos detalles cuando los. Cuando los trató de extrapolar para predecir la muestra de validación no le fue tan bien.

00:38:15:16 Por eso existe esta diferencia. 73% también es bueno, bien, pero no puede existir esta diferencia porque significa que esto, esta muestra en el algoritmo, en la muestra entrenamiento aprendió mucho. Entonces yo le tengo que ajustar estos parámetros para que no aprenda tanto y no y no, no olfatee bien, no como que se salió de los libros de texto, no solamente como que salió de la pantalla, computadora hace muy bien, entonces de qué forma yo, yo voy a poder controlar un poco esto claro, yo le puedo dar otros parámetros, ir probando parámetros, parámetros, pero eso es cansador y imposible.

00:38:57:17 Bien y poco visual, porque tal vez que nunca le guste a uno o a un no, a unos hiper parámetros que sean buenos, consistentes para informar. Entonces por por, por la variedad de combinaciones que pueden existir. Entonces lo que hago es lo que se llama un Grid Search y el grid search. Establezco una grilla, yo digo oye, mira, tómame aquí, le estoy diciendo el número de ramas que vayan de 2 a 10 y anda probando uno por uno, proba con todos por acá, con tres va con cuatro hasta llegar a diez y el número árboles prueba con de 5 a 20, decir de 567 hasta llegar a 20.

00:39:23:07 Ese es como esos son como la grilla que yo le permito para que vaya probando los distintos, las distintas combinaciones correspondientes. Entonces tú a empezar 2,5, resultado lo va a guardar 2,6. Resultado lo va a guardar después 2,7 hasta después dos 20 de acá va a pasar a tres, después tres, cinco. Entonces va probando diferentes combinaciones. Entonces imagínense.

00:40:08:02 Claro, aquí tenemos 500 datos, va a ser radio, pero cuando tenemos no y no te tenemos que hacer 100.000 observaciones, 50.000 o 10.000 observaciones es distinto, y no solamente con ocho variables, imagínense con 100 variables. Entonces eso también hay que considerarlo al momento de ejecutar esto y todo eso. Resultado yo lo voy guardando en un frame perfecto. Bueno hacia atrás y acá lo ejecuto y mire y ahí comenzó a iterar, entonces se dan cuenta, se va moviendo, o sea, moviendo, va probando diferente combinaciones de haber parámetro y guardando los resultados y ahí terminó.

00:40:51:23 Bien, entonces si se dan cuenta, yo me voy al frente donde guardó los resultados, hizo 100 y cuatro combinaciones diferentes, bien, tenía la lista de ahí y 5,2. El resultado rock de entrenamiento o rock de prueba. 6,2 por tres, 7,2 prueba. Perfecto. Entonces yo ahora con estos datos tengo que lograr como encontrar unos hyper parámetros óptimo, donde la diferencia no sea mucho y claro y sea los mayores los mayores niveles de altura si, pero que la diferencia entre curva de entrenamiento y curva de prueba no sean no sea mucha diferencia.

00:41:40:23 Entonces acá lo que hago es un gráfico de calor, un mapa, un mapa de calor perfecto. Y acá lo que hago es principalmente calcular una diferencia o una diferencia y idealmente prácticamente en cero, que sería algo como por acá bien, y podemos observar que esto se más o menos esta como por acá como estos tres grados de calor y así me voy muy acá, voy a ver o definir mucho, pero si me voy acá voy a invertir mucho, entonces yo tengo que llegar al punto o por acá bien, y eso está como se ubica entre los tres, tres y cuatro, el número de ramas y el número de árboles está como por acá, entonces me

00:42:05:21 voy a parar acá, aquí yo le puse, le puse una iteraciones, número de árbol 11 decir bajé de 30 a 11 y la profundidad del 20 que le puse le puse tres. Claro, y es normal, porque no son tantas variables, tampoco son tantos datos. Entonces es normal que sea poquito y ajustando los mismos puntos de cortes encontramos quienes son los pensamientos.

00:43:09:05 También la si se dan cuenta, acá encontró mira 76% y 75%. Se casa. Y si esto lo comparamos con el algoritmo, con el de esto lo comparamos a bueno, lo comparamos con con el con la versión logística. Hasta acá si eso lo comparamos con la región logística, o sea prácticamente muy parecido, tan alrededor de los 70% y claro, es normal por la cantidad, entonces claramente la votó de mejor forma, lo que es la reviso logística, por lo tanto tu te quedas con la región logística, no es que tomes el modelo de de de random for esto un modelo computacional más costoso implementar bien y acá tu ya puedes ver lo que es la importancia de

00:44:02:18 las variables, entonces X si se dan cuenta me dice mira la que más contribuyó a la al poder discriminar entre cero y uno en el ramo Forest eh. Fue el ratio de ingreso después años de permanencia, deuda de C otras deudas año de permanencia, año de permanencia al año. Y si ustedes lo combinan esto con la matriz de estadística, miren cual tiene, cual tiene mayor T respecto por si tiene mayor T porque mucho más significativo estos ya el IVA algo es prácticamente 0,000 algo bien, entonces se dan cuenta el valor absoluto, el que tenga mayor T es ratio de ingreso y justamente la la que mayor contribuye y la otra es año del año de

00:44:56:22 permanencia y porque esta es uno año de permanencia en el año y son justo claramente las dos que están dos como la que la que entregan mayor información para discriminar entre las clases cero y uno entre los clases buen pagador y mal pagado, eso entre comillas es como que y con esto parte doy el paso para hacer responder consultas, pero así son los pasos a seguir a la hora de de poder construir un modelo claramente en mas pasos entre medio de limpieza de base de datos o visualización, etcétera Pero en estricto rigor, así uno va definiendo los distintos pasos para crear los modelos de cualquier tipo de modelo, tanto de machine learning como modelos clásicos.

00:45:26:06 Bien, sin que ahora doy el pase a consultas, no sé si Lisa o Ericka me podrán apoyar en las dudas que hay. Claro que si Franco, ahí me escuchas bien. Si perfecto, vas perfecto. Bueno, entonces por acá te han llegado algunos comentarios, sin embargo, pues varios de ellos ya los has respondido. Entonces voy a tratar de organizar aquí algunos que que quedan pendientes.

00:45:54:10 La primera que te hacen es si existe alguna regla de que proporción de la muestra debe ser la de entrenamiento. Hay alguna opción óptima para esto? O generalmente que características haría en tener en cuenta al momento de aplicar este tipo de técnicas? Disculpa, justo en 1/1. Pues como que se entre. Cortó. No tengo. No te puedo ir. Bien, dale a ella.

00:46:31:00 Me escuchas? Mejor ahí? Si. Listo? Perfecto. Te consultan si existe alguna regla de que proporción de la muestra debe ser de entrenamiento. Y pues si no existe alguna regla para esto que se debería tener en cuenta para aplicar, pues justamente esta parte si usualmente la las proporciones son entre 70 80%, para que son mas corte del estilo corte transversal pero serie de tiempo son otra forma de de establecer la la muestra de desarrollo entrenamiento en.

00:46:53:13 Porque tiene que ir en función al tiempo ordenado y va a depender del tipo de modelo porque algunos modelos son de memoria corta, por lo tanto no pueden producir, no pueden hacer proyecciones muy a largo plazo, por lo tanto, no le puedes poner una muestra test muy larga porque diablos te estás haciendo que la medida es un pegote de mala?

00:47:23:19 Porque son la limitación que tienen su modelo son más de memoria, corto bien, pero usualmente son para los deportes. En verdad son 70, 80% por ahí y lo otro en variación por por acá también te mencionan lo siguiente en que se fundamenta la selección del umbral del cero tres y porque no se puede, por ejemplo, usar el cero cinco.

00:48:13:29 Lo que pasa es que tu tratas tus datos en parte de siempre y lograr el punto la cual te permita clasificar de la mejor forma los los clase cero y la clase uno. Entonces en ocasiones tus clases, tus clases de tu variable y están desbalanceada por lo tanto utilizar cero cinco en esos casos seria un poco, um muy exigente cuando tu tienes mucha de clase cero y poco de clase uno, por lo tanto tu vas jugando un poco con el umbral para jugar un poco también a la clase uno para para lograr saber cuando es cero y uno.

00:48:42:14 Entonces claro, no hay que bajarlo tanto ni subirlo tanto, pero hay bajarlo una cierta proporción para ver también cómo se desempeña el modelo por acá. También te consulto en lo siguiente y cual es la diferencia máxima que debe tener la muestra entrenamiento con la de test para indicar que no esta sobre modelado 5% menos y te pregunto si también si.

00:49:27:01 Ah, perdóname. Adelante de la ti. Es decir, más o menos como 5% de variación. O sea en, por ejemplo, 70% no que no supere el 80, que se maneje por lo menos entre 71 77 78 por no te consultan también? Pues, en qué tipo de situaciones sería óptimo usar pues este tipo de técnicas y en que casos es mejor trabajar con algoritmos clásicos es siempre recomendable, siempre recomendable.

00:49:55:28 Utilizar métodos clásicos para utili y usarlos como benchmark a lo modelo de machine learning que se dio cuenta acá el Random Forest Bio, marginalmente mejor que el modelo regresión logística. Pero entonces en este caso es algo subjetivo. Una regresión logística es una historia que pase con un órgano forest o algo más sofisticado. Bien, lo mismo sucede en distintos tipos de estructuras de información.

00:50:29:29 Vale, te hacen por aquí una última pregunta y es como podría clasificarse la parte de sentimientos mediante árboles de decisiones y análisis de sentimiento. Ahí no comprendí a qué se refería con sentimientos. No sé si la la rama que de. De la rama que hace modelo de sentimientos o como yo no entendí el concepto de sentimiento eh? Pues es una de las técnicas de aplicación.

00:51:06:18 Bueno, que se han venido trabajando también en Stata, que se están incluyendo un par de comandos, pero pues no hay mucha. Si análisis de sentimientos, pues no hay mucha documentación aún al respecto en Stata y sin embargo si nos dejan por aquí su correo, les compartimos un par de comandos. Perdón que la comunidad ha incluido para la parte de EM trabajo con con métodos mixtos.

00:51:35:03 Y por acá te llega una última pregunta. Este y es la siguiente si se quiere elegir el modelo que mejor predice por fuera del entrenamiento, porque no se puede simplemente escoger el modelo que da el Mayor ROC para la muestra de validación. Porque lo que pasa es que tú necesitas una buena pregunta que tú necesitas para encontrar cierta estabilidad del modelo.

00:52:03:08 Y esa estabilidad del modelo tú no la logras escogiendo la mejor, la mejor, el mejor valor en la muestra de validación tiene que ser ambas muestras o si no el concepto del under fitting. Entonces yo si mi modelo, por ejemplo, toma una muestra de valía, una obtuvo una muestra entrenamiento y eso da un desempeño. Por ejemplo, el 50% y en la muestra evaluación me un 80.

00:52:41:02 Esta está entrando ese concepto del under fitting, entonces tiene que tiene que lograr que en ambas muestras o en todas las muestras que tengas logre una estabilidad de las métricas de desempeño. Y por qué? Porque tú con eso te aseguras que cuando tú lo pones en producción el modelo, aseguras que las predicciones que haga sean estables. Y no es que en un mes te lance muy buen desempeño, otro mes muy mal desempeño y eso tú lo tienes que ir viendo a medida que vayas construyendo el modelo.

00:53:15:17 Vale, perfecto. Franco Pues por aquí siguen llegando algunas preguntas al chat, frente a la grabación, frente al material les ha venido contando Elisa que la grabación lo encontraron disponible a partir de la próxima semana en nuestra página web. Entonces no sé si quieras añadir algo más para finalizar y franco chin, gracias por por el tiempo con software ha sido más o menos un año y ahí se han creado cursos de machine learning y de Machine han avanzado en esta etapa.

00:53:44:04 Entonces lo invito a que lo revisen ahí dentro de uno de esos cursos vemos lo que es el Ramón Flores más detalladamente y dejarlo invitado para una próxima ocasión. Vale, perfecto. Franco Pues bueno compartirte aquí las felicitaciones y los agradecimientos de los participantes por aquí nos han seguido llegando algunas preguntas sobre la parte de análisis textual y mtodos mixtos.

00:54:05:16 De nuevo, si desean dejarnos su correo y les compartimos la información, pues disponible en los datos para que la puedan consultar y tal vez aplicar a sus investigaciones. Sin más. Pues entonces desearles un feliz día Franco y agradecerte por la presentación del día de hoy. Y entonces nos encontramos en una próxima oportunidad que estén muy bien. Y entonces hasta pronto.

00:54:25:02 Un abrazo que esté muy bien. Para mayor información respecto al software o en temas relacionados, no dude en contactarnos a través del correo electrónico. Entrenamientos arroba software guion shop punto com o visitar nuestra página web triple ole o punto software guión ya.com.

Machine Learning en Stata: Árboles de Decisión y Ensemble Learning


En esta presentación abordaremos los conceptos de árboles de decisión y ensemble learning, que actualmente son ampliamente utilizados para la clasificación o la regresión de sistemas complejos. Igualmente, realizaremos un ejercicio práctico aplicando el método Random Forest y abordando las herramientas con las que cuenta Stata 17 para esta aplicación.

Etiquetas relacionadas

  • Algoritmos
  • Árboles de decisión
  • B-learning
  • Investigación
  • Investigación educativa
  • Investigadores

¡Comparte este video con tus colegas!

Compartir

Ver más

Cotizar
Próximos
Eventos

X

Mis cotizaciones:

Comentarios a tu solicitud:

Cotizar