scieee AI-readable full text Open interactive document viewer

Customización de un sistema PLM para la gestión de ciclo de vida de patologías

Rodríguez Benito, David

Abstract

En este trabajo de fin de máster se desarrolla un framework integrado en un sistema de gestión del ciclo de vida del producto para incluir modelos de Machine Learning, con la pretensión de dar soporte al médico en el diagnóstico, tratamiento y análisis de patologías. Este proyecto presenta cinco partes. La primera de ellas es una introducción y una extensa revisión de la literatura en la que se establece el marco en el que se ha desarrollado el trabajo. Tras esto, se describe el sistema de aprendizaje y el modelo de datos utilizado en el mismo. Después, se describen la customización del sistema de gestión del ciclo de vida del producto, así como la implementación del modelo de Machine Learning. Finalmente, se lleva a cabo la aplicación del modelo planteado para el caso de la apendicitis y, finalmente, en el último capítulo se hace un resumen de las conclusiones del TFM y algunos desarrollos y extensiones futuras que permitirían mejorar el modelo.

Full text

xix Equation Chapter 1 Section 1 Trabajo Fin de Máster Máster en Ingeniería Aeronáutica Customización de un sistema PLM para la gestión de ciclo de vida de patologías Autor: David Rodríguez Benito Tutores: Jesús Racero Moreno y Andrés Padillo Eguía Dpto. Organización Industrial y Gestión de Empresas I Universidad de Sevilla Sevilla, 2024 iii Proyecto Fin de Máster Máster en Ingeniería Aeronáutica Customización de un sistema PLM para la gestión de ciclo de vida de patologías Autor: David Rodríguez Benito Tutores: Jesús Racero Moreno Andrés Padillo Eguía Dpto. de Organización Industrial y Gestión de Empresas I Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2024 v Proyecto Fin de Carrera: Customización de un sistema PLM para la gestión de ciclo de vida de patologías Autor: David Rodríguez Benito Tutor: Jesús Racero Moreno y Andrés Padillo Eguía El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2024 El Secretario del Tribunal vii A Nerea A mi familia A mis maestros ix Agradecimientos A Jesús, en primer lugar, por ofrecerme la oportunidad de participar en un proyecto tan interesante y, en segundo lugar, por su inestimable ayuda durante todos estos meses donde siempre ha estado dispuesto a tener una reunión y explicarme cualquier duda. A Nerea por darme el empujón que necesitaba para tomar la decisión de terminar de una vez por todas el trabajo de fin de máster, que sin su paciencia, comprensión y alegría en el día a día, esto no hubiese sido posible A mi familia y en especial a mis padres, por brindarme la oportunidad en un primer momento de elegir una carrera tan maravillosa como la del mundo aeronáutico y por recordarme cada vez que los visitaba que tenía que terminar el TFM, que no lo podía dejar sin acabar. David Rodríguez Benito Graduado en Ingeniería Aeroespacial Sevilla, 2024 16 Índice de imágenes Figura 1. Objetivos detallados del TFM ................................................................................... 4 Figura 2. Evolución modelo de ML [43] ................................................................................... 7 Figura 3. Porcentaje de precisión de los algoritmos utilizados en [14] .................................. 16 Figura 4. Ejemplo Decision tree para la operación de pacientes con apendicitis .................. 17 Figura 5. Representación función logarítmica ....................................................................... 19 Figura 6. Distribución de probabilidad de Poisson en función de λ ....................................... 21 Figura 7. Ejemplo árbol de decisión ...................................................................................... 23 Figura 8. Algoritmo de Random Forest [45] .......................................................................... 25 Figura 9. Explicación gráfica algoritmo SVM ......................................................................... 28 Figura 10. Explicación matriz de confusión de algoritmos de clasificación binaria [44] ........... 30 Figura 11. Comparativa curvas ROC [44] ............................................................................... 31 Figura 12. Modelos de datos ................................................................................................... 37 Figura 13. Relación Parámetro - Algoritmo ............................................................................. 38 Figura 14. Relación Modelo Datos-Variable Datos-Variables equivalentes ............................ 38 Figura 15. Obtención de los resultados y evaluación del escenario ........................................ 39 Figura 16. Ciclo de vida de un producto [47] ........................................................................... 42 Figura 17. Modelo de datos el ciclo de vida de la aplicación BMI [40] .................................... 44 Figura 18. Arquitectura Software Aras Innovator .................................................................... 46 Figura 19. Flujograma para el desarrollo de algoritmos de ML utilizando ML.net ................... 48 Figura 20. Ejemplo de un objeto DataView en ML.net ............................................................ 49 Figura 21. Transformaciones realizadas sobre los datos de entrada ...................................... 50 Figura 22. Códigos con los parámetros optimizados para el modelo de ML ........................... 52 Figura 23. Ubicación del apéndice en la cavidad abdominal y separación del abdomen en 4 cuadrantes 54 Figura 24. Cuadro resumen de la localización y signos por enfermedad causante de dolor abdominal [2] 55 Figura 25. Signo de la diana en una tomografía computarizada ............................................. 58 Figura 26. Comparativa F1 Score label Tratamiento modelos clasificación binaria ................ 70 Figura 27. Comparativa F1 Score label Severidad modelos clasificación binaria ................... 70 Figura 28. Comparativa F1 Score label Diagnostico modelos clasificación binaria ................. 71 Figura 29. Comparativa MeanSquaredError label Length_of_stay modelos regression ......... 72 xvii Índice de tablas Tabla 1. Tabla cálculo puntuación de Alvarado [2] ................................................................... 12 Tabla 2. Escala pediátrica para apendicitis (PAS Pediatric Appendicitis Score [2]) ................. 13 Tabla 3. Tabla para el cálculo de la puntuación de Heidelberg [27] ......................................... 13 Tabla 4. Comparativa puntuaciones pretest para diagnóstico de apendicitis [27] .................... 14 Tabla 5. Variables utilizadas en [10] y % de relevancia en la obtención del diagnóstico .......... 15 Tabla 6. Tabla comparativa resultados algoritmos aplicados en [15] ....................................... 16 Tabla 7. Comparativa de los resultados obtenidos en [9] para los diferentes algoritmos. ........ 17 Tabla 8. Variables presentes en la base de datos “patients_data” [9] ...................................... 61 Tabla 9. Parámetros optimizados lbfgslogisticregression ......................................................... 64 Tabla 10. Parámetros optimizados lbfgspoissonregression ................................................... 64 Tabla 11. Parámetros optimizados fastforestbinary ............................................................... 65 Tabla 12. Parámetros optimizados fastforestregression ........................................................ 65 Tabla 13. Parámetros optimizados fastTreeBinary ................................................................ 66 Tabla 14. Parámetros optimizados fastTreeRegression ........................................................ 66 Tabla 15. Parámetros optimizados SdcaLogisticRegression ................................................. 67 Tabla 16. Parámetros optimizados Sdca ............................................................................... 67 Tabla 17. Parámetros optimizados LinearSvm ...................................................................... 67 Tabla 18. Parámetros optimizados OnlineGradientDescent .................................................. 68 Tabla 19. Comparativa mejores y peores métricas modelos clasificación binaria .................. 69 Tabla 20. Comparativa mejores y peores métricas modelos regresión .................................. 69 Tabla 21. Peso de las variables para Tratamiento en lfbgsLogisticRegression ..................... 73 Tabla 22. Peso de las variables para Severidad en lfbgsLogisticRegression ........................ 73 Tabla 23. Peso de las variables en la label Diagnostico en lfbgsLogisticRegression ............. 74 Tabla 24. Peso de las variables para el tiempo de hospitalización en PoissonRegression ... 74 Tabla 25. Peso de las variables en la label Tratamiento en FastForest ................................. 75 Tabla 26. Peso de las variables en la label Severidad en FastForest .................................... 75 Tabla 27. Peso de las variables en la label Diagnostico en FastForest ................................. 75 Tabla 28. Peso de las variables para tiempo de hospitalización en FastForest ..................... 76 Tabla 29. Importancia variables en Diagnóstico sin índices de Alvarado y Pediátrico en lfbgsLogisticRegression ............................................................................................................... 76 Tabla 30. Importancia variables en Diagnóstico sin índices de Alvarado y Pediátrico en FastForest 77 Tabla 31. Importancia variables en Diagnóstico lfbgsLogisticRegression, solo con variables pruebas de diagnóstico ................................................................................................................ 77 Tabla 32. Importancia variables en Diagnóstico FastForest, solo con variables pruebas de diagnóstico 78 Tabla 33. Comparativas resultados diagnosis en función de las pruebas de diagnóstico ...... 79 Tabla 34. Comparativas resultados severidad en función de las pruebas de diagnóstico ..... 79 Tabla 35. Comparativas resultados tratamiento en función de las pruebas de diagnóstico ... 79 Tabla 36. Comparativas resultados tiempo de hospitalización en función de las pruebas de diagnóstico 79 Tabla 37. Comparativa resultados algoritmos aplicados en ambas bases de datos .............. 80 18 Índice de ecuaciones Ecuación 1. Ecuación regresión logarítimica ......................................................................... 18 Ecuación 2. Ecuación logarítmica para regresión lineal ........................................................ 19 Ecuación 3. Probabilidad de pertenencia a una clase modelada por la ecuación logarítmica19 Ecuación 4. Regresión lineal tomando logaritmo neperiano de la probabilidad de x ............. 20 Ecuación 5. Probabilidad de Poisson .................................................................................... 21 Ecuación 6. Algoritmo de la media de la distribución de Poisson .......................................... 22 Ecuación 7. Exponenciación de la ecuación 6. ..................................................................... 22 Ecuación 8. Función de verosimilitud aplicada a la distribución de Poisson ......................... 22 Ecuación 9. Problema de optimización del algoritmo SDCA ................................................. 26 Ecuación 10. Vector de pesos en el algoritmo de SDCA ......................................................... 26 Ecuación 11. Problema de optimización algoritmo Online Gradient Descent .......................... 27 Ecuación 12. Condición que cumplir por el hiperplano del SVM ............................................. 28 Ecuación 13. Problema de optimización del algoritmo SVM ................................................... 28 Ecuación 14. Sensibilidad del algoritmo de clasificación binaria ............................................. 30 Ecuación 15. Especificidad del algoritmo de clasificación binaria ........................................... 30 Ecuación 16. Precisión positiva algoritmos clasificación binaria.............................................. 30 Ecuación 17. Precisión negativa algoritmos clasificación binaria ............................................ 30 Ecuación 18. Desarrollo F1 Score algoritmos de clasificación binaria ..................................... 31 Ecuación 19. Coeficiente de determinación Rsquared ............................................................ 32 Ecuación 20. Error medio absoluto algoritmos de regresión ................................................... 32 Ecuación 21. Error cuadrático medio algoritmos de regresión ................................................ 33 Ecuación 22. Raíz del Error Cuadrático medio algoritmos de regresión ................................. 33 Ecuación 18. Desarrollo F1 Score algoritmos de clasificación binaria ..................................... 63 Ecuación 21. Error cuadrático medio algoritmos de regresión ................................................ 64 1 1 INTRODUCCIÓN Y OBJETIVOS 1.1 Introducción En el ámbito médico, la precisión y rapidez en el diagnóstico son factores cruciales para la efectividad del tratamiento y la reducción de la mortalidad. De entre todas las patologías, la apendicitis, representa una de las patologías abdominales más comunes y urgentes, donde un diagnóstico tardío o incorrecto puede tener consecuencias fatales. A pesar de los avances en técnicas de imagen y criterios clínicos, los errores diagnósticos siguen siendo frecuentes, con tasas de error que varían del 3.8% al 23.5% en función de la edad y el entorno clínico [3]. La influencia de la tecnología en la medicina moderna es innegable, especialmente con el acceso cada vez más extendido a plataformas de inteligencia artificial (IA). La IA, y en particular el Aprendizaje Automático (Machine Learning, ML), han emergido como una herramienta poderosa que puede transformar el proceso diagnóstico, permitiendo a los sistemas aprender y mejorar basados en datos recolectados y patrones identificados. Los modelos de ML tienen la capacidad de analizar grandes volúmenes de datos clínicos y de imagen para identificar patrones que pueden no ser evidentes para los humanos, ofreciendo así un soporte valioso para los médicos en la toma de decisiones. Esto no solo puede reducir los costos sanitarios, sino también aliviar el estrés del personal médico al manejar grandes cantidades de información. Estos modelos de Machine Learning, pueden transformar información muy compleja en resultados simples. Sin embargo, es necesario alimentar dichos sistemas con información proveniente de los pacientes. En el caso de la medicina, existen múltiples sistemas utilizados hoy en día para gestionar los datos e históricos de los pacientes, si bien es cierto, que no interoperan entre sí y que por norma general son de baja complejidad. En este contexto, se hace evidente la necesidad de integrar estos modelos en sistemas de gestión del ciclo de vida del producto (PLM, por sus siglas en inglés), que son ampliamente utilizados en industrias como la aeronáutica. Es cierto, que hoy en día no existen gran cantidad de ejemplos donde el PLM se utilice en el campo de la medicina, pero es cierto que tiene un gran potencial, no solo por la complejidad de los datos y sus correlaciones, sino porque ya existen muchas odontologías que podrían ser utilizadas para su implementación. Los sistemas PLM facilitan la recopilación, almacenamiento y análisis de datos de manera eficiente y segura, permitiendo un enfoque integral para el manejo de patologías asociadas al paciente. La incorporación de un modelo de ML en un sistema PLM para la gestión de los datos de los pacientes sería un gran avance para el diagnóstico de la apendicitis puede optimizar el proceso, proporcionando diagnósticos rápidos y certeros y reduciendo el número de pruebas necesarias. El presente trabajo de fin de máster (TFM) se centra en el diseño, desarrollo e implementación de un entorno (framework) para la aplicación de modelos de ML y su aplicación para el diagnóstico de la apendicitis, incorporado en un sistema de PLM. Este enfoque busca no solo mejorar la precisión diagnóstica sino también integrar un sistema que gestione de manera eficiente el ciclo de vida de las patologías del paciente, interconectándose con otras herramientas de ML para ofrecer un soporte completo al médico. A lo largo del documento se realizará una revisión exhaustiva del estado del arte en la aplicación de ML para diagnósticos médicos, describiendo los Customización de un sistema PLM para la gestión del ciclo de vida de patologías 2 diferentes algoritmos utilizados, sus beneficios y limitaciones, así como los desafíos que se enfrentan en su implementación práctica. El estudio incluye una detallada comparación de varios modelos de ML, destacando los más eficaces para el diagnóstico de la apendicitis, basados en una serie de parámetros obtenidos de estudios clínicos y pruebas de imagen. También se aborda la preparación y limpieza de datos, aspectos cruciales para asegurar la fiabilidad de los modelos de ML. Además, se discutirá la metodología empleada para la recolección y procesamiento de datos, la selección y entrenamiento de los modelos, y la evaluación de su rendimiento en escenarios clínicos reales. 1.2 Objetivos El objetivo principal del proyecto es el diseño de un entorno de modelos de machine learning, integrado en un sistema PLM para la diagnosis de apendicitis. El objetivo general se estructura en torno a varios objetivos específicos que guían el desarrollo y la implementación del sistema propuesto, véase la Figura [1]: 1. OS1: Análisis de la literatura de técnicas de diagnóstico mediante ML. Revisión de las técnicas existente en la literatura para aprendizaje automático, posteriormente se centra en aquellas empleadas para la predicción de la apendicitis incorporando una revisión de otras técnicas de diagnosis de apendicitis. • OS1.1: Análisis de técnicas de ML. • OS1.2: Análisis de técnicas de diagnóstico de apendicitis • OS1.3: Análisis de técnicas de ML para diagnóstico de apendicitis 2. OS2: Diseño de un sistema de diagnóstico de apendicitis basado en aprendizaje automático. Diseñar el modelo de datos necesarios para ejecutar modelos de machine learning, estos datos se emplean con independencia de las técnicas de aprendizaje. Este objetivo se desagrega en modelo de datos de la patología y el modelo de datos asociado a los pacientes. o OS2.1: Diseño del modelo de datos patológicos o OS2.2: Diseño del modelo de gestión de datos del paciente 3. OS3: Implementación del sistema de diagnóstico de patologías. El análisis de algoritmos y modelos de datos se plasma en el desarrollo de los algoritmos de machine learning y su integración en el sistema PLM. o OS3.1: Customización del PLM o OS3.2: Implementación del algoritmo 4. OS4: Adaptación de la metodología de ingeniería de sistemas a la medicina. Finalmente, el análisis de algoritmo, la definición de los modelos de datos y finalmente su implementación se valida mediante una patología concreta, apendicitis. 3 Estos objetivos específicos permiten una aproximación estructurada y detallada a la problemática abordada, asegurando que cada aspecto del desarrollo del sistema sea considerado y optimizado para obtener los mejores resultados posibles, los cuales se irán abordando y desarrollando a lo largo de los diferentes apartados de este documento Finalmente, el trabajo propone una serie de recomendaciones para la integración de estos sistemas en entornos clínicos, considerando tanto los beneficios potenciales como las posibles barreras para su adopción. El objetivo último es demostrar que la combinación de ML y sistemas PLM puede revolucionar el diagnóstico médico, mejorando significativamente la calidad de la atención al paciente y optimizando los recursos sanitarios disponibles. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 4 Figura 1. Objetivos detallados del TFM 5 2 REVISIÓN DE LA LITERATURA. Antes de definir el modelo de datos para el sistema de PLM, es fundamental revisar el estado del arte sobre la incorporación de tecnologías en el diagnóstico y estudio de patologías. En los últimos años, numerosos autores y artículos han debatido si la medicina es un arte o una ciencia. La influencia de las tecnologías en la sociedad es cada vez más evidente, especialmente con el acceso a plataformas de inteligencia artificial. La medicina, a veces, se resiste a este mundo basado en códigos y grandes cantidades de información, argumentando que es más un arte que una ciencia. Sin embargo, es innegable que la capacidad del médico para obtener información del paciente, manejar sus conflictos internos y generar un estado de seguridad es similar a un arte. Por otro lado, el diagnóstico se basa en seguir un protocolo según las evidencias aportadas por las pruebas y la información del paciente, así como en la capacidad del médico para discernir, basado en su experiencia y conocimiento, la patología correspondiente. Si existieran métodos que ayudaran al médico a facilitar el diagnóstico, no solo se reducirían los costos sanitarios y se incrementaría el porcentaje de aciertos en los diagnósticos, sino que también se aliviaría el estrés de manejar grandes cantidades de información. Este estudio se centra en el diagnóstico del paciente con dolor agudo en la zona abdominal, específicamente en el diagnóstico de la apendicitis. Según Prashant Mahajan [3], en Estados Unidos, el diagnóstico erróneo de apendicitis en emergencias pediátricas varía entre el 3.8% y el 15%, mientras que en adultos va del 5.9% al 23.5%. Además, la apendicitis tiene una alta mortalidad debido a la urgencia de operar para extirpar el apéndice antes de que cause peritonitis. Numerosos estudios recientes han utilizado Machine Learning (ML) para mejorar y facilitar el diagnóstico de la apendicitis en pacientes [9][10][11][13][14] [15][17][18], basándose en parámetros obtenidos de estudios clínicos y pruebas de imagen. Sin embargo, no existe un consenso uniforme sobre los parámetros a utilizar, el tipo de algoritmo o un sistema que permita gestionar la información del paciente para apoyar al médico en la toma de decisiones. Existen una gran variedad de métodos o técnicas de predicción, tampoco existe una clasificación en cuanto a predicción de que técnica es la mejor. Ante este problema, disponer de un entorno (framework) para evaluar técnicas, datos de entradas y datos de salida se hace fundamental para poder elegir en cada momento la técnica que mayor se aproxime a una estimación más exacta La implementación de un sistema de PLM, similar al utilizado en la industria aeronáutica, que gestione el ciclo de vida de las patologías del paciente y se interconecte con herramientas de ML para proporcionar un diagnóstico rápido y preciso, puede ser el enfoque adecuado. 2.1 Procedimientos de aprendizaje El ML se define como un proceso que permite a los sistemas aprender y mejorar a partir de experiencias previas sin necesidad de una programación explícita para cada tarea. El objetivo principal es diseñar algoritmos que recopilen y analicen datos para identificar patrones que les permitan tomar decisiones de manera autónoma y eficiente. Actualmente, existen numerosos modelos de aprendizaje aplicados a diversas tareas, desde la corrección automática de errores gramaticales hasta la implementación de vehículos autónomos. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 6 A pesar de esta diversidad, todos los modelos de ML siguen una serie de pasos comunes esenciales para su desarrollo y funcionamiento óptimo: 1. Recolección de la información. La fiabilidad y precisión de las decisiones tomadas por un sistema de ML dependen en gran medida de la calidad de los datos proporcionados. Es crucial que los datos sean fiables, completos, no duplicados y representativos de las diversas categorías y clases. 2. Preparación de la información. Una vez recolectados, los datos deben ser preparados adecuadamente para garantizar la eficacia del sistema de ML. Este paso incluye la segregación aleatoria de los datos, la eliminación de datos innecesarios o ausentes, y la visualización de las relaciones importantes entre variables. Además, es fundamental dividir los datos en dos conjuntos: uno para entrenar el algoritmo y otro para evaluar su rendimiento. 3. Elección del modelo: El rendimiento de un algoritmo de ML está estrechamente vinculado al modelo elegido. Existen múltiples modelos desarrollados por científicos de datos que se adaptan mejor a diferentes tareas, como el procesamiento de imágenes, la clasificación con múltiples categorías o el manejo de información numérica. Los modelos de ML se clasifican principalmente en tres categorías, siendo las dos primeras las más utilizadas [41]: • Aprendizaje supervisado (supervised learning): Se utiliza para entrenar a los algoritmos en la clasificación y predicción de resultados basados en ejemplos previos. De esta forma, estos modelos se caracterizan porque los datos utilizados para entrenarlo contienen una predicción o resultado como tal. Algunos de los algoritmos que se encuentran en esta categoría son: Decision Trees, Random Forest, Support Vector Machines y las Redes Neuronales Artificiales • Aprendizaje no supervisado (unsupervised learning): Principalmente utilizados para evaluar y agrupar la información. Principalmente se usan en el análisis de datos más que en la propia predicción de resultados, ya que permiten agrupar datos no clasificados o categorizados. Algunos de los algoritmos son: k-Means, Deep Belief Networks o Redes Neuronales convolucionales. • Aprendizaje por refuerzo (Reinforcement learning): Se basan en entrenar al algoritmo según una estrategia específica para resolver un problema concreto. Consiste en enseñarle algoritmo como actuar basado en respuestas que el sistema le da según las acciones que va tomando. Se consideran los modelos más parecidos a la forma de aprendizaje de humanos y animales. Un ejemplo de este tipo de modelo sería la Redes Neuronales Recurrentes (RNN) 4. Entrenamiento del modelo: Utilizando el conjunto de datos de entrenamiento, el modelo de ML ajusta sus parámetros internos para minimizar el error en sus predicciones. Este proceso puede implicar múltiples iteraciones hasta alcanzar un nivel de precisión aceptable. 2.Revisión de la literatura 7 5. Evaluación del rendimiento: Una vez entrenado el modelo, es el momento de evaluar la actuación de este sobre la parte de los datos que no se han usado para el entrenamiento de este. Evaluar el modelo sobre los datos utilizados para el entrenamiento daría una precisión mayor de la real, pues el modelo ya conoce los patrones y relaciones entre los mismos. Usando datos no vistos por el modelo aún, dará una visión del rendimiento real del modelo tanto en precisión como en capacidad de procesamiento. 6. Ajuste de los parámetros: Una vez obtenidos los resultados, es el momento de ajustar los parámetros del modelo. Al inicio se asumieron unos parámetros cuando se entrenó el algoritmo. Es el momento de analizar si ajustando los mismos, el rendimiento del modelo aumenta o disminuye. Dependiendo de la complejidad del algoritmo seleccionado, este paso tiene un rol fundamental en la actuación de este. 7. Predicción: El último paso, es la propia utilización del modelo para predicción sobre datos no vistos por el mismo. Figura 2. Evolución modelo de ML [43] El uso del ML tiene múltiples ventajas que hacen que sea herramienta atractiva para utilizar a la hora de generar una ventaja competitiva con respecto a la competencia a la hora de atraer a los clientes. • Identificación de patrones y tendencias de comportamiento de los clientes, lo que permite automatizar procesos repetitivos y rutinarios y tomar decisiones basadas en datos. • En cuanto el algoritmo puede aprender por sí mismo, no necesita intervención humana. • Fomenta la mejora continua de los procesos ya que va mejorando en cuando a precisión y eficiencia • Mejora la capacidad para manejar información variada y multi dimensional. • Se puede aplicar en cualquier ámbito. El ML tiene aplicaciones en una amplia variedad de campos, como la medicina, la finanza, el marketing, la fabricación y mucho más, lo que lo hace una herramienta muy útil. En muchos casos, la principal dificultad del uso de este se encuentra en encontrar el caso de uso concreto que permita obtener el mayor beneficio Sin embargo, no todo son ventajas. Independientemente de la popularidad reciente y su capacidad casi ilimitada, el uso del ML no viene exento de ciertas desventajas que hay que intentar minimizar • La recolección de información es primordial. El ML se nutre de la ingesta masiva de datos, por ello, hay que obtener información de calidad y no sesgada. Lo cual, puede convertirse en una tarea compleja. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 14 Tabla 4. Comparativa puntuaciones pretest para diagnóstico de apendicitis [27] La mayoría de los índices contemplan exclusivamente el uso de síntomas típicos. Esto abre una ventana de mejora, y dado que las variables de entrada son múltiples, muchos son los autores, que, intentando arrojar luz sobre el tema, proponen el uso de modelos de ML para obtener un diagnóstico más certero, donde aquellos síntomas atípicos, también sean utilizados para elaborar un diagnóstico. Es por ello, que son numerosos los artículos que proponen el uso de modelos de ML para intentar dar un mayor soporte al facultativo. P.Khumring et al [10] llevan a cabo una comparativa de entre seis algoritmos de ML (ZeroR, Logitboost, NaïvesBayes, Red Neuronal, SVM y J48) para predecir el diagnóstico del paciente con dolor abdominal y generar un algoritmo que ayude a estudiantes de medicina a entrenar sus habilidades de diagnóstico. Este artículo, no abarca únicamente el diagnóstico de la apendicitis, sino que permite discernir entre los cinco diagnósticos más comunes que se dan cuando un paciente presenta dolor abdominal, que son apendicitis, gastroenteritis, infección del tracto urinario, embarazo ectópico y enfermedad inflamatoria de la pelvis, utilizando 208 pacientes para entrenar el algoritmo. Para ello, utiliza variables provenientes de pruebas clínicas, características del paciente y la presencia de los propios síntomas, ver Tabla 5. De entre los modelos seleccionados para el estudio, NaïvesBayes con una precisión del 85,10% y Logitboost con un 94,71% de acierto, son los que mejor rinden. Sin embargo, a pesar de que Logitboost tiene mayor porcentaje de acierto, el autor se decanta por el uso de NaïvesBayes con clasificación binaria, ya que este algoritmo se parece más al proceso actual del diagnóstico clínico. 2.Revisión de la literatura 15 Tabla 5. Variables utilizadas en [10] y % de relevancia en la obtención del diagnóstico Marc Reissman et al [13] centra su estudio en el diagnóstico de la apendicitis en pacientes pediátricos, de 0-17 años, ya que como se indica en el artículo, es principalmente en los primeros seis años, donde los síntomas típicos utilizados para el diagnóstico de la apendicitis son menos fiables. Para ello, utiliza un algoritmo de regresión lineal sobre un total de 590 casos, ya que, tras un análisis de los parámetros de entrada, se observa una relación lineal entre los mismos y el resultado. Diagnostica la presencia de apendicitis y permite diferenciar entre compleja y no compleja, clave para decidir el tratamiento necesario. Los resultados en la predicción de apendicitis son de AUC (Area Under Curve) 0.9 para el diagnóstico de apendicitis y de 0,81 para diferenciar la complejidad de la apendicitis. Además, demuestra que, aunque el diámetro del apéndice mejora significativamente la predicción de la apendicitis (0.8 AUC Score sin diámetro apéndice), si diferencia su complejidad, no tiene relevancia, e incluso empeora los resultados (0,8 AUC Score), algo bastante significativo. En el caso de Omer F.Akmese [14], son siete los algoritmos de ML utilizados para diagnosticar la apendicitis aguda y la consecuente necesidad de acudir al quirófano, utilizando un total de 556 informes de pacientes pediátricos (428 de entrenamiento y 128 para evaluar los algoritmos). En este caso, ninguna de las variables utilizadas provenía de imágenes diagnósticas, ya que el objetivo era realizar un diagnóstico temprano de sí era necesario la cirugía y evitar el tiempo de espera por las pruebas. De entre los algoritmos utilizados, fue Gradient Boosting el que mejor resultados obtuvo con un 95,31% de precisión, seguido por Random Forest con un 92,96%. Ver la Figura 3. para ver los resultados completos. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 16 Figura 3. Porcentaje de precisión de los algoritmos utilizados en [14] Por otro lado, Emrah Aydin y Inna Utku Türkmen [15] presenta el modelo aplicado sobre el mayor número de pacientes revisado, un total de 7244 pacientes, todo ellos pediátricos, no mayores de 12 años, con el objetivo de predecir la presencia de apendicitis y la necesidad de operación, así como su complejidad. De entre los algoritmos utilizados, de nuevo, el de mayor precisión era el Random forest, véase la Tabla 6, con la comparativa de resultados. Si bien es cierto, que, de nuevo, el autor prefiere optar por el uso de algoritmo de Decision Tree, ya que, teniendo unos buenos valores predictivos, 93,97% precisión, permite una mejor explicación y es más intuitivo tanto para el médico como para el propio paciente, de hecho, se obtiene un diagrama bastante claro de los parámetros y sus valores, que llevan a un diagnóstico u otro, véase la Figura 4. A pesar de ello, el algoritmo no obtiene tan buenos resultados al detectar la complejidad, con un 70,83 %, debido a que los parámetros no incluían el uso de imágenes diagnósticas. Tabla 6. Tabla comparativa resultados algoritmos aplicados en [15] 2.Revisión de la literatura 17 Figura 4. Ejemplo Decision tree para la operación de pacientes con apendicitis Ricards Marcinkevics, et al. [9] desarrollan una aplicación de acceso público, que no solo predice diagnosis y complejidad, sino que además permite discernir el tratamiento a seguir, conservativo (antibióticos) o quirúrgico (laparoscopia). Se trata artículo revisado, se utiliza el mayor número de variables, de entrada, aunque finalmente utiliza un algoritmo para seleccionar las 10 más relevantes, para que no haya overfitting. En total, el número de pacientes sobre el que se aplica es de 430. Compara entre Random Forest, Logistic Regression y Generalized boosting regression (GBR), siendo la Tabla 7 un resumen de los resultados obtenido tras haber seleccionado las 10 variables más relevantes. Finalmente, decide implementar en la aplicación (APT) el algoritmo de Random Forest, porque los resultados obtenidos son, en general mejores, que el algoritmo de logistic regression y aunque a la par con GBR, es más fácil de interpretar. Sin embargo, cabe destacar que la aplicación es solo de uso científico y divulgativo y no se utiliza en el día a día del médico. Tabla 7. Comparativa de los resultados obtenidos en [9] para los diferentes algoritmos. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 18 Como se puede observar, numerosos son los artículos que abordan el diagnóstico de la apendicitis, bastantes, su complejidad, y casi ninguno, su tratamiento. Sin embargo, hay una clara tendencia en los últimos años al uso de algoritmos de ML para la predicción de un caso tan complejo como es el diagnóstico de la apendicitis. Todos los algoritmos utilizados, tienen mejores tasas de predicción que la puntuación de Alvarado y la puntuación de apendicitis pediátrica. A pesar de ello, queda patente que el acceso a los datos de pacientes es complejo, o, en su defecto, la información presente en los informes médicos no es suficiente para usarse. Esto lleva a pensar, que es necesario un sistema que permita recoger la información del paciente de forma fiable y veraz y que permita entrenar los algoritmos sobre un número elevado de casos para poder obtener resultados muy precisos, por ello, un sistema de PLM como soporte, para gestionar los datos de los pacientes, sería de enorme ayuda para la obtención de algoritmos con una alta capacidad de predicción. Por otro lado, de entre todos los artículos revisados, existe una tendencia que lleva a pensar que el Random Forest es el algoritmo que mejores valores de precisión presenta a la hora de predecir la apendicitis. En el siguiente apartado, se explicarán todos los algoritmos seleccionados, desde un enfoque cualitativo, para entender cómo funcionan, así como sus ventajas e inconvenientes, que se tiene en cuenta durante su aplicación en el apartado 5. 2.4 Algoritmos de ML En este apartado se describe teóricamente, cada uno de los algoritmos de ML con los que posteriormente se generaran los modelos. Además, se hace hincapié en el tipo de algoritmo, de clasificación binaria o de regresión, así como en los ámbitos de aplicación y las ventajas y desventajas de cada uno de ellos [42]. 2.4.1 Algoritmo de regresión logarítimica El modelo de regresión logarítmica se basa en el fondo en la propia función logarítmica, de ahí su nombre. Esta función logarítmica toma siempre valores entre 0 y 1, pero nunca los valores exactos de dichos límites. A continuación, se observa una representación de la función logarítmica, así como su expresión matemática. 𝑦(𝑥)=1 1+𝑒−𝑥 Ecuación 1. Ecuación regresión logarítimica 2.Revisión de la literatura 19 Figura 5. Representación función logarítmica El modelo de regresión logarítmica es muy parecido a una regresión lineal. Se tienen una serie de valores de entrada (x), que, combinados de forma lineal con una serie de coeficientes y pesos asociados a las variables, permite obtener un resultado (y). Un ejemplo básico de la ecuación de regresión logarítmica sería el siguiente: 𝑦= 𝑒(𝑏0+𝑏1𝑥) 1+𝑒(𝑏0+𝑏1𝑥) Ecuación 2. Ecuación logarítmica para regresión lineal En este caso, el coeficiente b1 es el asociado al peso de la variable (x). Cuando el algoritmo se aplica a múltiples variables, cada una de estas recibirá un coeficiente que obtiene un valor concreto durante la fase de entrenamiento del algoritmo. Por lo tanto, el objetivo último de entrenar el modelo será obtener los valores de dichos coeficientes para poder determinar la ecuación de regresión logarítmica. La regresión logarítmica modela la probabilidad de pertenencia a una clase determinada. Como se ha descrito previamente, la estimación es una probabilidad de predicción, que finalmente se convertirá a valores binarios (0, 1) para predecir a que clase pertenece. De esta forma, se aplica el logaritmo neperiano a la ecuación y la probabilidad de pertenecer a la clase X quedaría formulada, tal que así: 𝑝(𝑋)=𝑒(𝑏0+𝑏1𝑋) 1+𝑒(𝑏0+𝑏1𝑋) Ecuación 3. Probabilidad de pertenencia a una clase modelada por la ecuación logarítmica Customización de un sistema PLM para la gestión del ciclo de vida de patologías 20 𝑙𝑛(𝑝(𝑋) 1−𝑝(𝑋))=𝑏0+𝑏1𝑋 Ecuación 4. Regresión lineal tomando logaritmo neperiano de la probabilidad de x Como se ha dicho anteriormente, el objetivo durante la fase de entrenamiento del algoritmo será obtener los valores de los coeficientes de regresión logarítmica. Para ello, existen diversos algoritmos, uno de ellos se basa en el “algoritmo de máxima verosimilitud” desarrollado por A.Fischer, aunque si bien es cierto, que el propio algoritmo realiza una serie de suposiciones previas acerca de la distribución de los datos. Los mejores coeficientes, serán aquellos que permitan predecir un valor muy cercano a 1 para una clase y muy cercano a 0, para la otra. A este algoritmo, se le aplican una serie de técnicas de minimización logarítmica para optimizar los mejores valores de dichos coeficientes. En la práctica, existen diversos métodos de optimización de la eficiencia numérica como son “Limited-memory Broyden-Fletcher-Goldfarb-Shanno” (L- BFGS) o “Adaptative Moment Estimation” (ADAM) que hoy en día se consideran mejores prácticas. Estos métodos mejoran la velocidad de convergencia y la eficiencia del algoritmo, sobre todo cuando se pretende procesar grandes cantidades de información. Un paso muy importante, a la hora de aplicar el modelo de regresión logarítmica es preparar la información propiamente para obtener los mejores resultados. Por lo tanto, existen una serie de técnicas para intentar mejorar la actuación del propio algoritmo: • La predicción del algoritmo debe ser binaria: Parece obvio, pero es importante recalcar que el algoritmo de regresión logarítmica está pensado para aquellos problemas donde haya dos clases, de forma que el resultado se pueda traducir en 0 o 1 • Eliminar el ruido: La regresión logarítmica toma como premisa que no existen errores en la variable de salida, por ello es importante eliminar los “outlitiers” y cerciorarse de que no hay datos clasificados erróneamente en los datos de entrenamiento • Distribución gaussiana: El modelo trabaja mejor si existen una relación lineal entre los datos de entrada y de salida, con lo cual, hay que analizar la posibilidad de aplicar usar transformadas de los datos de entrada para que la relación entre inputs y outputs sea lo más parecido a una relación lineal (logaritmo, raíz cuadrada, Box-Cox) • Eliminar los inputs correlacionados: Para evitar el overfitting es necesario analizar la relación entre las variables de entrada y eliminar aquellas que estén altamente correlacionadas. Ventajas: - Sencillo de entender. Se trata de un algoritmo, que dada la relación lineal entre las variables de entrada y el output es fácil de entender. Además, el valor de los coeficientes es una representación de la contribución de cada una de las variables al resultado final - Rápido y fácilmente escalable. Es un algoritmo con un corto periodo de aprendizaje, incluso en casos donde hay grandes cantidades de información, incluso si el número de variables es elevado. - Flexibilidad: Capaz de manejas datos categóricos y continuos y permite ampliar el modelo para tratar relaciones más complejas entre las variables - Robustez. Aunque algunas de las consideraciones realizadas durante la creación del modelo no sean del todo correctas, el algoritmo tiene un buen desempeño 2.Revisión de la literatura 21 - Probabilidades bien calibradas. Lo cual significa que si la probabilidad predicha para un caso es de 0.34 existe una traducción directa a que existe un 34% de probabilidad de que la predicción sea correcta Desventajas: - Conjetura de linealidad. Las variables de entrada no siempre presentan una relación lineal con el resultado obtenido, por lo tanto, hay que tener extremado cuidado en caso de que existan relaciones no lineales y hacer uso de transformadas para que sea lo más lineal posible - Sensitivo a los outliers. Como ya se describió previamente, el modelo es muy susceptible a la presencia de outliers en los datos. - Overfitting. Si el número de variables es demasiado grande en relación con los datos, tiende al overfitting 2.4.2 Algoritmo regresión de Poisson Como su nombre indica, este algoritmo se basa en la famosa distribución de probabilidad Poisson. Esta distribución describe la probabilidad de que un número 𝑘 de eventos sucedan en un intervalo fijo de tiempo o espacio, ocurriendo con una tasa media constante λ y de forma independiente del tiempo que transcurrió desde el último evento. La función de la probabilidad de distribución de Poisson sería: 𝑃(𝑌=𝑘)=𝜆𝑘𝑒−𝜆 𝑘! Ecuación 5. Probabilidad de Poisson siendo: • 𝑘 el número de eventos • 𝜆 la tasa media de eventos por intervalo (esperanza de la distribución) • 𝑒 la base del logaritmo natural Figura 6. Distribución de probabilidad de Poisson en función de λ Customización de un sistema PLM para la gestión del ciclo de vida de patologías 22 La regresión de Poisson permite modelar la relación entre una variable de respuesta 𝑌 y una o más variables explicativas 𝑋. El modelo de regresión de Poisson toma como suposición que la variable de respuesta 𝑌 sigue una distribución de Poisson y que el algoritmo de su media, λ, es una combinación lineal de los predictores. 𝑙𝑜𝑔(𝜆)=𝑋𝛽 Ecuación 6. Algoritmo de la media de la distribución de Poisson siendo: • 𝜆=𝔼 [𝑌|𝑋] es la tasa de eventos media • 𝑋 es un vector de valores de las variables predictoras • 𝛽 es un vector de coeficientes del modelo que se estiman a partir de los datos Si se exponencian ambos lados de la ecuación, se obtiene la fórmula de la media, asegurando que la tasa media λ siempre sea positiva. 𝜆=𝑒𝑥𝑝(𝑋𝛽) Ecuación 7. Exponenciación de la ecuación 6. El vector de coeficientes 𝛽 se estima típicamente utilizando el método de máxima verosimilitud. Esta función de verosimilitud para la regresión de Poisson, tendría la siguiente fórmula: 𝐿(𝛽)= ∏(𝑒−𝜆𝑖𝜆𝑖𝑦𝑖) 𝑦𝑖! 𝑛 𝑖=1 Ecuación 8. Función de verosimilitud aplicada a la distribución de Poisson donde 𝜆𝑖=exp (𝑋𝑖𝛽) y 𝑦𝑖 es el conteo observado para la i-ésima observación. Maximizando la función de verosimilitud es como se obtienen las estimaciones de los coeficientes 𝛽 Ventajas: - Interpretación Sencilla. Los coeficientes del modelo pueden interpretarse directamente en términos de tasas de cambio. Un aumento en una variable predictora se traduce en un cambio multiplicativo en la tasa de eventos. - No requiere una Transformación de los Datos. A diferencia de algunos otros métodos, no es necesario transformar los datos de conteo (como mediante logaritmos o raíces cuadradas) para aplicar la regresión de Poisson. - Flexibilidad con Variables Predictoras. El modelo puede manejar variables predictoras tanto continuas como categóricas. - Generalización a Modelos más Complejos. La regresión de Poisson es una base para modelos más avanzados, como la regresión binomial negativa y los modelos de Poisson jerárquicos. Desventajas: - Sobredispersión. Una de las principales limitaciones de la regresión de Poisson es la suposición de que la media y la varianza de la distribución de conteos son iguales. Si los 2.Revisión de la literatura 23 datos muestran sobredispersión (varianza mayor que la media), los estimadores pueden ser ineficientes y las pruebas estadísticas pueden no ser válidas. - Subdispersión. Aunque menos común que la sobredispersión, si la varianza es menor que la media, la regresión de Poisson también puede no ser adecuada. - Independencia de Eventos. La regresión de Poisson asume que los eventos son independientes. En muchos contextos, esta suposición puede no ser realista (por ejemplo, en datos temporales o espaciales donde los eventos pueden estar correlacionados). - Complejidad Computacional en Modelos Grandes. En casos con un gran número de variables predictoras o interacciones complejas, la estimación de los parámetros puede ser computacionalmente intensiva. - Sensibilidad a Datos Atípicos. Los modelos de Poisson pueden ser sensibles a datos atípicos o outliers, lo que puede distorsionar los resultados. 2.4.3 Algoritmo de Decision Tree El árbol de decisión o “Decision Tree” es un algoritmo de ML que se utiliza tanto para tareas de clasificación como de regresión. Un árbol de decisión está compuesto por nodos: • Nodos raíz: El primer nodo del árbol • Nodos internos: Representan las preguntas o condiciones basadas en las características de los datos • Hojas: Representan las predicciones finales, que puedes ser clases o valores continuos Figura 7. Ejemplo árbol de decisión En los árboles de decisión existe un criterio de división determinado. Esto es, en cada nodo, el árbol va a realizar una decisión basada en una condición que divide los datos en subconjuntos. Las divisiones se realizan de manera que los subconjuntos resultantes sean los más homogéneos posibles en términos de la variable objetivo Como se puede observar en la Figura 7, cada división dentro del árbol tiene una probabilidad de ocurrir determinada. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 30 • Sensibilidad (Positive Recall): Es la capacidad del modelo de ML para dar como casos positivos, los realmente enfermos. Capacidad para detectar la enfermedad en sujetos enfermos. 𝑆𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑= 𝑉𝑃 𝑉𝑃+𝐹𝑁 Ecuación 14. Sensibilidad del algoritmo de clasificación binaria Responde a la pregunta ¿qué proporción de positivos reales se han predicho correctamente • Especificidad (negative Recall): Capacidad del modelo de ML para dar como casos negativos, los realmente sanos. Es decir, capacidad de detectar la ausencia de enfermedad en casos sanos 𝐸𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑑𝑎𝑑= 𝑉𝑁 𝑉𝑁+𝐹𝑃 Ecuación 15. Especificidad del algoritmo de clasificación binaria Responde a la pregunta ¿qué proporción de positivos reales se han predicho correctamente • Precisión positiva (Positive precision): Es la proporción de predicciones positivas correctas de entre todas las predicciones positivas 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎= 𝑉𝑃 𝑉𝑃+𝐹𝑃 Ecuación 16. Precisión positiva algoritmos clasificación binaria • Precisión negativa (Negative precision): Es la proporción de predicciones negativas correctas de entre todas las predicciones predicciones negativas 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑎= 𝑉𝑁 𝑉𝑁+𝐹𝑁 Ecuación 17. Precisión negativa algoritmos clasificación binaria Figura 10. Explicación matriz de confusión de algoritmos de clasificación binaria [44] 2.Revisión de la literatura 31 • F1 Score: Es un estimador de la capacidad de clasificación del algoritmo de ML. Esta métrica combina la sensibilidad y la precisión positiva calculando la media armónica de ambos valores. 𝐹1 𝑆𝑐𝑜𝑟𝑒= 2 𝐸𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑑𝑎𝑑−1+ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎−1 𝐹1 𝑆𝑐𝑜𝑟𝑒=2∗ 𝐸𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑑𝑎𝑑∗𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎 𝐸𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑑𝑎𝑑+ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎 Ecuación 18. Desarrollo F1 Score algoritmos de clasificación binaria • AUC ROC Score: Es el área bajo la curva ROC (Receiver operating characteristic) el cual se utiliza para determinar la capacidad de discriminación de una prueba diagnóstico / modelo de ML. El AUC score sería la capacidad del modelo para clasificar correctamente a un paciente sano y uno enfermo. Figura 11. Comparativa curvas ROC [44] Siendo el valor máximo 1, dependiendo del valor, se puede hacer una estimación de la validez del modelo basándonos en los siguientes intervalos: • 0.5 el modelo no tiene capacidad de discriminar la enfermedad • 0.5-0.6 modelo malo • 0.6-0.75 modelo regular • 0.75-0.9 modelo bueno • 0.9-0.97 modelo muy bueno • 0.97-1 modelo excelente Customización de un sistema PLM para la gestión del ciclo de vida de patologías 32 2.5.2 Métricas para evaluación algoritmos de regresión Por su parte, los algoritmos de regresión se evalúan en base a las cuatro métricas que se describen más abajo: • 𝑅2 o “Coeficiente de determinación” [46]: Representa el poder predictivo del modelo y va entre -∞ y 1.00 e índica qué tan bien los valores observados se ajustan al modelo de regresión. 𝑅2=1−(∑(𝑦𝑖−𝑦𝑖 )2 ∑(𝑦𝑖−𝑦𝑖)2) Ecuación 19. Coeficiente de determinación Rsquared o 𝑦𝑖 son los valores observados o 𝑦𝑖  son los valores predichos por el modelo o yi es el valor medio de los valores observados El valor 1.00 indica que el modelo predice de forma perfecta los resultados. Sin embargo, la predicción puede ser arbitrariamente errónea, por eso llega hasta -∞. Si el valor de esta métrica es 0.00 indica que el modelo no explica nada de la variabilidad de los datos. Un valor negativo es símbolo de que el algoritmo no es capaz de seguir la tendencia del modelo de datos y que los resultados son peores que una predicción totalmente aleatoria. Esto sucede con modelo de regresión no lineal o con regresiones lineales restringidas. Cuanto más cercano a 1 mejor calidad. Sin embargo, a veces un valor bajo de 𝑅2, como 0.5 puede ser totalmente normal y suficientemente bueno, ya que valores muy cercanos a 1 pueden llegar a ser sospechosos [46]. 4. Absolute-loss o Error medio absoluto (MAE): mide la media de los errores absolutos entre los valores observados y los valores predichos. Es una medida de la precisión que evita que los grandes errores influyan mucho en la evaluación del rendimiento del modelo. Cuanto menor sea el valor de MAE, más preciso es el algoritmo. Siendo: o 𝑦𝑖 son los valores observados o 𝑦𝑖  son los valores predichos por el modelo o 𝑛 es el número de observaciones 𝑀𝐴𝐸=1𝑛∑|𝑦𝑖−𝑦𝑖 | 𝑛 𝑖=1 Ecuación 20. Error medio absoluto algoritmos de regresión • Squared loss (Error cuadrático medio, MSE): Como su nombre indica, es la media de los cuadrados de los errores entre los valores observados y los valores predichos. Penaliza bastante más los errores grandes ya que está elevado al cuadrado. Está métrica es muy útil si se desea que el modelo sea menos tolerante a los grandes errores ya que permite controlarlo. Cuanto menor sea el valor de MSE más preciso es el modelo, sin embargo, es algo menos intuitiva que MAE, ya que los valores están al cuadrado. 2.Revisión de la literatura 33 𝑀𝑆𝐸=1𝑛∑(𝑦𝑖−𝑦𝑖 ) 𝑛 𝑖=1 2 Ecuación 21. Error cuadrático medio algoritmos de regresión • RMS-loss (Raíz del Error Cuadrático Medio, RMSE): Básicamente se trata de la raíz cuadrada de MSE. La interpretación es más sencilla como en el caso de MAE, pero mantiene la propiedad de penalizar los grandes errores arrojados por el modelo. 𝑅𝑀𝑆𝐸=√𝑀𝑆𝐸= √1𝑛∑(𝑦𝑖−𝑦𝑖 ) 𝑛 𝑖=1 2 Ecuación 22. Raíz del Error Cuadrático medio algoritmos de regresión 35 3 DISEÑO DEL SISTEMA DE APRENDIZAJE En este apartado se abordará el siguiente objetivo del proyecto que es la obtención de un modelo de datos del sistema que permita recoger toda la información de los pacientes y que alimente el sistema PLM que nutrirá a su vez el modelo de ML. El programa utilizado para el modelado de datos es “Enterprise Architect”. Se trata de una solución que permite visualizar, analizar, modelar y mantener un amplio rango de sistemas, procesos y arquitecturas. Al elaborar el modelo de datos, se ha buscado hacerlo de la forma más genérica posible para que sea aplicable a cualquier patología y cualquier base de datos existente. 3.1 Modelo de datos del framework de machine learning Un framework es un entorno de trabajo que ofrece unas estructuras base para evaluar proyectos con funcionalidades muy similares. En este proyecto se diseña un framework para que ingenieros de datos y médicos puedan evaluar las técnicas de predicción de patologías. Los entornos de trabajo principalmente están soportados por un modelo de datos, está asociado a una base de datos y en este caso el modelo de datos define como se gestiona la información que se utiliza para Machine Learning. En primer lugar, se definen de forma teórica cada una de las clases que van a formar parte del framework de trabajo. Véase la Figura 12. Los elementos que forma parte del modelo de dato son: a) Algoritmo: Identifica los algoritmos que se incorporan al sistema de evaluación. Cada algoritmo dispone de un ciclo de vida. La incorporación de algoritmo pasa por un estado “En proceso” donde el ingeniero de datos analiza y evalúa el algoritmo antes de ser utilizado. Para que el algoritmo pueda ser utilizado debe pasar al estado “Aprobado” b) Parámetro: Cada algoritmo presenta unos parámetros de ejecución diferentes. Estos parámetros van a influir, entre otros, en las métricas obtenidas y en el tiempo de ejecución del modelo de ML. El ingeniero de datos es quién define que parámetros utilizar para cada uno de los algoritmos, siendo posible que un mismo parámetro se utilice en diferentes algoritmos. c) Modelo de Datos: El modelo de datos define la base o bases de datos a utilizar. El algoritmo no va a consumir necesariamente la base de datos completa. d) Variables Datos: Describe cada uno de los elementos que componen el modelo de datos e) Variables equivalentes: Permite generar equivalencias entre las variables de diferentes modelos de datos. Esta clase permite al algoritmo unificar las variables de diferentes modelos de datos en una. f) Variables resultados: Definen las capacidades del algoritmo aplicado. Es lo que se ha definido en el apartado 2.5 como métricas de evaluación. Estas variables, permiten identificar valores recomendables o valores mínimos y máximos para las métricas. g) Escenario: Representa la información necesaria para probar el algoritmo. Los escenarios contienen variables de entrada y salida que serán definidas por el ingeniero de datos. Los escenarios tienen también un ciclo de vida, donde el proceso de creación se encuentra en un estado “preliminar”, en el cual se identifica el usuario que lo crea y la fecha de creación de este. Tras ello, para al estado “inProcess” donde se especifican las variables de entrada y salida, el fichero o ficheros de modelos de datos a utilizar y el fichero de resultados. El siguiente estado sería “Evaluación”, en el que se validan los datos del algoritmo y las Customización de un sistema PLM para la gestión del ciclo de vida de patologías 36 métricas de este. Finalmente pasaría a estado “Finalizado” cuando la evaluación de los resultados ha sido completada h) Parámetro-escenario: Esta clase permite definir los parámetros del algoritmo aplicados a un escenario concreto. Identifica el tipo y valor asociado a cada párametro a la hora de ejecutar el algoritmo i) Escenario-modelo de datos: Identifica el modelo o modelos de datos a utilizar en el escenario j) Escenario-variables de entrada: Permite identificar las variables de entrada que se utilizarán en el escenario. No necesariamente se utilizará el modelo de datos completo k) Escenario-variables de salida: Define las variables que se obtienen en el escenario seleccionado l) Escenario-variableResultado: Define para cada escenario cuales son las métricas de evaluación que se quieren utilizar. m) Evaluación: Se define en función a las variables resultados obtenidas para el escenario y las métricas de evaluación. n) Comentarios: Identifica los comentarios relacionados por el ingeniero de datos durante la evaluación del algoritmo o) Resultados: Se trata de las variables de salida asociadas junto con las métricas de evaluación de un escenario concreto. Estos resultados del escenario se almacenan en un fichero concreto. 3. Diseño del sistema de aprendizaje 37 Figura 12. Modelos de datos 3.2 Explicación del framework de diseño y evaluación del algoritmo Una vez definidas cada una de las clases que se utilizan en el framework, se explican las relaciones existentes entre las mismas. En primer lugar, se identifican en el sistema todos aquellos algoritmos que se están analizando o que se podrían analizar. Estos algoritmos tienen asociados una serie de parámetros de ejecución, los cuales son genéricos, ya que dependiendo del algoritmo variarán. Es por ello, que tanto el algoritmo como el parámetro constituyen dos conceptos diferentes en el sistema. Es cierto, que el algoritmo va a quedar configurado por un conjunto de parámetros determinado, véase la figura 13. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 38 Figura 13. Relación Parámetro - Algoritmo A continuación, se centra el análisis en las bases de datos que se van a utilizar para el estudio, véase la Figura 14. Cada una de esas bases de datos, tienen un modelo de datos diferentes. En este caso se trata de una serie de archivos .csv que alimentan el modelo de ML. Cada una de las bases de datos tienen diferentes variables, que se utilizan para entrenar y testear el modelo. Al mismo tiempo, se incluye en el sistema una clase denominada Variables equivalentes que permitiría definir las equivalencias entre las variables de dos bases de datos diferentes, lo cual hace que el sistema sea mucho más abierto. Figura 14. Relación Modelo Datos-Variable Datos-Variables equivalentes 3. Diseño del sistema de aprendizaje 39 Figura 15. Obtención de los resultados y evaluación del escenario Seguidamente se define la clase escenario, que es el concepto central del sistema diseñado. El ingeniero de datos, durante la optimización de los modelos de ML, analiza una serie de escenarios, que consisten en definir unos valores para los parámetros de los algoritmos y obtener sus métricas. Igualmente, asociado al escenario, se pueden tener múltiples bases de datos y lo interesante es que el sistema permite definir que variables de las bases de datos son las que se van a utilizar para cada uno de los escenarios, lo cual va a ser de vital importancia para poder analizar el peso de cada una de ellas en los resultados del modelo. Al mismo tiempo, el sistema permite definir que variables de salida se desean obtener en cada uno de los escenarios definidos. Cada escenario, va a estar evaluado por una serie de variables resultados, véase la Figura 15. Estas variables resultado, se componen de una métrica de evaluación concreta, de un valor mínimo y máximo y de un valor recomendable. Cada algoritmo, tendrá unas variables resultados diferentes, que se definen en cada escenario. En definitiva, el escenario está compuesto por un algoritmo determinado, unos parámetros de ejecución, unos datos de entrada y de salida determinados, que provienen de la base o bases de datos utilizadas. A su vez, cada escenario obtendrá unas métricas que se definen previamente a través de la clase Variable Resultado. Dado dicho escenario, se obtienen unos resultados que estarán compuestos por el algoritmo definido, los parámetros utilizados y las métricas obtenidas para el mismo, que se guardarán en un fichero. Finalmente, cuando se lanza cada uno de los escenarios se va a obtener una evaluación concreta para este. Esta evaluación será utilizada por el ingeniero de datos para poder hacer una comparativa entre los diferentes escenarios. Dada la evaluación, se definen una serie de comentarios que vienen dados por el ingeniero de datos. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 46 Figura 18. Arquitectura Software Aras Innovator ARAS innovator, basa su funcionamiento en la creación de itemtypes, que son los conceptos o clases que forman parte del modelo de datos que configuran el sistema de PLM. En este caso, cada una de las clases que definidas en el apartado 3.1, y que formarán parte del framework generarán un itemtype nuevo (p. ej. algoritmo) A continuación, se describen los pasos a seguir para implementar un itemtype en Aras, así como las diferentes relaciones entre estos. 1. Creación del itemtype: Se define el nombre del itemtype (p.ej. Algoritmo). Es importante seleccionar la opción “Tabs On” para que aparezca el itemtype en el resto de desplegables. Durante este paso se define si se quiere que el itemtype sea versionable o no 2. Definición de sus propiedades: Se definen cada una de las propiedades de los itemtypes. En el caso de “Algoritmo” habría que generar una propiedad para Descripción, IdAlgoritmo y NombreAlgoritmo 3. Creación del formulario: Es la interfaz con la que el usuario crearía una instancia del itemtype algoritmo. Los formularios en ARAS se crean automáticamente, pero es necesario customizarlo a medida. 4. Creación de los permisos: Dentro del ciclo de vida de un itemtype es necesario haber creado previamente los permisos para cada una de sus etapas, que se asignarán a los diferentes tipos de usuarios que intervendrán en dicho ciclo de vida. 5. Definición del ciclo de vida: Una vez creados los permisos, se definen cada uno de los estados del ciclo de vida del itemtype. Para ello se genera un ciclo de vida en ARAS y se 4. Implementación de un sistema de diagnóstico de patologías 47 asocian los permisos a cada uno de los estados de este. En el caso del algoritmo, los estados serían “EnProceso” cuando el algoritmo se está analizando, “EnRevisión” cuando se están revisando las métricas y “Aprobado” cuando ya puede ser empleado por otros usuarios 6. Asignación de permisos por defecto: Dado que el primer estado del ciclo de vida de un itemtype es “Preliminar”, es necesario asignar ese estado como el estado por defecto. 7. Asociación del permiso Can Add al usuario correspondiente: Para que un usuario en concreto pueda añadir un algoritmo, es necesario que tenga el permiso “Can Add” para el itemtype 8. Creación de relaciones con otro itemtypes: Se definen las relaciones que existen con el resto de itemtype mediante el objeto “Relationship” de Aras. En el ejemplo en cuestión, se generaría el “Relationship” configurado entre Parámetro y Algoritmo. Aquí es donde se define la cardinalidad que se observa en el modelo de datos definido. De esta forma queda definido como se crea un itemtype de forma genérica. Este proceso hay que repetirlo para cada una de las clases del modelo de datos. Una vez diseñado el sistema de PLM, se procede a definir las librerías de ML que se utilizarán para entrenar a los algoritmos y diseñar el modelo de diagnosis. 4.3 Librería ML.net Como se ha comentado en el apartado anterior, Aras Innovator está programado en C#, es por ello por lo que se llevará a cabo el desarrollo e implementación del modelo de ML utilizando este lenguaje de programación. Muchas son las librerías que se pueden utilizar en C# para ello, aunque es cierto que una de ellas es tendencia en la literatura [41]. Se trata de la librería de ML.net que es una librería desarrollada por Microsoft con el objetivo de facilitar la creación de algoritmos de ML, que sin duda es la más extendida en C#. La librería ML.net presenta un flujograma bastante claro a la hora de desarrollar los algoritmos de ML, véase la Figura 19. En este apartado se define el proceso genérico de implementación de un modelo de ML utilizando la librería de ML.net En primer lugar, es necesario cargar la información desde la base de datos, que se trata de un archivo formato .csv. Existen dos métodos diferentes para cargar la base de datos a ser utilizada por el modelo de ML: 1. Utilizando el método LoadFromTextFile. Para ello, se cargan las columnas de la base de datos una a una indicando el tipo de variable de la que se trata, para que la lectura de los datos sea la correcta. Es decir, hay que indicarle al modelo de ML las columnas y el tipo de variable en cada caso. Este método almacena la información en un objeto IDataView, véase la figura 20. 2. Utilizando el método LoadCsv. Este método permite cargar archivos de forma más dinámica. No es necesario definir el tipo de variable en cada caso, ya que el propio método lo ejecuta. Por su parte, almacena la información en un objeto de tipo DataFrame. Para utilizar el objeto DataFrame hay que implementar un paquete extra llamado Customización de un sistema PLM para la gestión del ciclo de vida de patologías 48 Scikit.ML.DataFrame, que es una librería de ML.net que permite trabajar con este tipo de objeto más típico del lenguaje de Python. Dependiendo del caso de uso del que se trata se utiliza una u otra indistintamente. Figura 19. Flujograma para el desarrollo de algoritmos de ML utilizando ML.net 4. Implementación de un sistema de diagnóstico de patologías 49 Tras esto, se procede a crear un pipeline que se utilizará para entrenar el modelo de ML. Tanto al objeto IDataView como al DataFrame se le aplican una serie de transformaciones, dando lugar a un IEstimator que permita entrenar el algoritmo, ya que el modelo necesita consumir la información con una forma y estructura determinada, sino daría error. Este IEstimator se entrena utilizando el método Fit() y dando lugar a un objeto de tipo ITransformer, que serían los datos del modelo ya entrenados. Ese objeto ITransformer permite evaluar las métricas del algoritmo. Para ello, se dividen los modelos de datos utilizados en datos de entrenamiento y testeo. Una regla típica, es usar un 80% de los datos de entrada como datos de entrenamiento y evaluar las métricas del algoritmo en base a los resultados obtenidos para el 20% restante. Figura 20. Ejemplo de un objeto DataView en ML.net Una vez que se ha obtenido el objeto ITransformer se evalúa mediante métricas el modelo de ML. En función de los resultados obtenidos, se vuelve a entrenar el modelo con unos parámetros diferentes, buscando obtener las mejores métricas posibles. Finalmente, una vez se ha optimizado el modelo, se fijan los parámetros y para utilizar el modelo de ML sobre un caso concreto hay que utilizar el método CreatePredictionEngine().Predict(). Que dado unas variables de entrada obtiene una predicción. En el siguiente subapartado se describe con más detalle el código utilizado, así como los diferentes métodos utilizados. 4.4 Implementación del framework de optimización y evaluación A la hora de implementar el framework descrito, se han desarrollado dos códigos diferentes. El primero de ellos optimiza los parámetros de cada uno de los modelos que se analizan y el segundo, dado dichos parámetros obtiene el peso de cada una de las variables. Se podría fácilmente integrar ambos códigos, si bien es cierto, que aumentaría el tiempo de ejecución enormemente, por lo cual se ha optado por dividir los procesos. 4.4.1 Código de optimización de los modelos de ML Este código optimiza los parámetros del modelo de ML de forma automática. Para ello, se sigue el flujo de la librería descrito en el subapartado 4.3, véase la Figura 19. Es necesario definir el conjunto de parámetros a optimizar para cada algoritmo, pero no es necesario ir ejecutando el código para cada uno de los escenarios. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 50 El método utilizado para cargar la base de datos es LoadCsv ya que el método LoadFromTextFile no permite automatizar este proceso, dado que requiere un input del modelo de datos en cada uno de los casos. Además, se divide el DataFrame en un set de entrenamiento y otro de testeo utilizando el método mlContext.Data.TrainTestSplit indicando que la fracción de testeo es 0.2 del total de líneas en la base de datos. Una vez se ha cargado la base de datos, el código busca cuales son las variables de salida de la base de datos. Para ello, busca la palabra “Label” en el título de las columnas y genera dos vectores diferentes de variables de salida, un vector de variables booleanas y otro de variables continuas. De esta forma, se puede optimizar en un mismo código los modelos de clasificación binaria y los modelos de regresión. En caso de que uno de los vectores sea nulo, el código simplemente no ejecutará el entrenamiento. Tras ello, se definen los vectores de cada uno de los parámetros a optimizar, los cuales son diferentes entre los diferentes algoritmos. En función del número de parámetros a optimizar, se anidan el mismo número de bucles for. El código realiza el flujo de entrenamiento y evaluación para cada conjunto único de parámetros y guarda en una variable el mejor resultado (bestScore) y en otra el peor (worstScore), las cuales se van actualizando. A continuación, se llevan a cabo una serie de transformaciones sobre los datos albergados en el objetoDataFrame para obtener un formato que pueda ser consumido por el algoritmo de ML, véase Figura 21 Figura 21. Transformaciones realizadas sobre los datos de entrada En primer lugar, se utiliza el método OneHotEncoding que genera un diccionario de valores únicos. Básicamente, toma los diferentes valores de las columnas tipo string de la base de datos y le da un valor único a cada uno de los valores existentes, e.g. la columna “Sex” tendrá un diccionario con dos valores, ya que en la base de datos puede ser Male o Female. Tras ello, se lleva a cabo la normalización de las columnas mediante el método NormalizeMinMax para obtener un IEstimator normalizado en función de los valores máximos y mínimos existentes, de forma que no haya outliers en la base de datos. Después, se utiliza el método Concatenate, para combinar todas las columnas en un único vector que dará como output una nueva columna llamada “Features”, veáse el anexo 1. La pipeline ya esta preparada para ser consumida por el modelo de ML. Como se ha dicho, van a existir diferentes modelos de Machine Learning, basados en los diferentes algoritmos explicados en el apartado 2. En primer lugar, se hace llamada al modelo de ML usando el método BinaryClassification.Trainers.LbfgsLogisticRegression, para los modelos de clasificación binaria, y el método Regression.Trainers.LbfgsPoissonRegression para los modelos de regresión. Sustituyendo el nombre del modelo de ML, se obtendrían los valores para los diferentes modelos. Los modelos de ML que se van a estudiar son los siguientes: Modelos de ML de clasificación binaria: 4. Implementación de un sistema de diagnóstico de patologías 51 • Lfbgslogisticregression: Se basa en el algoritmo de regresión logarítmica • Sdcalogisticregression: Basado en el algoritmo SDCA (Stochastic Dual Coordinate Ascent) • FastTreeBinary: Se basa en árboles de decisión • FastForestBinary: Se basa en el algoritmo de Random Forest • LinearSvm: Basado en el algoritmo de Support Vector Machines Modelos de ML de regresión: • Poissonregression: Se basa en el algoritmo de Poisson • Sdca: Basado en el algoritmo SDCA (Stochastic Dual Coordinate Ascent) • FastTreeRegression: Se basa en árboles de decisión • FastForestRegression: Se basa en el algoritmo de Random Forest • OnlineGradienDescent: Basado en el algoritmo OGD En el caso, de que se quisiesen obtener los parámetros de ajuste de los algoritmos lineales, como por ejemplo en el caso de modelo de regresión logística, se utilizaría el método modelParameters.Weights.ToArray(). Véase el código completo para obtener los parámetros de ajuste en el anexo 1. Cuando terminan de ejecutarse todas las combinaciones de parámetros, se obtienen los mejores y peores resultados para los modelos. Tras ello, se procede a obtener las métricas, solo para esos dos conjuntos de parámetros. Para ello, se utiliza el método EvaluateNonCalibrated y después se muestran en pantalla las métricas obtenidas. Se definen dos funciones diferentes para las métricas, una para los modelos de clasificación binaria y otra para los modelos de regresión, ya que como se describe en el apartado 2.6 utilizan métricas completamente diferentes. En definitiva, este código toma una base de datos determinada y optimiza de forma automática los parámetros deseados para un determinado algoritmo. De forma que las variables de salida de este son los valores de los parámetros que optimizan el modelo de ML para cada una de las variables de salida, así como los valores de las métricas para estos parámetros. Una vez que se tienen los parámetros optimizados, se pasa a obtener el peso de cada una de las variables en la obtención de los resultados. 4.4.2 Código de análisis de importancia de las variables en los resultados Como ya se ha explicado previamente, uno de los principales desafíos que presenta el uso de las técnicas de ML a la hora de ser implementadas en el ámbito de la medicina, es la opacidad de los resultados obtenidos, es decir, que el algoritmo se comporta como una especia de “caja negra”. Por ello, es importante obtener la importancia que cada una de las variables de entrada tiene sobre las métricas de evaluación del algoritmo. Para ello, la librería de ML.net presenta un método llamado PermutationFeatureImportance que obtiene la contribución relativa de cada una de las variables a la predicción final. A alto nivel, consiste en barajar de forma aleatoria los datos de una de las variables y ver como varían las métricas de actuación del algoritmo. Cuanto mayor sea la variación experimentada por estas, mayor importancia tendrá la variable. Por lo tanto, para poder aplicar este método hay que elegir una métrica en concreto para obtener los resultados de la contribución de cada una de las variables. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 52 El código desarrollado es el mismo que en el caso anterior, la única diferencia es que no existen los bucles for anidados que van ejecutando las predicciones para cada conjunto único de parámetros, sino que los parámetros utilizados son los parámetros optimizados que se han obtenido del código descrito en el subapartado anterior, véase la Figura 22. Figura 22. Códigos con los parámetros optimizados para el modelo de ML El peso obtenido para cada variable mediante el método PermutationFeatureImportance varía levemente cada vez que se ejecuta el código. De ahí que los resultados vayan variando conforme se vaya entrenando el algoritmo con nuevos valores. Esta variación se debe principalmente a dos motivos: 1. Aleatoriedad en el entrenamiento del modelo: Algunos modelos de ML, incorporan un factor de aleatoriedad durante el entrenamiento del algoritmo que se debe, entre otros, a los parámetros tomados para inicializar el algoritmo y a la selección aleatoria de datos. Por eso, cuando se entrene el algoritmo los valores será diferentes. 2. El método PermutationFeatureImportance en sí se basa en permutar de forma aleatoria los valores de las variables. Este procedimiento también añade cierta aleatoriedad, ya que cada vez que se ejecute el método, la permutación será diferente. Ambos códigos se pueden aplicar a cualquier base de datos y con cualquier algoritmo de ML. En el siguiente apartado, se procede a aplicar dichos códigos al caso concreto de la apendicitis. 53 5 APLICACIÓN APENDICITIS En este apartado se procede a aplicar el framework y códigos de programación descritos en los apartados anteriores al caso de la apendicitis. En primer lugar, se hace una explicación a la patología en sí, con el objetivo de entender las variables y las bases de datos que se van a utilizar. Tras ello, se hace una breves introducción de las dos bases de datos que se han seleccionado para el estudio y finalmente se pasa a analizar diferentes casos de estudio que han ido surgiendo durante del desarrollo de este trabajo de fin de máster. 5.1 Explicación patología Aunque durante el apartado 2.3 se mencionaron algunas particularidades de la apendicitis, en este apartado se procede a dar una explicación más detallada de sus síntomas, causas, diagnósticos, complicaciones y tratamiento. La apendicitis se engloba dentro de las enfermedades de la cavidad abdominal, que es la más grande del cuerpo humano. Dado la gran cantidad de órganos y vasos sanguíneos que se encuentran en la misma, el diagnóstico diferencial, no suele ser algo sencillo. Por ello, se suele dividir el abdomen en 4 partes, ya que muchas de las patologías muestran síntomas que se localizan exclusivamente en una de estas, véase la Figura 23. Esto permite una mejor clasificación de las enfermedades en función de la localización y manifestación de sus síntomas, véase la Figura 24. Tal y como documenta Octavio de Jesús Arévalo [2], la probabilidad de una persona de sufrir apendicitis a lo largo de su vida es de un 8,6% en hombres y de 6,7% en mujeres, siendo más frecuente su aparición en la segunda y tercera década, encontrándose el pico de incidencia en torno a los 22 años. La mortalidad en Estados Unidos es del 0,00002% y la morbilidad del 3%, siempre y cuando el tratamiento sea el oportuno. Es importante saber, que, durante la etapa de la infancia, el apéndice forma parte del sistema inmunitario. Sin embargo, a medida que se hace mayor, el apéndice deja de desempeñar esa función. Esto tendrá relevancia a la hora de diagnosticar la apendicitis en un paciente pediátrico. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 54 Figura 23. Ubicación del apéndice en la cavidad abdominal y separación del abdomen en 4 cuadrantes La apendicitis, como su nombre indica, se trata de una inflamación del apéndice. Este apéndice es una bolsa en forma de dedo se es la continuación del colón y que se ubica en el cuadrante inferior derecha del abdomen, véase Figura 23, para ubicarlo en la cavidad abdominal. Este apéndice mide entre 3 y 20 cm de longitud y menos de 6 mm de diámetro transversal. Este proceso inflamatorio, comienza cuando el único extremo permeable del apéndice es obstruido, ya se parcial o totalmente. De entre los principales causantes de dicha obstrucción se encuentran los siguientes [2]: • Fecalito • Heces • Hiperplasia linfoide • Semillas • Parásitos 5. Aplicación apendicitis 55 • Tumores Al estar el apéndice obstruido, se comienza a acumular líquido y secreciones en la luz del apéndice, dando lugar a un caldo de cultivo para bacterias y suponiendo la inflamación de la pared y los tejidos circundantes Dada esta obstrucción, aumenta la presión en el interior del apéndice y disminuye el flujo sanguíneo, dando lugar, en última instancia, a la perforación de este. Precisamente, esta perforación es lo que se pretende evitar con la intervención médica, ya que una vez que sucede, la mortalidad se eleva al 3% y la morbilidad al 47% [2] Figura 24. Cuadro resumen de la localización y signos por enfermedad causante de dolor abdominal [2] 5.1.1 Sintomatología y signos típicos Como se describió en el apartado 2.3, hay una serie de síntomas típicos que están presentes en torno al 50-70% de los pacientes, los cuales se listan a continuación: • Dolor repentino, que comienza alrededor del ombligo y se va desplazando al cuadrante inferior derecho (CID) del abdomen Customización de un sistema PLM para la gestión del ciclo de vida de patologías 62 Existe un total de 37 variables o atributos que pueden ser utilizados de obtener una predicción mediante el algoritmo de ML. Por su parte, la base de datos también posee tres columnas, cuyos valores son de tipo booleano, para cada una de las predicciones que arroja el modelo de ML: • Label Diagnóstico: True si se el paciente tenía apendicitis y false en caso contrario • Label Severidad: True si la apendicitis era compleja y false en caso contrario • Label Tratamiento: True si el tratamiento fue cirugía y falso en caso contrario Como se ha observado en la revisión de la literatura, y como se ha comentado en el apartado de implementación, un enfoque típico a la hora de dividir los datos disponibles es de 80% para el entrenamiento del algoritmo y un 20% para la evaluación de este y obtener los valores de predicción En total, se tendrán por tanto un set de entrenamiento de 344 pacientes y un set de testeo de 86 pacientes. 5.2.2 Base de datos “app_data” La segunda base de datos que a analizar consiste también es una base de datos obtenida únicamente de paciente pediátricos entre 0-18 años que fueron hospitalizados en Ratisbona entre los años 2016 y 2021. Posee un total de 783 pacientes, aunque tras llevar a cabo una serie de modificaciones, como eliminar aquellos pacientes que asistieron dos veces y aquellas líneas donde no existía registro para la label “length_of_stay” se obtienen un total de 776 pacientes. En total, se trata de 58 variables, aunque muchas de ellas, presentan un porcentaje bastante bajo de compleción. A pesar de ello, se utilizarán todas en un primer análisis. Al igual que anteriormente, las variables provienen del examen clínico inicial de los pacientes, de pruebas de orina o sangre y de pruebas de ultrasonido abdominal. Las variables son muy similares a las descritas en el subapartado anterior. La principal diferencia reside en las variables provenientes del ultrasonido ya que en este caso hay un total de 23 variables, mientras que la base de datos “patients_data” son 15 y también las provenientes del análisis de sangre. Las variables de salida al igual que en la base de datos anterior, son severidad, tratamiento y diagnosis de la apendicitis. Además, se le añade una variable continua, que es la longitud de la estancia del paciente en el hospital. Esta variable aporta bastante valor al estudio ya que permitiría, previo al ingreso del paciente determinar con cierta exactitud, el tiempo de estancia y planear los recursos acordes a ello. • Label Diagnóstico: True si se el paciente tenía apendicitis y false en caso contrario • Label Severidad: True si la apendicitis era compleja y false en caso contrario • Label Tratamiento: True si el tratamiento fue cirugía y falso en caso contrario • Label length_of_stay: Variable continua que determina la longitud de la hospitalización Se divide de nuevo la base de datos en dos sets diferentes, uno de entrenamiento con 621 pacientes y uno de testeo con 155 pacientes. 5.3 Resultados Este apartado consiste en la aplicación de una serie de modelos de ML a las dos bases de datos descritas en el subapartado 5.1. Los modelos de ML elegidos para el estudio se dividen en dos categorías, por un lado, están los modelos de clasificación binaria, que arrojan un resultado binario y por otro lado los modelos de regresión, que dan como resultado un valor continuo de las variables 5. Aplicación apendicitis 63 de salida. A continuación, se listan todos los modelos que se han usado para el estudio, así como el algoritmo en el que se basan, que han sido descritos en los diferentes subapartados de 2.4. Modelos de ML de clasificación binaria: • Lfbgslogisticregression: Se basa en el algoritmo de regresión logarítmica • Sdcalogisticregression: Basado en el algoritmo SDCA (Stochastic Dual Coordinate Ascent) • FastTreeBinary: Se basa en árboles de decisión • FastForestBinary: Se basa en el algoritmo de Random Forest • LinearSvm: Basado en el algoritmo de Support Vector Machines Modelos de ML de regresión: • Poissonregression: Se basa en el algoritmo de Poisson • Sdca: Basado en el algoritmo SDCA (Stochastic Dual Coordinate Ascent) • FastTreeRegression: Se basa en árboles de decisión • FastForestRegression: Se basa en el algoritmo de Random Forest • OnlineGradienDescent: Basado en el algoritmo OGD Este apartado se divide en una serie de casos de uso. El primero consiste en la optimización de los parámetros de cada uno de los modelos de ML. A continuación, se comparan los resultados obtenidos entre los diferentes modelos de ML, con el objetivo de seleccionar dos modelos que se utilizarán para dar respuestas y analizar más en profundidad sus resultados. Una vez que se han seleccionado dos de los modelos, se obtendrá el peso de las variables en la obtención de los resultados. Tras ello, se hace un estudio de las métricas que se obtendrían dependiendo de las pruebas diagnósticas solicitas y, por último, se comparan los resultados obtenidos al aplicar lo modelos en las dos bases de datos. 5.3.1 Optimización y análisis de parámetros de los modelos de ML En primer lugar, se lleva a cabo una optimización de los parámetros de los algoritmos, para que den las mejores métricas posibles. La base de datos que se va a utilizar para la optimización de los algoritmos y la comparación de sus métricas va a ser “app_data” ya que contiene una label continua, “length_of_stay”, que va a permitir optimizar los algoritmos de regresión al mismo tiempo que los de clasificación binaria. Para los algoritmos de decisión binaria se utiliza el F1Score como métrica de optimización, ya que es el más representativo por incluir la Especificidad y la precisión positiva en su cálculo, véase la ecuación 18. Por otro lado, en los algoritmos de regresión se va a utilizar la métrica Error Cuadrático Medio (MSE), ya que nos permite analizar no solo que modelo presenta menos error total, sino que además permite penalizar aquellos errores grandes, véase la ecuación 21. 𝐹1 𝑆𝑐𝑜𝑟𝑒=2∗ 𝐸𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑑𝑎𝑑∗𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎 𝐸𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑑𝑎𝑑+ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎 Ecuación 18. Desarrollo F1 Score algoritmos de clasificación binaria 𝑀𝑆𝐸=1𝑛∑(𝑦𝑖−𝑦𝑖 ) 𝑛 𝑖=1 2 Customización de un sistema PLM para la gestión del ciclo de vida de patologías 64 Ecuación 21. Error cuadrático medio algoritmos de regresión Para la optimización de los parámetros, se dividen los modelos de ML en parejas. La mayoría comparten el algoritmo de ML que utilizan para el cálculo. El objetivo, no es más que agilizar el análisis y presentar los resultados de forma ordenada. Cada vez que se ejecuta el código de optimización de los modelos, descrito más en detalle en el subapartado 4.4.1, se utiliza un grid de valores para los diferentes parámetros y mediante una serie de bucles for anidados, se van entrenando y obteniendo las métricas de los resultados, con lo cual, el tiempo de ejecución del código suele ser bastante alto. A continuación, se presentan los resultados obtenidos para cada una de las parejas de modelos de ML, explicando en primer lugar los parámetros seleccionados a optimizar, así como una breve explicación de cada uno de ellos. 5.3.1.1 Optimización de los algoritmos LbfgslogisticRegression y LbfgsPoissonRegression Los parámetros que tienen una mayor influencia en el resultado de ambos algoritmos LbfgslogisticRegression y LbfgsPoissonregression son los siguientes: 1. MaximumNumberOfIterations: Determina el número máximo de iteraciones que el algoritmo lleva a cabo durante la fase de aprendizaje para la optimización. Sin embargo, si se configura con un valor muy alto, es posible que el tiempo computacional sea muy elevado, por ello siempre es importante llegar a un equilibrio. 2. OptimizationTolerance: Determina el nivel de tolerancia de optimización del algoritmo. Un valor bajo indica una mayor precisión de convergencia, pero también lleva a un mayor tiempo de entrenamiento. 3. L1Regularization: Este parámetro añade una regularización L1 (de Lasso) al modelo. Ayuda a la selección de variables penalizando el valor absoluto de los coeficientes. 4. L2 Regularization: Este parámetro incluye una regularización L2 (de Lasso) al modelo. Previene el overfitting penalizando el cuadrado de los coeficientes. En ambos casos, son exactamente los mismos parámetros ya que se basan en dos ecuaciones de regresión diferentes, pero los parámetros de control son los mismos. Los resultados obtenidos, se muestran a continuación: Parámetro Label tratamiento Label Severidad Label Diagnostico Maximum N iterations 50 100 100 OptimizationTolerance 0,0001 1,00E-06 1,00E-06 L1Regularization 0 0,01 0,01 L2Regularization 0,1 0 0 Tabla 9. Parámetros optimizados lbfgslogisticregression Parámetro Label tiempo_hospitalización Maximum N iterations 150 OptimizationTolerance 1,00E-06 L1Regularization 0,01 L2Regularization 0,01 Tabla 10. Parámetros optimizados lbfgspoissonregression 5. Aplicación apendicitis 65 De estos resultados hay que destacar dos puntos importantes: 1. Aunque, en un primer lugar, se podría intuir que un mayor número de iteraciones permite al algoritmo converger mejor, los mejores resultados no se han obtenido en ningún caso con el mayor número de iteraciones posibles, sino más bien valores más bajos. 2. Los valores de regularización son diferentes a 0, que es su valor por defecto, lo cual invita a pensar que están ayudando a reducir la posibilidad de overfitting. 5.3.1.2 Optimización modelos FastForestBinary y FastForestRegression La librería de ML.net presenta dos modelos basados en el algoritmo de RandomForest. Uno de ellos de clasificación binaria FastForestBinary y otro de regresión FastForestRegression Los parámetros que mayor importancia tienen en los resultados de los modelos son los siguientes: 1. NumberOfTrees: Este parámetro controla el número de árboles en el “bosque”. A mayor número de árboles, mayor precisión, sin embargo, aumenta en gran medida el tiempo de computación y el riesgo de “overfitting”. 2. NumberOfLeaves: Determina el número máximo de “hojas” por árbol. Es decir, el número máximo de nodos terminales. Cuanto mayor sea este parámetro, más información se puede capturar, pero al igual que el anterior, puede dar lugar a overfitting 3. FeatureFraction: este parámetro controla la fracción de las variables utilizadas a la hora de hacer el mejor split. Utilizando una fracción menor, puede reducir el overfitting y aumentar la robustez del modelo. Los valores que optimizan los resultados de los modelos son los que se muestran en las tablas 11 y 12 Parámetro Label Tratamiento Label Severidad Label Diagnostico Nº of trees 100 600 100 Feature Fraction 0,6 0,8 0,6 Number of leaves 20 20 20 Tabla 11. Parámetros optimizados fastforestbinary Parámetro Label tiempo_hospitalización Nº of trees 300 Feature Fraction 0,6 Number of leaves 50 Tabla 12. Parámetros optimizados fastforestregression Estos resultados muestran que el parámetro “Feature Fraction” permite unos mejores resultados ya que evita el overfitting en el caso del FastForest. De hecho, los peores resultados, se obtienen en todos los casos para FeatureFraction=1, pues el código también muestra los parámetros con los que se obtienen las peores métricas. Eso implica que existe una gran correlación entre las variables que se están utilizando. De hecho, se observará dicho fenómeno más adelante y se analizará con más detalle en el apartado 5.2.3 Customización de un sistema PLM para la gestión del ciclo de vida de patologías 66 5.3.1.3 Optimización modelos FastTreeBinary y FastTreeRegression Al igual que sucede con los modelos de FastForest, la librería ML.net presenta dos modelos basados en el algoritmo de árboles de decisión, uno de decisión binaria, FastTreeBinary y otro de regresión, FastTreeRegression. Los parámetros son exactamente los mismos que en el caso de los modelos FastForest y los parámetros que permiten obtener los mejores resultados del F1Score y 𝑅2, se muestran en las tablas 13 y 14 Parámetro Label Tratamiento Label Severidad Label Diagnóstico Nº of trees 200 200 100 Feature Fraction 0,6 0,6 0,6 Number of leaves 20 50 20 Tabla 13. Parámetros optimizados fastTreeBinary Parámetro Label tiempo_hospitalización Nº of trees 100 Feature Fraction 0,6 Number of leaves 50 Tabla 14. Parámetros optimizados fastTreeRegression Al igual que en el apartado anterior, el valor del parámetro Feature Fraction es 0.6 para todas las variables de salida. De nuevo, se obtienen mejores resultados al utilizar parámetros que previenen el overfitting 5.3.1.4 Optimización modelos SdcaLogisticRegression y Sdca En el caso del algoritmo de SDCA (Stochastic Dual Coordinate Ascent), la librería de ML.net permite su aplicación a modelos de clasificación binaria mediante SdcaLogisticRegression y de regresión mediante el modelo Sdca. Los parámetros por optimizar en este modelo son: 1. L1Regularization: Añade un parámetro de regularización L1 de la función de pérdida, promoviendo la dispersión en el peso de las variables. Puede ser muy útil para lidiar con datos con muchas dimensiones. 2. L2Regularization: Añade un parámetro de regularización L2 de la función de pérdida. Ayuda a prevenir el overfitting penalizado las variables cuyos pesos son grandes 3. MaxIterations: El número máximo de iteraciones 4. ConvergenceTolerance: Determina la tolerancia para la condición de parada de cálculo del algoritmo. Valores bajos dan lugar a soluciones más precisas, pero probablemente requieran más iteraciones. Los valores de los parámetros optimizados para las diferentes variables de salida,se encuentran en las tablas 15 y 16 5. Aplicación apendicitis 67 Parámetro Label Tratamiento Label Severidad Label Diagnóstico Maximum N iterations 100 50 150 OptimizationTolerance 0,001 1,00E-03 1,00E-03 L1Regularization 0,1 0,1 0,1 L2Regularization 1,00E-09 1,00E-02 0,1 Tabla 15. Parámetros optimizados SdcaLogisticRegression Parámetro Label tiempo_hospitalización Maximum N iterations 150 OptimizationTolerance 1,00E-01 L1Regularization 0.1 L2Regularization 0.1 Tabla 16. Parámetros optimizados Sdca De los resultados obtenidos se arrojan una serie de conclusiones: 1. Se observa, que para la variable de salida Tratamiento la optimización de la tolerancia es más baja, lo que indica la necesidad de una mayor precisión. 2. Para las variables Severidad se observa una tolerancia más alta y menos iteraciones, lo cual indica que este modelo converge más rápido 3. En el caso de la variable Diagnóstico, se observa un balance entre precisión y tiempo de cálculo 4. Valores intermedios de los parámetros L1 y L2 para Severidad y Diagnóstico indican una mayor necesidad de control de overfitting. 5.3.1.5 Optimización modelos LinearSvm y OnlineGradientDescent Por último, se genera lleva a cabo también la optimización para los parámetros de dos modelos completamente diferentes. En un primer lugar, el modelo LinearSvm, de clasificación binaria y que se basa en un algoritmo de Support Vector Machines lineal, siendo los parámetros más importantes: 1. Lambda: Es un parámetro de regularización que permite controlar el balance entre un error de entrenamiento y de testeo bajos. Un valor bajo de lambda se centra en minimizar el error durante el entrenamiento mientras que los valores altos, penalizan las variables con pesos grandes para evitar overfitting 2. NumberofIterations: Número de iteraciones del proceso de entrenamiento. Los valores optimizados de ambos parámetros se encuentran en la tabla [] Parámetro LabelTratamiento Label Severidad Label Diagnostico Nº of iterations 500 200 1000 Lambda 0,01 0,1 0,01 Tabla 17. Parámetros optimizados LinearSvm De estos resultados, se obtienen dos conclusiones, principalmente: Customización de un sistema PLM para la gestión del ciclo de vida de patologías 68 1. Para el tratamiento y diagnóstico el valor de lambda utilizado es más bajo, sugiriendo un enfoque en minimizar el error de entrenamiento, mientras que para la severidad se observa la necesidad de un mayor control del overfitting. 2. El número de iteraciones en el caso del Diagnóstico es mayor, lo que sugiere una mayor complejidad del modelo. En segundo lugar, se optimizan los parámetros del modelo OnlineGradientDescent, un modelo de regresión. Los parámetros de mayor importancia en este modelo son: 1. LearningRate: El tamaño del step para cada iteración del algoritmo de gradien descent. Una tasa de aprendizaje más baja permite al modelo converger más fácilmente, pero requiere más iteraciones. Por el contrario, un mayor step de aprendizaje disminuye el tiempo de aprendizaje, pero tiene el riesgo de overshooting de la solución óptima. 2. DecreaseLearningRate: Verdadero/Falso. Si está en verdadero, el modelo disminuye la tasa de aprendizaje a medidad que el modelo va aprendiendo con el objetivo de mejorar la convergencia 3. NumberofIterations: Número de iteraciones de entrenamiento Cabe destacar que a la hora de optimizar los parámetros para este modelo ha sido necesario hacerlo de forma manual en lugar de utilizando el grid, ya que el modelo es muy sensible a las variaciones de los parámetros y se ha tenido tenido que optimizar, parámetro a parámetro. Los valores de estos se encuentran en la tabla 18 Parámetro Label length_of_stay Nº of iterations 1000 LearningRate 0,1 DecreaseLearningRate true Tabla 18. Parámetros optimizados OnlineGradientDescent Estos resultados, donde el número de iteraciones es elevado y la tasa de aprendizaje decreciente está activada, indica que es necesario un enfoque cuidadoso a la hora de lograr la convergencia. De hecho, para valores bajos del número de iteraciones, estando la tasa de aprendizaje decreciente desactivada, el algoritmo no llegaba a converger. 5.3.1.6 Comparación mejores y peores resultados Una vez se tienes los parámetros óptimos, cabe la posibilidad de preguntarse si este primer proceso iterativo merece la pena. Es cierto, se trata de un proceso que consume mucho tiempo, no solo de ejecución, sino también de preparación para analizar las variables a optimizar y el rango en el que se encuentran cada una de ellas. Por ello, se ha añadido en el código una variable que al iterar en los bucles for anidados que guarda también los peores valores para las métricas de los modelos. De esta forma, se puede hacer una comparación objetiva de la variación que podría existir entre los valores de las métricas de los algoritmos, si la elección de los parámetros fuese totalmente aleatoria. En la tabla 19, se comparan las mejores y peores métricas para los modelos de clasificación binaria utilizados. Principalmente, se observan dos fenómenos a remarcar: 5. Aplicación apendicitis 69 1. La sensibilidad frente a los parámetros depende del algoritmo de ML. Es decir, el modelo LogisticRegression aunque presenta una mejora considerable entre sus mejores y peores resultados, no se puede comparar con el modelo SdcaLogisticRegression, donde se llegan a obtener resultados excelentes, frente a un valor nulo. Esto implica que el algoritmo Sdca, en comparación con el algoritmo de LogisticRegression, es mucho más sensible a la configuración de sus parámetros. 2. La sensibilidad frente a los parámetros depende también de la “Label” que se esté obteniendo. En concreto, se observa que la variación dentro de la “Label” Severidad, es mayor que en las otras. De hecho, una configuración incorrecta de los parámetros llega incluso a dar un valor nulo en los modelos linearSvm y SdcaLogisticRegression Por su parte, también se hace una comparativa para los modelos de regresión, pero en función de la métrica 𝑀𝑒𝑎𝑛𝑆𝑞𝑢𝑎𝑟𝑒𝑑𝐸𝑟𝑟𝑜𝑟 donde se observa también una variación de la sensibilidad frente a los parámetros en función del algoritmo. Véase la tabla 20. Label Tratamiento Label Severidad Label Diagnóstico Mejores métricas Peores métricas Mejores métricas Peores métricas Mejores métricas Peores métricas LogisticRegression 0,88 0,83 0,6 0,5 0,9 0,84 FastForest 0,84 0,81 0,7 0,62 0,78 0,7 SdcaLogisticRegression 0,88 0,83 0,67 0 0,86 0,79 FastTree 0,91 0,79 0,78 0,57 0,77 0,75 LinearSvm 0,88 0,83 0,67 0 0,83 0,8 Tabla 19. Comparativa mejores y peores métricas modelos clasificación binaria Label Tratamiento Mejores métricas Peores métricas PoissonRegression 7,16 7,73 FastForest 8,1 8,62 Sdca 4,9 5,26 FastTree 9,88 11,22 OnlineGradientDescent 5,08 5,15 Tabla 20. Comparativa mejores y peores métricas modelos regresión En definitiva, queda reflejada la importancia de llevar a cabo el proceso de configuración de los parámetros de los algoritmos previo a la obtención de resultados concluyentes o comparativas entre las métricas de los diferentes modelos. 5.3.2 Comparación resultados algoritmos Una vez se han optimizado los diferentes modelos, se procede a hacer una comparativa de los valores obtenidos para las métricas de los distintos modelos. Es decir, se van a representar gráficamente las columnas de mejores métricas de las tablas 19 y 20 La comparativa entre los modelos se basa en el 𝐹1𝑆𝑐𝑜𝑟𝑒 y se subdivide por variable de salida, ya que la actuación de los modelos de clasificación binaria varía en función de esta, véanse las figuras 26, 27 y 28. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 70 Figura 26. Comparativa F1 Score label Tratamiento modelos clasificación binaria Figura 27. Comparativa F1 Score label Severidad modelos clasificación binaria 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 F1Score Tratamiento fastForest linearSvm lbfgsLogReg sdcaLogReg fastTree 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 F1Score Severidad lbfgsLogReg sdcaLogReg linearSvm FastForest FastTree 5. Aplicación apendicitis 71 Figura 28. Comparativa F1 Score label Diagnostico modelos clasificación binaria Viendo estas imágenes se arrojan una serie de conclusiones 1. Por lo general, excepto para la variable de salida, “Tratamiento”, donde incluso obtiene el segundo mejor F1Score, el modelo LbfgsLogisticRegression es el que obtiene las mejores métricas. Esto nos da una idea de que los datos se ajustan bastante bien a la conjetura de linealidad y existe una relación lineal entre las variables de entrada y de salida 2. De entre las 3 variables de salida, para tratamiento y diagnóstico se obtienen los mejores resultados y para severidad, los peores. Lo cual indica que los parámetros y variables utilizados para esta última quizás deberían ser diferentes ya que en algunos modelos no se ajustan del todo bien a los datos de entrada. Además, todos los modelos obtienen un F1Score por debajo de 0.78, por lo tanto, quizás las variables que aparecen en la base de datos no sean los suficientemente buenas para describir la severidad 3. Dependiendo de la variable de salida, existen unos modelos que actúan mejores que otros, lo que lleva a pensar que sería conveniente ser capaz de variar el modelo a utilizar en función de la variable de salida. 4. Las métricas obtenidas son mejores que los resultados obtenidos por los índices de Alvarado y PAS (Pediatric Appendicitis Score), véase los resultados en la tabla 7. Esto supone una mejora a los métodos actuales de diagnosis de la apendicitis. Se lleva a cabo la misma comparativa para los modelos de regresión descritos en los subapartados anteriores, en este caso basados en el error cuadrático medio (MSE), véase la tabla 20. 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 F1Score Diagnostico fastTree fastForest LinearSvm SdcaLogReg lbfgsLogReg Customización de un sistema PLM para la gestión del ciclo de vida de patologías 78 Diagnostico Feature Change in F1Score Appendix_on_US -0,1017 Lower_Right_Abd_Pain -0,0036 Body_Temperature -0,0034 Migratory_Pain -0,0034 CRP -0,0031 Dysuria -0,0029 Ketones_in_Urine -0,0017 WBC_Count -0,0015 Loss_of_Appetite 0,001 Coughing_Pain -0,001 Tabla 32. Importancia variables en Diagnóstico FastForest, solo con variables pruebas de diagnóstico De entre las variables provenientes de pruebas diagnósticas, es la presencia del apéndice en el US, la que tiene un mayor peso a la hora de predecir la apendicitis, lo cual tiene sentido. 5.3.4 Análisis resultados en función de los procedimientos de referencia utilizados Dada la limitación en los recursos médicos, el alto precio de las pruebas diagnósticas y que el personal sanitario está saturado, es vital ahorrar lo máximo posible en los recursos necesarios para atender al paciente, sin disminuir, por supuesto la precisión en el diagnóstico. Por ello, sería de gran ayuda poder dotar al personal médico de las métricas de evaluación, previo a la solicitud del procedimiento de referencia. Es decir, si el médico está atendiendo a un paciente con presunción de apendicitis y quiere solicitar una prueba de orina y un ultrasonido, el algoritmo es capaz de dar previo a la petición de estos, el porcentaje de precisión que se obtendría si se solicitase cada una de las pruebas por separado o ambas a la vez. De esta forma, el médico es capaz de discernir si merece la pena pedir una u otra prueba. Por ello, se definen cinco casuísticas diferentes, en función de las pruebas diagnósticas que se soliciten del paciente, que se describen a continuación: a) Democlinical: Variables intrínsecas del paciente y de las pruebas diagnósticas realizadas por el médico a la entrada (15 variables) b) Democlinicalblood: Las mismas variables que en Democlinical, más las provenientes de una prueba sanguínea (23 variables) c) Democlinicalurine: Las mismas variables que en Democlinal más las relacionadas con una prueba de orina (18 variables) d) Democlinicalbloodurine: Mismas variables que en Democlinical, más las provenientes de las pruebas sanguíneas y de orina (29 variables) e) Democlinicalultrasonido: Mismas variables que en Democlinical, más las procedentes de una prueba de ultrasonido (43 variables) En este caso, se obtienen los resultados exclusivamente para el modelo LfbgsLogisticRegression y PoissonRegression. Se podría, seguir exactamente el mismo procedimiento para el resto de los modelos, pero con uno es suficiente para analizar los resultados. Véanse las tablas 33, 34, 35 y 5. Aplicación apendicitis 79 36 a continuación. Aquellos valores de las métricas resaltados en verde indican los mejores valores para cada uno de las variables de salida Diagnosis apendicitis Accuracy AUCScore F1 Score Negative Precision Negative Recall Positive Precision Positive Recall Democlinical 0,64 0,75 0,68 0,6 0,59 0,67 0,68 Democlinicalblood 0,74 0,84 0,78 0,74 0,63 0,74 0,83 Democlinicalurine 0,57 0,64 0,64 0,53 0,43 0,6 0,68 Democlinicalbloodurine 0,64 0,7 0,69 0,6 0,53 0,66 0,73 Democlinicalultrasonido 0,9 0,95 0,92 0,83 0,86 0,93 0,91 Todas las variables 0,86 0,92 0,9 0,83 0,76 0,88 0,92 Tabla 33. Comparativas resultados diagnosis en función de las pruebas de diagnóstico Severidad Accuracy AUCScore F1 Score Negative Precision Negative Recall Positive Precision Positive Recall Democlinical 0,88 0,83 0,53 0,92 0,95 0,6 0,47 Democlinicalblood 0,88 0,82 0,3 0,91 0,95 0,38 0,25 Democlinicalurine 0,89 0,88 0,52 0,92 0,95 0,57 0,47 Democlinicalbloodurine 0,89 0,88 0,52 0,92 0,95 0,57 0,47 Democlinicalultrasonido 0,83 0,76 0,35 0,91 0,89 0,33 0,36 Todas las variables 0,89 0,94 0,6 1 0,88 0,43 1 Tabla 34. Comparativas resultados severidad en función de las pruebas de diagnóstico Tratamiento Accuracy AUCScore F1 Score Negative Precision Negative Recall Positive Precision Positive Recall Democlinical 0,82 0,82 0,71 0,81 0,94 0,86 0,61 Democlinicalblood 0,78 0,79 0,66 0,81 0,86 0,71 0,62 Democlinicalurine 0,74 0,77 0,58 0,76 0,86 0,67 0,51 Democlinicalbloodurine 0,76 0,81 0,62 0,79 0,85 0,67 0,58 Democlinicalultrasonido 0,9 0,97 0,86 0,93 0,91 0,84 0,87 Todas las variables 0,9 0,97 0,87 0,98 0,88 0,79 0,96 Tabla 35. Comparativas resultados tratamiento en función de las pruebas de diagnóstico Length_of_stay Rsquared MeanAbsoluteError MeanSquaredError RootMeanSquaredError Democlinical 0,2 1,55 8,92 2,99 Democlinicalblood 0,13 1,73 10,79 3,28 Democlinicalurine 0,18 1,6 9,14 3,02 Democlinicalbloodurine 0,22 1,57 9,74 3,12 Democlinicalultrasonido 0,23 1,37 5,77 2,4 Todas las variables 0,07 1,49 7,25 2,69 Tabla 36. Comparativas resultados tiempo de hospitalización en función de las pruebas de diagnóstico Customización de un sistema PLM para la gestión del ciclo de vida de patologías 80 Cuando se analizan los resultados de todos los modelos de datos posibles, se observa un suceso bastante curioso. Los resultados obtenidos en el caso de utilizar todas las variables, excepto en el caso de la severidad, son peores que los que se alcanzan utilizando únicamente las variables intrínsecas y de diagnóstico junto con las del ultrasonido. Esto nos hace entender, que probablemente para el caso de querer conocer de forma rápida y eficaz si se trata de un caso de apendicitis quizás tenga sentido diagnosticar únicamente una prueba de ultrasonido si durante las primeras pruebas se prevé que se trate de una apendicitis. Probablemente se deba a que existe gran relación entre las variables utilizadas (Alvarado Score, Peso, PAS, etc) y de lugar a overfitting. 5.3.5 Comparativa resultados para ambas bases de datos Los modelos de ML desarrollados permiten obtener los resultados independientemente de la base de datos utilizada. El único requisito es que una de las columnas de este empiece por la palabra “Label”. Con el objetivo de analizar la influencia que tienen los datos de entrada en las métricas del algoritmo, se van a aplicar los modelos de lfbgsLogisticRegression y FastForest a la segunda base de datos descrita en el apartado 5.1.1 “patients_data”. Existen dos diferencias principales entre ambas bases de datos: 1. El número de variables de entrada en la base de datos “app_data” es bastante mayor que en el caso de “patients_data”, así como el número de pacientes 2. La base de datos “patients_data” no posee una variable de salida continua, consecuentemente no se puede comparar la actuación de los modelos de regresión y la comparativa se centra únicamente en los modelos de clasificación binaria para las tres labels: Diagnóstico, Severidad y Tratamiento Label Tratamiento Label Severidad Label Diagnostico "app_data" "patients_data" "app_data" "patients_data" "app_data" "patients_data" lfbgsLogReg 0,88 0,87 0,6 0,55 0,9 0,87 FastForest 0,84 0,85 0,7 0,64 0,78 0,73 Tabla 37. Comparativa resultados algoritmos aplicados en ambas bases de datos Por lo general, se observan mejores métricas de ambos modelos al ser aplicadas sobre la base de datos “app_data”. Esto se debe probablemente, al mayor número de entradas de este y al mayor número de variables. que permiten al algoritmo ajustarse mejor a las relaciones existentes entre las mismas. Esto hace indicar que a medida que la base de datos de los pacientes fue creciendo, los resultados de los modelos de ML mejorarían y se ajustarían mucho mejor. 81 6 CONCLUSIONES Y EXTENSIONES En este apartado se presentan, en primer lugar, las conclusiones a las que se ha llegado una vez presentado los resultados de este trabajo de fin de máster y, después, se presentan unas posibles extensiones, con el objetivo de continuar el desarrollo de este. 6.1 Conclusiones El presente trabajo de fin de máster ha abordado de manera exhaustiva el desarrollo e implementación de varios modelos de ML para el diagnóstico de apendicitis, incorporado en un sistema de PLM. A lo largo del trabajo, se ha demostrado que la integración de técnicas avanzadas de ML en sistemas médicos puede proporcionar mejoras significativas en la precisión y rapidez del diagnóstico, reduciendo así los errores médicos y mejorando los resultados clínicos para los pacientes. En primer lugar, los modelos de ML desarrollados han mostrado una alta precisión en la identificación de casos de apendicitis, superando a los métodos tradicionales basados únicamente en criterios clínicos y técnicas de imagen. No solo eso, sino que también propone el tratamiento, la severidad y el tiempo de hospitalización del paciente, lo que no era posible con los métodos tradicionales. La capacidad de la IA para analizar grandes volúmenes de datos y detectar patrones complejos no evidentes para el ser humano destaca el potencial de la IA para transformar el diagnóstico médico, permitiendo una detección más temprana y precisa de patologías. Además, estos modelos han demostrado una tasa de acierto significativamente mayor en pruebas comparativas reduciendo la incidencia de diagnósticos erróneos y mejorando la seguridad del paciente Además, la incorporación del modelo de ML en un sistema PLM ha permitido una gestión eficiente de los datos clínicos, facilitando el almacenamiento, procesamiento y análisis de grandes volúmenes de información. Además, los sistemas PLM han demostrado ser efectivos para garantizar la seguridad y accesibilidad de los datos del paciente, permitiendo una integración fluida con otros sistemas clínicos ya existentes Esto no solo optimiza el flujo de trabajo clínico, sino que también ofrece un marco estructurado para la recopilación y gestión de datos, lo cual es crucial para la mejora continua de los modelos de ML. Por último, la utilización de herramientas de ML ha demostrado ser económicamente más eficiente, reduciendo la necesidad de pruebas diagnósticas adicionales y acortando el tiempo de diagnóstico. La capacidad de los modelos de ML para proporcionar diagnósticos precisos en tiempo real reduce la carga de trabajo del personal médico, permitiendo una asignación más eficiente de los recursos hospitalarios. Esto no solo beneficia al sistema de salud en términos económicos, sino que también mejora la experiencia del paciente, minimizando el tiempo de espera y el estrés asociado a la incertidumbre diagnóstica. y aumentando la satisfacción de forma general A pesar de los beneficios observados, la implementación de tecnologías de ML en el ámbito clínico presenta varios desafíos. Entre ellos, se destaca la necesidad de grandes volúmenes de datos de alta calidad para el entrenamiento de los modelos, así como la resistencia al cambio por parte del personal médico, que puede mostrar reticencia a confiar en sistemas automatizados. Además, la integración con sistemas existentes y la aseguración de la interoperabilidad entre diferentes plataformas tecnológicas continúan siendo áreas de desarrollo cruciales. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 82 En este sentido, el entrenamiento eficaz de los modelos de ML depende en gran medida de la calidad y cantidad de datos disponibles. Datos incompletos, sesgados o de baja calidad pueden afectar negativamente el rendimiento del modelo. Es esencial implementar procesos robustos de recopilación y limpieza de datos para asegurar que los modelos sean precisos y generalizables. La creación de grandes bases de datos diversificadas, que incluyan datos de diferentes poblaciones y condiciones clínicas, es fundamental para el desarrollo de modelos robustos y fiables. A su vez, la integración de modelos de ML en el entorno clínico requiere que estos sean compatibles con los sistemas ya existentes de gestión de datos de salud. Las diferencias en los formatos de datos y los protocolos de comunicación entre sistemas podrían llegar a dificultar su interoperabilidad. Por otra parte, el uso de datos de pacientes para el entrenamiento y la implementación de modelos de ML plantea preocupaciones éticas y de privacidad. Es crucial asegurar que se cumplan todas las normativas y regulaciones de protección de datos, como el GDPR en Europa, y que los pacientes estén informados y consientan el uso de sus datos. Además, se debe garantizar la transparencia en cómo se utilizan estos datos y cómo se toman las decisiones automatizadas. 6.2 Extensiones futuras y recomendaciones Como recomendaciones futuras y posibles extensiones de este trabajo de fin de máster, con el objetivo de maximizar el impacto de los modelos de ML en el diagnóstico médico, se propone: • Ampliar las Bases de Datos Clínicos utilizadas: Incrementar la recopilación de datos clínicos de diversas fuentes para mejorar la precisión y generalización de los modelos de ML. Para ello, sería necesario fomentar la colaboración entre instituciones de salud para compartir datos y experiencias, creando un repositorio global, ya que hoy en día los sistemas de la sanidad privada y pública no se comunican, al igual que no lo hacen entre diferentes comunidades autónomas. • Ampliar las variables de salida de los modelos de ML: Se han tratado cuatro variables diferentes, pero podrían estudiarse posibles mejoras y alternativas a las mismas. Un ejemplo sería proponer el tipo de cirugía a realizar, laparoscopia o cirugía abierta, en caso de que fuese necesaria. • Aplicación a otras patologías similares: Los modelos de ML utilizados, no son específicos de la apendicitis. Además, el modelo de datos utilizado en el PLM es genérico a cualquier enfermedad. Por lo tanto, sería muy interesante analizar la aplicación a diferentes enfermedades y entender que algoritmos funcionan mejor en qué condiciones. En conclusión, la integración de modelos de ML en sistemas PLM representa un avance significativo hacia un diagnóstico médico más preciso, eficiente y accesible. A medida que estas tecnologías continúan evolucionando, es fundamental abordar los desafíos actuales y trabajar en conjunto para aprovechar al máximo su potencial en la mejora de la atención sanitaria. 83 7 BIBLIOGRAFÍA [1] Cope, Z. ABDOMINAL PAIN.º [2] Espejo, O. D., Mejía, M. E. M., & Guerrero, L. H. U. (2014). Apendicitis aguda: Hallazgos radiológicos y enfoque actual de las imágenes diagnósticas. Rev Colomb Radiol, 25(1), 3877-88. [3] Mahajan, P., Basu, T., Pai, C. W., Singh, H., Petersen, N., Bellolio, M. F., ... & Kamdar, N. S. (2020). Factors associated with potentially missed diagnosis of appendicitis in the emergency department. JAMA network open, 3(3), e200612-e200612. [4] Lluiz Hernández, E. A., Casado Méndez, P. R., Santos Fonseca, R. S., Méndez Jiménez, O., del Castillo Remón, I. L., & Labrada González, D. (2017). Cetonuria en el diagnóstico de la apendicitis aguda. MediCiego. [5] Cartwright, S. L., & Knudson, M. P. (2008). Evaluation of acute abdominal pain in adults. American family physician, 77(7), 971-978. [6] Haendel, M. A., Chute, C. G., & Robinson, P. N. (2018). Classification, ontology, and precision medicine. New England Journal of Medicine, 379(15), 1452-1462. [7] Hu, J., Huang, Z., Ge, X., Shen, Y., Xu, Y., Zhang, Z., ... & Cheng, G. (2024). Development and application of Chinese medical ontology for diabetes mellitus. BMC Medical Informatics and Decision Making, 24(1), 18. [8] Corrigan, D., Taweel, A., Fahey, T., Arvanitis, T., & Delaney, B. (2014). Design and implementation of an ontology for the computable representation of clinical prediction rules. EJBI, 10(1), 15-23. [9] Marcinkevics, R., Reis Wolfertstetter, P., Wellmann, S., Knorr, C., & Vogt, J. E. (2021). Using machine learning to predict the diagnosis, management and severity of pediatric appendicitis. Frontiers in pediatrics, 9, 662183. [10] Khumrin, P., Ryan, A., Judd, T., & Verspoor, K. (2017). Diagnostic machine learning models for acute abdominal pain: towards an e-learning tool for medical students. In MEDINFO 2017: Precision Healthcare through Informatics (pp. 447-451). IOS Press. [11] Rajpurkar, P., Park, A., Irvin, J., Chute, C., Bereket, M., Mastrodicasa, D., ... & Patel, B. N. (2020). AppendiXNet: deep learning for diagnosis of appendicitis from a small dataset of CT exams using video pretraining. Scientific reports, 10(1), 3958. [12] Boettcher, M., Günther, P., & Breil, T. (2017). The Heidelberg appendicitis score predicts perforated appendicitis in children. Clinical pediatrics, 56(12), 1115-1119. [13] Reismann, J., Romualdi, A., Kiss, N., Minderjahn, M. I., Kallarackal, J., Schad, M., & Reismann, M. (2019). Diagnosis and classification of pediatric acute appendicitis by artificial intelligence methods: An investigator-independent approach. PloS one, 14(9), e0222030. [14] Akmese, O. F., Dogan, G., Kor, H., Erbay, H., & Demir, E. (2020). The use of machine learning approaches for the diagnosis of acute appendicitis. Emergency Medicine International, 2020(1), 7306435. Customización de un sistema PLM para la gestión del ciclo de vida de patologías 84 [15] Aydin, E., Türkmen, İ. U., Namli, G., Öztürk, Ç., Esen, A. B., Eray, Y. N., ... & Akova, F. (2020). A novel and simple machine learning algorithm for preoperative diagnosis of acute appendicitis in children. Pediatric Surgery International, 36, 735-742. [16] Carolin Stiel, Julia Elrod y Michaela Klinke, «The modified Heidelberg and the AI Appendicitis Score Are Superior to Current Scores in Predicting Appendicitis in Children: A two-center cohort study», Noviembre 2020, Volumen 8, Artículo 592892 [17] Mijwil, M. M., & Aggarwal, K. (2022). A diagnostic testing for people with appendicitis using machine learning techniques. Multimedia Tools and Applications, 81(5), 7011-7023. [18] Lam, A., Squires, E., Tan, S., Swen, N. J., Barilla, A., Kovoor, J., ... & Khurana, S. (2023). Artificial intelligence for predicting acute appendicitis: a systematic review. ANZ Journal of Surgery, 93(9), 2070-2078. [19] Staniland, J. R., Ditchburn, J., & De Dombal, F. T. (1972). Clinical presentation of acute abdomen: study of 600 patients. Br Med J, 3(5823), 393-398. [20] Minderjahn, M. I., Schädlich, D., Radtke, J., Rothe, K., & Reismann, M. (2018). Phlegmonous appendicitis in children is characterized by eosinophilia in white blood cell counts. World Journal of Pediatrics, 14, 504-509. [21] Nakamura, M., Ikeda, Y., Nishimoto, A., Fujisaki, T., Ohtsuka, Y., Tomiyoshi, Y., ... & Fujisaki, N. (1999). Severe hypoglycemia and paralytic ileus caused by disopyramide in a hemodialysis patient. Nihon Toseki Igakkai Zasshi, 32(11), 1407-1411. [22] Sauerland, S., Jaschinski, T., & Neugebauer, E. A. (2010). Laparoscopic versus open surgery for suspected appendicitis. Cochrane Database of Systematic Reviews, (10). [23] Kehagias, I., Karamanakos, S. N., Panagiotopoulos, S., Panagopoulos, K., & Kalfarentzos, F. (2008). Laparoscopic versus open appendectomy: which way to go?. World journal of gastroenterology: WJG, 14(31), 4909. [24] Yadao, S., Lamture, Y., & Huse, S. (2022). Uses of antibiotics alone in case of uncomplicated appendicitis. Cureus, 14(8). [25] Habehh, H., & Gohel, S. (2021). Machine learning in healthcare. Current genomics, 22(4), 291. [26] COVID-19: Oregon Hospitals share data, create real-time bed capacity system, https://www.healthleadersmedia.com/innovation/covid-19-oregon-hospitals-share-data-create- real-time-bed-capacity-system, (Acceso 03/07/2024) [27] Boettcher, M., Breil, T., & Günther, P. (2016). The Heidelberg appendicitis score simplifies identification of pediatric appendicitis. The Indian Journal of Pediatrics, 83, 1093-1097. [28] Ge, Y., Wang, Q., Wang, L., Wu, H., Peng, C., Wang, J., ... & Yi, Y. (2019). Predicting poststroke pneumonia using deep neural network approaches. International journal of medical informatics, 132, 103986. [29] Nguyen, B. P., Pham, H. N., Tran, H., Nghiem, N., Nguyen, Q. H., Do, T. T., ... & Simpson, C. R. (2019). Predicting the onset of type 2 diabetes using wide and deep learning with electronic health records. Computer methods and programs in biomedicine, 182, 105055. 5. Aplicación apendicitis 85 [30] Rao, S. R., DesRoches, C. M., Donelan, K., Campbell, E. G., Miralles, P. D., & Jha, A. K. (2011). Electronic health records in small physician practices: availability, use, and perceived benefits. Journal of the American Medical Informatics Association, 18(3), 271-275. [31] Liu, J., Zhang, Z., & Razavian, N. (2018, November). Deep ehr: Chronic disease prediction using medical notes. In Machine Learning for Healthcare Conference (pp. 440-464). PMLR. [32] McKinney, S. M., Sieniek, M., Godbole, V., Godwin, J., Antropova, N., Ashrafian, H., ... & Shetty, S. (2020). International evaluation of an AI system for breast cancer screening. Nature, 577(7788), 89-94. [33] Esteva, A., Kuprel, B., Novoa, R. A., Ko, J., Swetter, S. M., Blau, H. M., & Thrun, S. (2017). Dermatologist-level classification of skin cancer with deep neural networks. nature, 542(7639), 115-118. [34] Alqudah, A. M. (2020). AOCT-NET: a convolutional network automated classification of multiclass retinal diseases using spectral-domain optical coherence tomography images. Medical & biological engineering & computing, 58(1), 41-53. [35] Faturrahman, M., Wasito, I., Hanifah, N., & Mufidah, R. (2017, October). Structural MRI classification for Alzheimer's disease detection using deep belief network. In 2017 11th International Conference on Information & Communication Technology and System (ICTS) (pp. 37- 42). IEEE. [36] Malone, B., Simovski, B., Moliné, C., Cheng, J., Gheorghe, M., Fontenelle, H., ... & Clancy, T. (2020). Artificial intelligence predicts the immunogenic landscape of SARS-CoV-2 leading to universal blueprints for vaccine designs. Scientific reports, 10(1), 22375. 20 [37] Lin, J., & Wong, K. C. (2018). Off-target predictions in CRISPR-Cas9 gene editing using deep learning. Bioinformatics, 34(17), i656-i663. [38] Duda, J., Oleszek, S., & Santarek, K. (2022, March). Product lifecycle management (PLM) in the context of industry 4.0. In International Scientific-Technical Conference MANUFACTURING (pp. 171-185). Cham: Springer International Publishing. [39] Ngo, T. N. (2018). A PLM based approach for supporting collaboration and knowledge management in the medical domain: Application to the treatment process requiring prosthesis implantation (Doctoral dissertation, École centrale de Nantes). [40] Li, Y., Wan, L., & Xiong, T. (2011). Product data model for PLM system. The International Journal of Advanced Manufacturing Technology, 55, 1149-1158. [41] Machine Learning Mastery. https://machinelearningmastery.com/types-of-learning-in- machine-learning/. (Acceso: 03/07/2024) [42] 14 Different types of Learning in Machine Learning. https://www.mathworks.com/discovery/machine-learning-models.html. (Acceso:03/07/2024) [43] ¿Qué es machine Learning?.https://www.sap.com/latinamerica/products/artificialintelligence/what-is-machine-learning.html (Acceso:03/07/2024) Customización de un sistema PLM para la gestión del ciclo de vida de patologías 86 [44] Entendiendo la curva ROC y el AUC, https://polmartisanahuja.com/entendiendo-la-curva-roc- y-el-auc-dos-medidas-del-rendimiento-de-un-clasificador-binario-que-van-de-la-mano/ . (Acceso:03/07/2024) [45] Random Forest algorithm explained. https://anasbrital98.github.io/blog/2021/Random-Forest/. (Acceso:03/07/2024) [46] Regression analysis: How do I Interpret R-Squared and assess the goodness-of-fit? https://blog.minitab.com/en/adventures-in-statistics-2/regression-analysis-how-do-i-interpret-r- squared-and-assess-the-goodness-of-fit (Acceso:03/07/2024) [47] Ciclo de vida del producto. https://www.qualtrics.com/es-la/gestion-de-la- experiencia/product/ciclo-de-vida-del- producto/#:~:text=El%20modelo%20se%20divide%20en,planificaci%C3%B3n%20de%20medida s%20de%20marketing. (Acceso:03/07/2024) 87 8 ANEXO: CÓDIGOS DE PROGRAMACIÓN En este Anexo, se muestran fragmentos de los códigos desarrollados. El objetivo principal es dar soporte a las explicaciones realizadas a lo largo de este trabajo de fin de máster. Cada uno de los fragmentos, viene precedido por una breve explicación de que es lo que se consigue con dichas líneas de código. // Carga de la base de datos en un Dataframe var dataFrame = DataFrame.LoadCsv(dataPath, separator: ';'); // Obtención del nombre de las columnas para obtener las variables de salida y de entrada de dicha base de datos var allColumnNames = dataFrame.Columns.Select(c => c.Name).ToArray(); // Se obtienen las columnas que serán las variables de salida, buscando aquellas que empiece por “Label” var labelColumnNames = allColumnNames.Where(name => name.StartsWith("Label")).ToArray(); // Identify feature columns (excluding label columns) var featureColumnNames = allColumnNames.Except(labelColumnNames).ToList(); // Construcción de la pipeline (utilización métodos oneHotEncoding, Concatenate y NormalizeMinMax var pipeline = mlContext.Transforms.Categorical.OneHotEncoding(oneHotEncodingColumns.ToArray()) .Append(mlContext.Transforms.Concatenate("Features", featureColumnArray2)) .Append(mlContext.Transforms.NormalizeMinMax("Features")); // Entrenamiento del modelo (con las mejores métricas) var bestTrainer = mlContext.BinaryClassification.Trainers.LbfgsLogisticRegression(bestOptions); var bestTrainPipe = pipeline.Append(bestTrainer); var bestModel = bestTrainPipe.Fit(trainData);