Modelos de Machine Learning o aprendizaje automático
A lo largo de mi formación y en la experiencia adquirida durante los últimos años, he querido hacer una recopilación de un conjunto “básico” de Modelos de aprendizaje automático o de Machine Learning dentro de una gran cantidad de ellos.
Estos modelos y técnicas de análisis, han servido para en capacitar a mis estudiantes, principalmente a los de la Universidad de Barcelona, en mi condición de profesor visitante.
Por ello, con éste artículo quiero ayudar a responder la pregunta: ¿ Qué es un modelo de aprendizaje automático o de Machine Learning ?
A lo largo de este documento, podrán acceder a diferentes modelos en donde pretendo explicar, con ejemplos, estos conceptos. Adjunto no solamente los modelos, sino además los accesos a los modelos interactivos. ( en la mayoría de los casos ). La finalidad es que el lector pueda ver el funcionamiento de los mismos en un ambiente “en línea”, interactuando con sus propios datos.
Habría que comenzar diciendo, que un modelo de Machine Learning o aprendizaje automático es una expresión de un algoritmo que analiza enormes cantidades de datos, para encontrar patrones y posteriormente hacer predicciones y prospecciones.
Impulsados por datos, los modelos de aprendizaje automático (ML) son los motores matemáticos de la inteligencia artificial.
Las redes neuronales, cada vez más populares (CNN y RNN)
Por ejemplo, un modelo de Machine Learning para la visión por computadora, podría identificar automóviles y peatones en un video en tiempo real, o bien una neumonía en una Radiografía de Tórax o en una tomografía. Un modelo para el procesamiento del lenguaje natural, podría traducir palabras y oraciones.
En realidad un modelo de aprendizaje automático, es una representación matemática de los objetos y sus relaciones entre sí. Los objetos pueden ser cualquier cosa, desde un “me gusta” en una publicación de redes sociales, hasta moléculas en un experimento de laboratorio.
Modelos de Machine Learning para cada propósito
Sin restricciones sobre los objetos, que pueden convertirse en funciones en un modelo de ML, no hay límite para los usos de la IA. Las combinaciones son infinitas, pero cómo podemos aplicar los modelos de aprendizaje automático o de Machine Learning. ?
Los científicos de datos, hemos creado familias completas de modelos de aprendizaje automático para diferentes usos, y hay más en proceso de creación. A modo esquemático presento a continuación la clasificación primaria de los algoritmos que los divide en supervisados y no supervisados, dentro de una familia más tradicional, que he querido denominar ” Aprendizaje Automático Clasico”.

Algoritmos básicos de aprendizaje automático
Esta es una taxonomía de varias fuentes que he consolidado y mejorado con el propósito de adoptarla en mis lecciones y en mi actividad profesional. Esta taxonomía coincide en términos generales con las otras clasificaciones existentes, pero que en mi caso calvez que busqué darle un enfoque más académico.
Por ejemplo, los modelos lineales usan álgebra, para predecir relaciones entre variables en proyecciones financieras. Los modelos gráficos expresan con diagramas una probabilidad, y tratan de explicar cómo un consumidor elegirá comprar un producto. Tomando prestada la metáfora de las ramas, algunos modelos de ML, toman la forma de árboles, para clasificar decisiones y les llamamos arboles decisorios . Cuando esos mismos árboles decisorios se agrupan en varios cientos de “arboles” les llamamos algoritmo del bosque aleatorio. (Random Forest)
Un modelo de aprendizaje automático para todos, el “Machine Learning Moderno”
Cuando hablamos de los nuevos modelos de Machine Learning , vamos a incluir nuevos paradigmas que hemos dado por llamar el “Aprendizaje Automático Moderno” compuesto por los métodos de ensamble (muchos algoritmos actuando e forma conjunta ) , el aprendizaje por refuerzo ( los que aprenden por el entorno y no por los datos) y las redes Neuronales. Par mas detalle puede ver mi pos conceptual sobre éste tema en el siguiente enlace
Recientemente, las redes neuronales han evolucionado a lo que se conoce como el Deep learning o aprendizaje profundo, el cual es un nivel más avanzado del perceptrón multicapa, que originalmente dio origen a las redes neuronales.
El aprendizaje profundo (deep Learning) , tomó su nombre de la estructura de los s modelos de aprendizaje automático.
Apilan capa tras capa de características y sus relaciones, formándose al estilo de un sistema multicapas,
Gracias a su asombrosa precisión en la búsqueda de patrones, dos tipos de modelos de aprendizaje profundo, empiezan a utilizarse cada día mas.
Dentro del mundo de la visión por computador, se utilizan las redes neuronales convolucionales ( CNN ), las que actúan como los ojos en los vehículos autónomos y pueden ayudar a detectar enfermedades, en proyectos de imágenes médicas.
Por su parte están las redes neuronales recurrentes y las transformadoras ( RNN ), diseñadas para construir el lenguaje hablado y escrito, y que vemos incluídas en los motores de “Alexa” de Amazon, el Asistente de Google y el Siri de Apple, entre otros.

Elija un modelo previamente entrenado
En el aprendizaje automático, los modelos se entrenan previamente, con el propósito de que identifiquen y aprendan de esos los patrones que vienen intrínsecos en los conjuntos de datos . Los conjuntos de datos se subdividen a su vez en datos de entrenamiento, y datos de evaluación (que son similares a los datos de su caso de uso). Las relaciones entre los datos, denominadas ponderaciones y sesgos, se optimizan a traves de cada algoritmo y un conjunto de iteraciones que sufren a lo largo de su proceso de aprendizaje.
Se necesita un enorme conjunto de datos, experiencia en estos campos, y capacidad informática para entrenar un modelo. Las grandes empresas compran modelos pre-entrenados, y así ahorran tiempo y dinero.
Modelos de Machine Learning
elaborados a lo largo de varios años.
Con ayuda de otros profesores, de materiales escritos como de cursos en línea, y de mi propia experiencia profesional, presento a continuación algunos modelos que han servido para las actividades de formación de los estudiantes, que he tenido a cargo en los cursos de Big-Data e inteligencia artificial, en los últimos años y que han ayudado a entender mejor los modelos de aprendizaje automático o de Machine Learning.
Veamos algunos ejemplos:
1.) Modelo para la selección de drogas antihipertensivas
Este es un modelo supervisado, compuesto por unos 50.000 casos, con 14 variables.
El modelo permitió crear un perfil del paciente para que el médico pueda seleccionar el medicamento más apropiado para tratar la hipertensión arterial, basado en esas 14 variables. De alguna forma, convierten la prescripción, en una prospección ( selección entre varias opciones ) Esto resulta en un procedimiento mucho más “específica” o ” preciso”, de ahí el nombre de medicina de precisión, y ésto es porque en el análisis se incorporan 14 variables de manera simultánea, algo que para un cerebro humano sería difícil de lograr por un tema de multidimensionalidad: ( Usualmente podemos establecer algun tipo de relación entre 3 o 4 variables de manera simultánea pero no mas allá . )
En la Medicina de precisión, buscamos que los tratamientos no sean tratamientos de carácter general para todos los pacientes, sino que sean tratamientos cada vez más personalizados.
El modelo que presento a continuación, se desarrolló con la herramienta Júpiter notebook. Esta herramienta viene incluida, dentro de la suite de datos conocida como Anaconda. Si está interesado en aprender , cómo instalar esta herramienta por favor siga el siguiente enlace
Adicionalmente incluyo un modelo predictivo para ser utilizado “en línea” y que fue desarrollado utilizando la herramienta FLASK .
Estos permiten de manera “interactiva” utilizar el algoritmo para efectos predictivos inmediatos, sin mayores conocimientos para un “usuario final”
Nota:
Tómese en cuenta que éstos modelos, son de corte académico y que se exponen con un fin puramente descriptivo. Dispongo de otros modelos relacionados con este ejemplo en particular, en los que empleo otros algoritmos mas complejos, y en los que se busca darle a la solución un enfoque mas “completo y profesional” para otro tipo de organizaciones. Me refiero a empresas de desarrollo de software o del sector salud propiamente.
El esquema comercial incluye un conjunto de componentes tales como aprendizaje recurrente, modelos prescriptivos, dashboards, y otros . Estos algoritmos buscan que el modelo de datos, continúe aprendiendo de manera continua, logrando aumentar su precisión progresivamente.
Este tipo de soluciones se puede implementar en un esquema de Software a service “SaaS”, o sea como un servicio que es: consumible a demanda, etc. Si tiene interés en este tipo de soluciones par su Organización escríbame a la siguiente dirección:
2.) Modelo para la realizar una PCR- digital ( covid19 )
Este es un modelo del tipo “supervisado”, con un total de más de 65.000 casos. Se incluyen un conjunto de 53 variables divididas a su vez, en variables que tiene relación con:
- El perfil demográfico del paciente.
- Los datos clínicos del paciente,
- Variables de orden epidemiológico.
Quisiéramos dejar claro que éste modelo, de ninguna forma pretende suplantar o reemplazar la prueba PCR-covid de laboratorio , es solamente un modelo matemático probabilístico que incorpora algoritmos de ensamble , y que puede aproximar al paciente a un diagnóstico, mas rápido y de menor coste.
Este modelo, tiene la enorme ventaja, de que el proceso de aprendizaje que va adquiriendo nuevos conocimientos conforme van llegando nuevos pacientes, éste conocimiento nuevo, lo almacena sobre el aprendizaje previo, lo que permite que la precisión final del algoritmo, vayas aumentando y sea cada vez, más elevada . El modelo tiene dos componentes:
- Un primer componente que establece un puntaje o “score” con respecto a las respuestas del paciente. Este es el método convencional de puntaje , y
- Un segundo abordaje que utiliza la inteligencia artificial. Acá utilizamos un algoritmo de aprendizaje que es la que “generaliza” el conocimiento adquirido y que “predice”, si el paciente podría o no tener COVID.
Utilizando anaconda y Júpiter notebook como herramientas
Al igual que los otros modelos aquí expuestos, para estos utilizamos Júpiter notebook.
Esta herramienta viene incluida dentro de la suite de datos conocida como Anaconda. Si está interesado, en aprender cómo instalar esta herramienta por favor siga el siguiente enlace
El modelo predictivo, fue desarrollado utilizando “Flask”.
Como lo mencionamos ésta herramienta permite de manera interactiva, utilizar el algoritmo “on line” .
Acceso a la notebook: Acceso al modelo (version castellano): Acceso al modelo (versión catalán)
3.) Modelo de predicción para la fase de inconsciencia de pacientes con EPILEPSIA
Este es un modelo de pequeña escala, que fue realizado en acompañamiento al trabajo de tesis de la doctora Susana Lara Meyer, en el año 2021.
El modelo pretende que, con 46 variables, las cuales se recolectaron de 189 pacientes, se logre predecir, el tiempo de inconsciencia que un paciente tendría luego de sufrir un ictus epiléptico. ( es lo que en aprendizaje automático, se conoce como capacidad de generalización del algoritmo).
Hemos utilizado las herramientas de Big Data, para hacer también una descripción estadística de los datos. De esta forma, conocerlos mejor y de alguna forma conocer el grado de importancia que tiene cada una de las variables, con respecto a las otras, así como las asociaciones eventuales, que existen entre las mismas.
Se aplicó un modelo de Machine learning, conocido como el Bosque aleatorio (Random Forest) , el cual es un algoritmo supervisado de clasificación de la categoría de métodos de ensamble , y que con una precisión aceptable, a pesar del número tan pequeño de casos, nos permite conocer de manera predictiva el tiempo de inconsciencia posterior a un ictus para nuevos pacientes.
Aprendizaje no supervisado en epilepsia
También aplicamos, para este conjunto de datos, un modelo no supervisados de clusterizacion ( K-means ) el cual nos permitió clasificar la totalidad de los pacientes en cuatro grandes grupos, los cuales no siguen ninguna clasificación cultural tradicional, cómo por ejemplo: no están divididos por sexo, ni por edad, ni por severidad del ictus, ni ninguna otra variable en particular, los métodos de agrupamiento emplean todas las variables de manera simultánea para hacer esta clasificación. Esta multidimensionalidad de características es la que está detrás de esta agrupación que nos parece un tanto “caótica”, pero que sin duda es la que explica la conformación de los grupos.
Los modelos que presento a continuación, fueron desarrollados utilizando la herramienta Júpiter notebook la cual viene incluida dentro de la suite de datos, conocida como Anaconda. Si está interesado en aprender, cómo instalar esta herramienta por favor siga el siguiente enlace
El modelo predictivo a su vez, fué desarrollado utilizando la herramienta flask , la cual permite de manera interactiva utilizar el algoritmo “on line” .
Acceso a la notebook Acceso al modelo predictivo "on line"
4.) modelo para el seguimiento de pacientes en sala de operaciones.
(Tiempo quirúrgico – tracking sala de operaciones )
Este es un modelo ficticio, basado en un conjunto de datos de prueba, el cual fue debidamente anonimizado, Este modelo, lo utilizamos como herramienta de capacitación para los estudiantes de grado y postgrado en la Universidad de Barcelona.
La idea con los estudiantes, es que puedan adquirir destrezas en el manejo de sistemas de bases de datos, pero que adicionalmente, puedan incorporar a las bases de datos, herramientas novedosas para la analítica avanzada de datos, lo cual hacemos con ayuda de Python y de sus librerías Pandas, Mathlibpro, numpy, seaborn, entre otras.
Para el modelo de predicción, hemos utilizado algoritmos supervisados de ensamble, en este caso el conocido como bosque aleatorio (Random Forest). Con el uso de este modelo queremos, con una precisión aceptable, dar a conocer a los familiares de los pacientes en cirugía, así como al personal de los servicios médicos involucrados, el tiempo esperado en quirófano y en salas de recuperación.
La precisión del algoritmo es bastante alta y utilizamos para medirla el R2. (r cuadrado )
Los modelos que presento a continuación, fueron desarrollados utilizando la herramienta Júpiter notebook, la cual viene incluida dentro de la suite de datos conocida como Anaconda. Si está interesado en aprender, cómo instalar esta herramienta por favor siga el siguiente enlace
El modelo predictivo “en línea” fue desarrollado utilizando la herramienta flask , la cual permite de manera interactiva utilizar el algoritmo “on line” .
Acceso a la notebook Acceso al modelo predictivo "on-line"
5.) Modelo para la predicción de estancia hospitalaria
(Tiempo esperado en días)
Este es un modelo ficticio, creado a partir de un conjunto de datos existente, y que fue debidamente tratado con técnicas de anonimización.
Este modelo, lo utilizamos como herramienta de capacitación para los estudiantes de grado y postgrado en la Universidad de Barcelona. Incluso en una ocasión ha servido de TFM (trabajo final de un estudiante del Máster en Ingeniería Biomédica, lo que favoreció su evaluación y mejora.)
La idea con este modelo de Machine Learning es adquirir destrezas inicialmente en el manejo de sistemas de conjuntos de datos similar al usado en Hospitales como el CMBD . El CMBD es el Conjunto Mínimo Básico de Datos y está formado por las variables obtenidas durante la atención hospitalaria (Ingreso, cirugía mayor ambulatoria, urgencias, etc.).
A este conjunto de datos, se le aplicaron un conjunto de herramientas para la analítica avanzada de datos, la cual suministra Python dentro de sus librerías Pandas, Mathlibpro, numpy, seaborn, entre otras.
Analisis descriptivo del conjunto de datos
Un ejemplo de dichos análisis lo constituyen entre muchas otras las siguientes gráficas y tablas:

Predicción de estancia hospitalaria. Distribución por sexos y edades de acuerdo a la estancia en días. Herramienta Pyplot
Para el modelo de predicción, hemos utilizado dos algoritmos diferentes: a.) bosque aleatorio (Random Forest Regressor) y el b.) XGBoost . Ambos algoritmos son modelos ensamblados, utilizados como algoritmos para tareas de clasificación supervisada. El objetivo de obtener dicha predicción, es la de apoyar al sistema sanitario con un indicador de estancia estimada, que permita programar un conjunto de servicios paralelos ligados a la estancia como tal, pero además contar con un indicador fiable, que le permita a “la lista de espera”, conocer con buena precisión las fechas estimadas de egreso de los pacientes.
La precisión para los modelos de aprendizaje automático o Machine Learning cuando se trabaja con funciones regresoras se evalúa gracias a las métricas: R2 y RMSE. ( R al cuadrado y el error cuadrático medio)
Resultados del modelo:
A continuación se muestra una gráfica en donde luego de obtener un muestreo aleatorio de los casos reales, predecimos un conjunto paralelo de datos obtenidos a través de machine learning lo que nos sirve de comparación visual entre los valores reales y los predichos.

Estimación de la estancia hospitalaria . Valores reales y predichos para un conjunto de 100 datos de prueba. Barcelona 2022. Algoritmo XGBoost Regressor

Estimación de la estancia hospitalaria . Valores reales y predichos para un conjunto de 100 datos de prueba. Barcelona 2022. Random Forest Regressor
Los modelos que presento a continuación, fueron desarrollados utilizando la herramienta Júpiter notebook. Esta herramienta viene incluida dentro de la suite de datos conocida como Anaconda. Si está interesado en aprender, cómo instalar esta herramienta por favor siga el siguiente enlace
Si desea tener acceso al modelo predictivo “en línea” , el cual fue desarrollado utilizando la herramienta flask , por favor envíeme un mensaje y me pondré en contacto con usted para darle acceso .
6.) Dashboards de la situación del COVID 19 en Costa Rica
Los modelos de aprendizaje automático o machine Learning fueron empleados para el desarrollo en momentos de ocio un conjunto de Dashboards basados en Machine Learning. La idea es la de presentar diariamente los datos con respecto al avance de la pandemia del COVID-19 en Costa Rica.
El modelo en realidad toma los datos de diversas fuentes, a través de las técnicas de “webscraping”, y a partir de ahí presenta los resultados en pantalla.
Con esto quiero decir que el modelo es totalmente autonomo , se actualiza de manera automática sin intervención humana.
Adicionalmente un conjunto de 12 modelos diferentes con base en la información capturada de fuentes oficiales , generan otra serie de gráficas y hacen las respectivas proyecciones.
El cálculo del número R, también conocido como número reproductivo básico
Posiblemente una de las estadísticas, más consultadas y más utilizadas se refieren al cálculo del número R (tasa de contagio).
Este cálculo, conlleva una serie de cálculos complejos basados en Ecuaciones Diferenciales. El mismo también se realiza para todos los cantones, y todos los distritos de Costa Rica de forma diaria.
Recientemente, hemos incorporado a este conjunto de análisis: el cálculo diario de las tasas de incidencia acumulada de 14 días, por cada 100000 habitantes, y la tasa de incidencia acumulada de 7 días.
Desde el punto de vista geográfico existen dentro de Python, un par de librerías conocidas como geo pandas y Bokeh, a traves de las cuales se calcula diariamente.
Con ellas se realizan los cálculos necesarios para alimentar con los valores del número “R” y de las tasas de Incidencia por cantón de forma comparativa.
Muchas de las predicciones que se realizan en el dashboard con modelos de aprendizaje automático y Machine Learning, vienen alimentadas del algoritmo prophet de Facebook, el cual fue liberado años atrás para la población. Los datos que alimentan todo este conjunto de modelos, son suministrados por el proyecto geovisión, un proyecto impulsado por la UNED y el Ministerio de salud de Costa Rica. Por último las estadísticas referentes a la vacunación, también generan otra serie de indicadores y de mapas.
El presente modelo de aprendizaje automático o de Machine Learning puede ser consultado en este enlace.
Una de las notebooks que se han venido utilizando para generar estos modelos está visible en:
La presente página sobre modelos de aprendizaje automático o de Machine Learning, fué escrita por el Dr. Juan Ignacio Barrios, quien es médico y cirujano especialista en informática médica con un máster en Business Intelligence y consultoría tecnológica. El Dr. Barrios aplica modelos de aprendizaje automatico o Machine Learning junto con técnicas de Big Data e inteligencia artificial en su trabajo diario como consultor, y en sus lecciones a nivel internacional y como profesor visitante de la cátedra de informática médica de la Universidad de Barcelona. Adicionalmente el Dr. Barrios es miembro de la facultad de Ginecología y Obstetricia de la Universidad de Rochester New York. Tambien es miembro del cuerpo docente internacional de Algoritmia, el Instituto europeo de formación tecnológica.