scieee Open visual document viewer

Automatización de diagnósticos mediante el uso de técnicas de Machine Learning

Sánchez Sánchez, Esdras

Abstract

El avance de los estudios realizados en el campo de la Inteligencia Artificial, así como su implementación directa en la industria está suponiendo un cambio inminente. En la industria aeronáutica la seguridad es un pilar fundamental. Los accidentes aéreos se producen debido tanto al factor humano como al fallo de la maquinaria. Aquí donde el Machine Learning tiene la oportunidad de detectar estos errores y mitigarlos. Algunas de las aplicaciones pueden ser usadas para predecir el mantenimiento de ciertas partes del avión, otras para liberar de carga de trabajo al piloto a la hora de tomar decisiones en situaciones de elevado estrés mediante la indicación por parte de la máquina de la acción más favorable que debe realizar. Mediante el empleo de estas técnicas se puede reducir potencialmente el número de accidentes. En una situación similar a la del piloto se encuentra la tarea de un médico, que también se encarga de proteger y salvar vidas, y para ello la toma de decisiones es fundamental. La motivación del presente trabajo es abordar problemas cercanos a las personas, del día a día. Esto se llevará a cabo mediante el empleo de técnicas de aprendizaje automático, también conocido como Machine Learning.

Full text

P oyec o Fin de Ca e a Ingenie ía de Telecomunicación Fo ma o de Publicación de la Escuela Técnica Supe io de Ingenie ía Au o : F. Ja ie Payán Some Tu o : Juan José Mu illo Fuen es Dep. Teo ía de la Señal y Comunicaciones Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2013 T abajo Fin de G ado G ado en Ingenie ía Ae oespacial Au oma ización de diagnós icos median e el uso de écnicas de Machine Lea ning Au o : Esd as Sánchez Sánchez Tu o : Ma ía Ángeles Ma ín P a s Dp o.Ingenie ía Elec ónica Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2021 T abajo Fin de G ado G ado en Ingenie ía Ae oespacial Au oma ización de diagnós icos median e el uso de écnicas de Machine Lea ning Au o : Esd as Sánchez Sánchez Tu o : Ma ía Ángeles Ma ín P a s P o eso Ti ula Dp o.Ingenie ía Elec ónica Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2021 T abajo Fin de G ado: Au oma ización de diagnós icos median e el uso de écnicas de Machine Lea ning Au o : Esd as Sánchez Sánchez Tu o : Ma ía Ángeles Ma ín P a s El ibunal nomb ado pa a juzga el abajo a iba indicado, compues o po los siguien es p o eso es: P esiden e: Vocal/es: Sec e a io: acue dan o o ga le la cali icación de: El Sec e a io del T ibunal Fecha: Ag adecimien os Amis pad es, po se mi pila incondicional, mi apoyo día as día y ansmi i me siemp e elicidad. Po enseña me alo es an impo an es como el espe o, la solida idad, la cons ancia y el abajo. Sois mi ejemplo a segui . A mi he mana, po se una pe sona ex ao dina ia en odos los sen idos. Sigue siendo como e es po que as a consegui odo lo que e p opongas. A Ca men, po habe e c uzado en el camino du an e es a a en u a y llena me de aleg ía día as día. Es o es solo el comienzo de odo lo que nos espe a. A mi amilia y amigos, muchas g acias. Al g upo docen e de la Uni e sidad y en especial a mi u o a Ma ía Ángeles, po habe me abie o los ojos y ayuda me a descub i mi pasión. Muchas g acias po odo el iempo y es ue zo que ha dedicado ha sido un place abaja con us ed du an e es e iempo. I Resumen El a ance de los es udios ealizados en el campo de la In eligencia A i icial, así como su implemen ación di ec a en la indus ia es á suponiendo un cambio inminen e. En la indus ia ae onáu ica la segu idad es un pila undamen al. Los acciden es aé eos se p oducen debido an o al ac o humano como al allo de la maquina ia. Aquí donde el Machine Lea ning iene la opo unidad de de ec a es os e o es y mi iga los. Algunas de las aplicaciones pueden se usadas pa a p edeci el man enimien o de cie as pa es del a ión, o as pa a libe a de ca ga de abajo al pilo o a la ho a de oma decisiones en si uaciones de ele ado es és median e la indicación po pa e de la máquina de la acción más a o able que debe ealiza . Median e el empleo de es as écnicas se puede educi po encialmen e el núme o de acciden es. En una si uación simila a la del pilo o se encuen a la a ea de un médico, que ambién se enca ga de p o ege y sal a idas, y pa a ello la oma de decisiones es undamen al. La mo i ación del p esen e abajo es abo da p oblemas ce canos a las pe sonas, del día a día. Es o se lle a á a cabo median e el empleo de écnicas de ap endizaje au omá ico, ambién conocido como Machine Lea ning. III Índice de Figu as 3.1 Modelo de eg esión lineal [8] 6 3.2 Visualización de e o es eg esión lineal [5] 7 3.3 Reg esión logís ica pa a de e mina la p obabilidad de ap oba un examen en unción de las ho as de es udio [9] 8 3.4 Ejemplo Suppo Vec o Machine lineal [10] 9 3.5 Es uc u a á bol de decisión [19] 10 3.6 KNN pa a clasi icación [7] 11 3.7 Mé odo del codo. Op imización del núme o de clus e s [25] 13 3.8 Si uación de la ed neu onal [13] 14 3.9 A qui ec u a ed neu onal [4] 15 3.10 Función de ac i ación escalón [18] 16 3.11 Función de ac i ación sigmoidea [18] 17 3.12 Función de ac i ación ec i icado [18] 17 3.13 Función de ac i ación angen e hipe bólica [18] 18 3.14 Reducción del alo de la unción de cos e as ealiza i e aciones [28] 19 3.15 MaxPooling [1] 20 3.16 A qui ec u a de la ed neu onal con olucional [27] 21 3.17 Ejemplo ma iz de con usión [17] 22 3.18 Ejemplos cu as ROC [32] 24 5.1 Rep esen ación g á ica de dis in os pacien es y la co espondien e clasi icación en cada g upo 33 5.2 Dis ibución esul ados de e aluación 36 5.3 P e isualización del da ase as la ca ga de da os 37 5.4 Ca ac e ís icas a iables de en ada pa a cánce benignos 37 5.5 Ca ac e ís icas a iables de en ada pa a cánce malignos 38 5.6 Explicación isual del g á ico de cajas 38 5.7 G á ico de cajas pa a las a iables del p oblema 38 5.8 Ma iz de co elación de las a iables 39 5.9 Di isión en conjun o de en enamien o y es ing 40 5.10 Ca ga de las lib e ías usadas pa a en ena el modelo 40 5.11 Análisis de esul ados 40 5.12 Visualización de imágenes I 42 5.13 Visualización de imágenes II 42 5.14 De e minación a iables nulas 43 5.15 Es udio de imágenes duplicadas 43 5.16 Dis ibución de casos según p oblema cu áneo 44 5.17 Código de escalado de las mues as 45 5.18 Mues as escaladas 45 5.19 A qui ec u a ed neu onal 46 5.20 A qui ec u a ed neu onal II 46 XI XII Índice de Figu as 5.21 Resumen ed neu onal 47 5.22 E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de epochs 47 5.23 E olución del e o de la ed neu onal a medida que aumen a el núme o de epochs 48 5.24 Ma iz de con usión 48 5.25 Ma iz de con usión inco ec a 49 5.26 Respues a de la aplicación 50 5.27 Respues a de la aplicación 50 5.28 Escalado de las imágenes 51 5.29 E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de epochs. Caso mejo ado 52 5.30 E olución del e o de la ed neu onal a medida que aumen a el núme o de epochs. Caso mejo ado 52 5.31 Ma iz de con usión 53 No ación ML Machine Lea ning IA In eligencia A i icial DL Deep Lea ning SV Ms Suppo Vec o Machines SVC Suppo Vec o Classi ie SV R Suppo Vec o Reg ession KNN K-Nea es -Neighbo , K-Vecinos más ce canos RNA Red Neu onal A i icial RNC Red Neu onal Con olucional TP T ue Posi i e, Ve dade o posi i o TN T ue Nega i e, Ve dade o nega i o FP False Posi i e, Falso posi i o FN False Nega i e, Falso nega i o XIII 1 In oducción La necesidad de au oma ización de p ocesos, de asis en es pa a la oma de decisiones y de p opo ciona p edicciones de dis in os p oblemas son las bases sob e las que se sus en a el p esen e abajo. Cada ez más, apa ece la necesidad de disminui el núme o de allos de sis emas y el ac o humano, y es po ello que la de ección de es os e o es con la su icien e an elación supone una g an en aja en odos los sen idos; an o económico, de segu idad como po supues o de salud. Es o se lle a a cabo con el amoso "Big Da a" y la In eligencia A i icial. Se comenza á con el es udio del es ado del a e de la In eligencia A i icial, más conc e amen e de la ama de Machine Lea ning. Den o del apa ado se habla á de cómo es as ecnologías es án aplicándose en la indus ia ae onáu ica y se comen a án alguno de sus ejemplos. El siguien e pun o se á el es ado del a e en el ámbi o de la medicina. Se a a án ambos sec o es debido a que son dos de los que ienen un con ac o más ce cano con la ida de pe sonas y el ac o humano juega un papel muy ele an e. Pos e io men e se habla á del Machine Lea ning y se explica án las écnicas que se usan pa a esol e es e ipo de p oblemas. Se di idi á el es udio en algo i mos de ap endizaje supe isado [ 24 ] y no supe isado, y el p ime o se di idi á en algo i mos de eg esión y de clasi icación. Den o de es e apa ado ambién se habla á del Deep Lea ning o Ap endizaje p o undo [ 23 ] que son algo i mos que simulan el uncionamien o del ce eb o humano. Seguidamen e se explica á cómo aplica la eo ía median e el uso del lenguaje de p og amación Py hon explicando cuáles son las lib e ías necesa ias pa a esol e es os p oblemas. Pa a pone es os conocimien os en p ác ica, se han enido que ealiza búsquedas de da os y pese a hace lo en p ime a ins ancia con bases de da os del sec o ae onáu ico, no se ha podido encon a nada que uese iable. Es o se debe p incipalmen e a que la mayo ía de emp esas del sec o aún es án comenzando a aplica es e ipo de ecnologías y no ienen una can idad de da os su icien es o si alguna ya lo iene, no es á disponible. O a opción que se plan eó ue hace uso de algún simulado de uelo, pe o inalmen e se concluyó que es o no e a una buena opción debido a la inexpe iencia pa a usa el so wa e. La consecuencia que es o end ía es que no se pod ía simula lo que un pilo o ha ía en dis in as si uaciones y lo que in e esa es ob ene da os de pilo os expe imen ados pa a que así la máquina ap enda de las dis in as si uaciones que ocu en du an e un uelo y cómo ac úa el pilo o. Po lo que si lo hace una pe sona sin expe iencia el a ión no ola á de o ma co ec a y po an o no se ían álidos los da os ob enidos. Aunque la me odología que se a a emplea es aplicable en cualquie sec o (ya que se a a de aplica algo i mia a un conjun o de da os), debido a la es echa elación que gua dan los p oblemas del sec o sani a io con a iación en la oma de decisiones en si uaciones con ele ado es és, y debido a que se han encon ado da os de mayo e acidad, se ha decidido que los casos p ác icos es én o ien ados a la salud. El p ime o ellos se a a á de un p oceso de clasi icación de pacien es según el es ado de g a edad as su i una ampu ación, pa a que de es a o ma se pueda aplica el p o ocolo de asis encia que más a o ezca a su es ado de salud. Seguidamen e se de e mina á la p obabilidad que un pacien e con unas de e minadas ca ac e ís icas padez- ca o no cánce de mama. Como úl imo caso, se es udia á el análisis de lesiones cu áneas median e el empleo de écnicas de a amien o de imágenes. Pa a inaliza , se analiza án las dis in as conclusiones ob enidas a lo la go del abajo, así como las líneas u u as en las que se pod ía con inua abajando. 1 2 Es ado del A e In eligencia A i icial La in eligencia a i icial de inida como la in eligencia de las máquinas, es á siendo el pila undamen al del p og eso ecnológico de la indus ia e incluso de nues o día a día, y es o iene impulsado po un uso e icien e de los da os. Además, a día de hoy no es necesa io almacena es os da os en un luga ísico debido al a ance en las ecnologías cloud que pe mi en acele a la e olución ecnológica. El obje i o p incipal que iene es a Ciencia del Da o es a pa i de algo i mos pode oma decisiones, lo que se pod ía llama ciencia de decisión. A con inuación, se habla á de dos indus ias en las que es as écnicas es án p esen es. 2.1 Indus ia Ae oespacial La aplicación de écnicas de in eligencia a i icial en el sec o ae oespacial es algo inminen e pese a que como an e io men e se ha comen ado, las emp esas lo es án lle ando a cabo desde hace muy poco iempo. Todos los senso es que iene cada a ión gene an una g an can idad de da os po segundo lo cual pe mi e gene a una g an base de da os pa a pos e io men e u iliza la aplicando algo i mos p edic i os. Con es a in o mación se pod ía de e mina con una al a p ecisión el momen o en el que un senso dejase de unciona . O o obje i o undamen al que end ían es as écnicas, se ía la de e minación de man enimien o de dis in os sis emas, subsis emas o elemen os. De es a mane a se educi ían los cos es ya que se end ía conocimien o de la p obabilidad que iene un de e minado sis ema de alla y pe mi i ía a los ope a ios ac ua en consecuencia. Emp esas como Rolls Royce [ 26 ] u ilizan es e ipo de écnicas pa a ap o echa los da os que gene a el mo o en uncionamien o pa a que si en algún momen o se de ec a algo que es á ue a de lo común, se pueda ac ua con la mayo apidez posible. O o ejemplo sin duda muy elacionado con lo que pos e io men e se e á en el caso de medicina, es la capacidad de elimina si uaciones que puedan supone al pilo o un ele ado es és. Igual en un u u o se e án a iones olando sin pilo o ya que se á odo manejado po un supe compu ado , pe o has a que llegue ese momen o (si inalmen e ocu e), se iene que busca una solución al p oblema de que una g an pa e de los acciden es se deben al allo humano. Es o puede se debido a que psicológicamen e haya días en los que no se ealice el checklis po comple o, o que no se engan los mismos e lejos, y es po eso que un g an apo e se ía la implemen ación de un asis en e que pe mi iese elimina es a ca ga cogni i a al pilo o pa a acili a así su labo . Un ejemplo de es e ipo de p oyec o es Ha is, en el cual pa icipa la emp esa se illana Skyli e Enginee ing [ 30 ]. Es e p oyec o eu opeo consis e en es ablece un "single pilo ", es deci , que en la cabina haya un único pilo o y una compu ado a que median e el ap endizaje a a és de nume osos uelos, ap endiendo de las acciones que ealza el pilo o, pueda asis i de iniendo cuál es la acción más a o able a ealiza . En de ini i a, se a a de un asis en e que ha ap endido lo que un pilo o hace en las dis in as ases de un uelo g acias a que ha sido en enado po pilo os con g an expe iencia, y de es a o ma en cualquie si uación pod á da indicaciones ace ca de la a ea que se iene que ealiza . O a aplicación que end á un g an uso en el u u o debido al aumen o en el núme o de uelos que se iene p e is o, se á la op imización de las ayec o ias [ 11 ]. Es o es de i al impo ancia pa a los momen os en los que haya una ele ada conges ión del á ico ya que el algo i mo op imiza á la u a de los dis in os ehículos e i ando posibles acciden es. 3 4Capí ulo 2. Es ado del A e In eligencia A i icial 2.2 Medicina En el caso de Medicina la mayo aplicación que iene es en medicina p edic i a. Pa a que se pueda p edeci si un pacien e con cie as ca ac e ís icas iene una de e minada en e medad, es necesa io con a con un g an olumen de da os de egis os que se engan de pacien es p e ios de los cuales se conozcan una se ie de ca ac e ís icas y se haya ob enido un diagnós ico en unción de es as en adas. Pa a que es o sea posible es undamen al lle a a cabo un p oceso de digi alización. De es a mane a, el hospi al o cen o de salud end á egis ado a odos los pacien es de modo que es én p esen es en o ma o digi al y así el sis ema pueda alimen a se de es a in o mación y pode lle a a cabo un algo i mo p edic i o que sea e icaz. En de ini i a, la máquina ap ende á de los diagnós icos que hacen los médicos pa a que cuando se hayan egis ado una can idad su icien e de pacien es, el algo i mo ac úe con una asa de acie o ele ada o lo que es lo mismo, que ome la misma decisión que hubiese omado un especialis a. En es e abajo se p esen a án una se ie de casos en los que es o se pone en p ác ica. Un pun o muy posi i o es que dado que el algo i mo lo que lee son ca ac e ís icas de los pacien es (bien sean numé icas o imágenes), se pod á adelan a a la apa ición de esa en e medad y así ac ua de mane a que, al hace lo p e io a la apa ición de o ma g a e del p oblema, la ecupe ación sea más ápida y el pacien e co a el meno iesgo posible. O o pun o a a o de es o es pa a aquellos médicos que hayan e minado sus es udios y comiencen a abaja . La expe iencia que el algo i mo iene as miles o decenas de miles de pacien es (cuan os más mejo ) ayuda án en cuan o a la oma de decisión de un diagnós ico más ce e o y un a amien o co ec o. Se ha hablado ya de p e ención de en e medades, lo cual es muy in e esan e po las azones que se han expues o. O a aplicación que iene la in eligencia a i icial en medicina es la asignación de un a amien o a un pacien e [ 20 ]. Un pacien e con unos de e minados sín omas end á que se ece ado con una medicación. Si se u iese el egis o de los pacien es a los que se les ha ece ado una medicación dada una se ie de ca ac e ís icas p esen adas, se almacenase haciendo uso de las ecnologías Big Da a y se aplicase el algo i mo p edic i o de Machine Lea ning más adecuado, se conoce ía el medicamen o que el pacien e necesi a, así como las dosis que se ían adecuadas. Se a a ía de un p oceso de au oma ización y oma de decisiones que ayuda ía a abaja a los médicos. Todo es o concluye a que se p e é un u u o en el que el obje i o se á desa olla apli- caciones cen adas en la salud del pacien e y pode así ene una a ención médica más pe sonalizada y e ec i a. El obje i o de la medicina de p ecisión [ 22 ] es selecciona a amien os que engan más p obabilidad de ayuda a pacien es de acue do a su gené ica. Es o se conoce ambién como medicina pe sonalizada. El p oblema que exis e a día de hoy es que una pe sona a la que se le diagnos ica un cánce , es a ada del mismo modo que o a pe sona que p esen a el mismo ipo y es adio de cánce . Es o es un p oblema debido a que cada indi iduo esponde de o ma di e en e. Los pacien es p esen an a iaciones gené icos que hace que la espues a al a amien o sea dis in a. El obje i o p incipal de la medicina de p ecisión es que con las p uebas gené icas que se ealicen y median e un algo i mo p edic i o, se pueda de e mina qué a amien o es el que iene una mayo p obabilidad de cu a un umo . 3 Machine Lea ning Se de ine la modelización p edic i a como un conjun o de algo i mos de la ama de la es adís ica que cuando se aplican a da os his ó icos es capaz de de ol e una unción ma emá ica que iene que se ú il pa a esol e un de e minado p oblema [ 12 ]. En de ini i a, se busca p edeci un esul ado basándose en una se ie de pa áme os de en ada sob e los que nues o modelo ope a y p edice de modo que en el u u o cuando se engan nue os da os de en ada, la salida del algo i mo pe mi a oma decisiones. La es adís ica juega un papel muy ele an e; dice el olumen de los da os, cómo es án dis ibuidos (si hay un alo cen al o si en cambio los da os es án dispe sos), si exis e co elación en e a iables o si son independien es. En gene al la es adís ica ayuda a esponde a es as y muchas más cues iones. Los algo i mos gene a án ecuaciones ma emá icas basados en da os his ó icos que ayuda án a p edeci da os a pos e io i. Se pueden clasi ica en dos g andes g upos. 3.1 Algo i mos de ap endizaje supe isado Los algo i mos de ap endizaje supe isado abajan con da os e ique ados, in en ando encon a una unción que, dadas las a iables de en ada les asignen la e ique a de salida adecuada. Dicho algo i mo se en ena con un "his ó ico" de da os y así "ap ende" a asigna la e ique a de salida adecuada a un nue o alo , es deci , p edice el alo de salida. De los algo i mos que se e án a con inuación, algunos se usa án pa a clasi icación, o os pa a eg esión y algunos pa a ambos. En los p oblemas de clasi icación se a a á de asigna la nue a mues a en una clase. Po ejemplo, un eloj in eligen e cuando clasi ica la ac i idad que la pe sona es á ealizando end ía que escoge en e anda , co e , mon a en bicicle a... O o ejemplo pod ía se si la acción de una de e minada emp esa subi á o no. Po o o lado, en los algo i mos de eg esión la salida es un alo numé ico. Algunos ejemplos pod ían se en cuán o es á alo ada una p opiedad, de e mina el núme o de en as que una panade ía a a ene en un día o el iempo que un clien e a a pe manece en una emp esa, son algunas de las aplicaciones que ienen es os algo i mos. •Reg esión: Reg esión Lineal, SVMs, Á bol de decisión, Redes neu onales. •Clasi icación: Reg esión Logís ica, SVMs, Á bol de decisión, Redes neu onales. 5 12 Capí ulo 3. Machine Lea ning 3.2 Algo i mos de ap endizaje no supe isado Es os algo i mos abajan sin a iables de salida de los da os his ó icos. El ap endizaje no supe isado iene luga cuando no se dispone de da os "e ique ados" pa a el en enamien o. Sólo se conocen los da os de en ada, pe o no exis en da os de salida que co espondan a un de e minado inpu . Po an o, sólo se puede desc ibi la es uc u a de los da os pa a a a así de encon a algún ipo de o ganización que simpli ique el análisis. Po ello, ienen un ca ác e explo a o io. 3.2.1 Clus e ing Es un algo i mo que ca ego iza las en adas del da ase en clus e s o segmen os donde las en adas que pe enecen a un mismo clus e son simila es. En de ini i a: • Se busca ag upa los da os que p esen en semejanzas en e los miemb os del clus e (que sean pa eci- dos). • Los da os que pe enezcan a g upos di e en es, deben ene asgos su icien emen e di e en es en e sí. Po ejemplo, a la ho a de ealiza campañas de ma ke ing, si se ienen dis in os clus e o g upos de clien es iden i icados se pod á ealiza una campaña especí ica pa a cada uno de ellos. Exis en di e sos ipos de segmen ación, y pa a ello se e án a con inuación dis in os modelos u ilizados pa a medi la simili ud y di e encias. Dis ancia Euclídea Como se ha dicho an e io men e, es undamen al conoce la simili ud que hay en e los pun os de modo que es o pe mi a clasi ica el nue o da o en un de e minado g upo. Pa a pode ealiza es a medición, se hace uso de la dis ancia y aunque hay dis in as o mas de medi la, se a a explica la dis ancia euclídea. Siendo x las a iables de en ada de cada pun o de cada se , se de ine la dis ancia en e un pun o y o o como sigue: D(xi,xj) = q(xi1−xj1)2+(xi2−xj2)2+... +(xin −xjn)2=sn ∑ k=1 (xik −xjk)2(3.15) Como se puede obse a , nes el núme o de columnas del da a se . Clus e ing K-Means Es e algo i mo no supe isado [ 6 ] pe mi e di idi un núme o de obse aciones en de e minados g upos. En p incipio, el núme o de g upos "k" se á conocido, pe o ambién se e á que exis e una mane a de op imiza el núme o de clus e s o g upos que se conoce como el mé odo del codo. Se de inen los cen oides del clus e o g upo como el pun o medio de la nube de pun os que lo de ine. Con espec o a es e pun o se medi á la dis ancia. El p oceso que lle a á a cabo el modelo es el siguien e: SSw(Cj) = ∑ x∈Cj (x−cj)2(3.16) Una ez se incluye un nue o pun o al clus e , hay que ol e a calcula el cen oide debido a que el "cen o de masas" hab á a iado. Pa a ello se aplica lo siguien e: Se SW= k ∑ j=1 SSW(Cj) ∑n i=1(xi−x)2(3.17) Se epe i án sucesi amen e es os dos úl imos pasos has a que ya no se pueda a ia el cen oide. El obje i o es educi la dis ancia in aclus e SSW. La ecuación po an o a minimiza se á como sigue: SSW(k) = k ∑ j=1 SSw(Cj) = k ∑ j=1 ∑ x∈Cj (x−cj)2(3.18) Donde como se ha dicho an es: •k : núme o de clus e s. •xi: mues a i-ésima. 3.2 Algo i mos de ap endizaje no supe isado 13 •cj: cen oide del clus e j-ésimo. A con inuación, se a a habla de cómo encon a el alo óp imo de k , que es una de las pa es más di íciles a la ho a de elabo a un algo i mo po K-Means. A con inuación, se p esen a á el mé odo del codo . Figu a 3.7 Mé odo del codo. Op imización del núme o de clus e s [25]. Es e iden e que al aumen a el núme o de clus e s, la dis ancia in a-clus e disminui á paula inamen e. El caso ex emo se ía que se u ie an an os clus e s como pun os en el da ase y po an o la dis ancia se ía nula. Es a écnica se denomina mé odo del codo debido a que en casi odos los casos suele habe una a iación máxima donde se obse a que la cu a as ese pun o dec ece más len amen e que en los pun os an e io es y p ác icamen e se es abiliza la cu a. En el caso de la imagen el pun o en el que es o ocu e es en k=3 . En consecuencia, ese pun o se ía el que ma ca ía el núme o de clus e s que se debe ía oma . 14 Capí ulo 3. Machine Lea ning 3.3 Deep Lea ning El pione o del ap endizaje p o undo o ed neu onal es Geo ey Hin on. Fue el que comenzó a es udia es a ama del Machine Lea ning y ac ualmen e se encuen a abajando en el depa amen o de In eligencia A i icial de Google. Mucha de la in o mación que se encon a á en adelan e se undamen a en es udios que ealizó Geo ey y se pueden consul a en sus pape s. Figu a 3.8 Si uación de la ed neu onal [13]. Se puede obse a en la imagen an e io cómo el Deep Lea ning es una ama del Machine Lea ning, y és e a su ez una ama de la In eligencia A i icial. La p incipal di e encia que exis e en e los algo i mos de Machine Lea ning y Deep Lea ning es que es os úl imos de ec an po sí mismos las dis in as ca ac e ís icas de los da os. En aquellos p oblemas de clasi icación de imágenes, las edes neu onales son capaces de de e mina cuáles son los asgos más ca ac e ís icos que les pe mi i án ealiza una clasi icación con un ele ado po cen aje de acie o. En cambio, al algo i mo de Machine Lea ning se le end ía que deci cuáles son es as ca ac e ís icas. Po ejemplo, en el caso de un ehículo, se le end ía que deci que iene uedas, pue as, espejos... Y sin emba go la ed neu onal lo de ec a ía sin necesidad de que se le indicase. Si uese un p oblema con a iables numé icas o ca egó icas, la ed neu onal se enca ga ía de da más o menos impo ancia a las a iables ( a iando su peso) pa a así ob ene el mejo modelo. La idea de ás del ap endizaje p o undo es simula al ce eb o humano y hace uso de la neu ociencia pa a es ablece dichas leyes que igen dicho uncionamien o. La endencia que ienen las neu onas en el ce eb o humano es conec a se en e ellas, ya que po sí mismas no ienen u ilidad. En un ce eb o humano exis en al ededo de 100.000 millones de neu onas jun as. 3.3 Deep Lea ning 15 La a qui ec u a ípica de ed neu onal es como sigue: Figu a 3.9 A qui ec u a ed neu onal [4]. •Capa de en ada: son los inpu s o a iables de en ada. •Salida: es la p edicción que se quie e ealiza . • Capas ocul as: nodos in e medios que son las neu onas que conec a y ansmi e la in o mación de la en ada a la salida. Puede habe más de una capa ocul a. Aquí es donde se ealiza el ap endizaje. 16 Capí ulo 3. Machine Lea ning 3.3.1 RNA: Red Neu onal A i icial Ya se ha de inido an e io men e la a qui ec u a de la ed neu onal. Aho a se a a p ocede a explica la ed neu onal a i icial, la cual es un algo i mo de Machine Lea ning supe isado. Un de alle a ene en cuen a es que, en la capa de en ada, los dis in os inpu s que se engan deben es a odos en el mismo ango pa a que el algo i mo no enga p e e encia po ninguna de es as a iables. Es o se puede lle a a cabo median e la es anda ización. El alo de salida puede se an o un alo con inuo como un alo ca egó ico dependiendo del p oblema que se es é es udiando. En el caso de que sea ca egó ico, se end án dis in os alo es de salida y cada uno de ellos se á la ca ego ía que se es á a ando de asigna . •P ime paso : la neu ona a a ponde a cada a iable de en ada median e la aplicación de dis in os pesos a cada una de ellas: m ∑ i=1 wixi(3.19) La ed neu onal ap ende á ajus ando los dis in os pesos. •Segundo paso : una ez se enga la suma ponde ada se aplica á una unción de ac i ación que se i á pa a sabe si la in o mación de esa neu ona se iene que ansmi i o en su de ec o (al no se muy buena), que es a in o mación no se ansmi a a la siguien e capa. Depende á en algunos casos de la unción de ac i ación si la neu ona ansmi e o no dicha in o mación. •Te ce paso: la ansmisión de dicha in o mación. El pode que iene la ed neu onal es que cada neu ona en ende á los da os a su modo. La sinapsis, que es la línea que unen da os con neu onas, pe mi e ansmi i la in o mación que ealmen e in e ese a la neu ona. La unción de ac i ación La unción de ac i ación decide si la in o mación ob enida po la neu ona as ealiza la ponde ación iene que se ansmi ida o no. Exis en dis in as unciones de ac i ación y a con inuación se habla á de cua o de ellas. Función escalón La unción escalón c ea un sal o en o no al alo 0 de o ma que si al hace el suma o io de la mul iplicación de los pesos de la ed neu onal po cada una de las a iables sale nega i o, la unción de ac i ación oma á el alo nulo. En cambio, si el suma o io es posi i o, la unción escalón oma á el alo uni a io. Figu a 3.10 Función de ac i ación escalón [18]. Función sigmoide La unción que de ine dicha ac i ación iene dada como sigue: φ(x) = 1 1+e−x(3.20) x= m ∑ i=1 wixi(3.21) 3.3 Deep Lea ning 17 Se puede obse a que pa a el alo del suma o io nulo, la unción de ac i ación oma el alo φ=0.5 . Con es a unción se puede de ini la p obabilidad que iene una neu ona de ac i a se. Además, la ó mula es igual que la de la eg esión logís ica. Figu a 3.11 Función de ac i ación sigmoidea [18]. Función ec i icado a En el ec i icado lineal uni a io (RELU). Se puede obse a que la mi ad de la unción es o almen e nula mien as que la o a mi ad c ece de mane a lineal. Es una de las unciones más popula es pa a edes neu onales a i iciales ya que al igual que ocu ía en la unción escalón, odo aquello que sea nega i o lo con ie e en nulo. Po o o lado, odo lo posi i o se queda al cual queda el esul ado de la ponde ación, y esa es la azón po la cual el alo de φ a ía en e el alo nulo y el máximo de ∑m i=1wixi. Figu a 3.12 Función de ac i ación ec i icado [18]. 18 Capí ulo 3. Machine Lea ning Función angen e hipe bólica Tiene una o ma muy simila a la sigmoidea pe o es a unción comienza en −1 y llega has a el alo posi i o uni a io. Figu a 3.13 Función de ac i ación angen e hipe bólica [18]. Función so max La unción so max ambién conocida como la unción exponencial no malizada, es una gene alización de la unción logís ica usada pa a múl iples dimensiones. Se u iliza no malmen e como la úl ima unción de ac i ación en una ed neu onal pa a así no maliza la salida de la ed pa a que se ob enga la dis ibución de p obabilidad. De es a o ma la salida de es a unción es a á siemp e den o del in e alo (0,1) . Se de ine de la siguien e o ma: σ(z)i=ezi ∑K j=1ezj(3.22) Se da pa a i=1,...,Kyz= (z1,...,zK)en el in e alo ∈RK Cabe des aca ambién que cada neu ona puede ene una unción de ac i ación di e en e y de es a o ma il a la in o mación a su mane a. Es bas an e usual u iliza en la capa de salida la unción sigmoidea debido a que como se ha explicado an e io men e, es a unción pe mi i ía conoce qué an p obable es que la salida pe enezca a una u o a clase o qué an p obable es que la salida ome un de e minado alo . Mé odo de ap endizaje de las edes neu onales Una ez ejecu ada la ed neu onal y ob enido el alo de salida, ˆy se compa a á con el esul ado eal y . Se de ine la unción de cos es como sigue: C=1 2(ˆy−y)2(3.23) El obje i o se á minimiza dicha unción de cos es. Pa a consegui lo, lo único que la ed neu onal puede hace es a ia el alo de los pesos que mul iplica a cada a iable. Se a a de un abajo de ida y uel a cons an e co igiendo los pesos. 3.3 Deep Lea ning 19 G adien e descenden e Ya se ha adelan ado an e io men e que el obje i o que iene oda ed neu onal es disminui el alo de la unción de cos es. Es po ello que se a a habla aho a del g adien e descenden e. Lo p ime o y más impo an e, pa a que la solución con e ja, la unción de cos es iene que se con exa. Se busca el mínimo global de la unción. Figu a 3.14 Reducción del alo de la unción de cos e as ealiza i e aciones [28]. El g adien e se de ine como la angen e a la cu a y se calcula median e la de i ada. Si la pendien e es nula se es a ía en el mínimo, luego ya hab ía con e gido el algo i mo. En aquellas si uaciones en las que la unción de cos es no sea con exa y exis an luc uaciones es más aconsejable hace uso del g adien e es ocás ico. En es e caso se busca el mínimo de la unción de cos es, pe o no necesa iamen e se á el mínimo global. En enamien o Red Neu onal A i icial •Paso 1: inicializa los pesos de las a iables de en ada de o ma alea o ia con alo es p óximos a 0. •Paso 2 : in oduci el p ime pun o del da ase en la capa de en ada. Como se ha dicho an e io men e, cada nodo de en ada es una de las columnas del da ase . •Paso 3 : se p opaga de izquie da a de echa. Las neu onas se i án ac i ando de acue do a las unciones de ac i ación y se ob end á la p edicción. •Paso 4: se compa a la p edicción ob enida con el esul ado eal. Se mide el e o . •Paso 5: se p opaga el e o hacia a ás pa a que de es a o ma se puedan ac ualiza los pesos. •Paso 6 : se epi en los pasos del 1 a 5 pa a cada una de las obse aciones del da ase y se ac ualizan los pesos. •Paso 7 : una ez se ha ba ido odo el da ase , se uel e a epe i el p oceso el núme o de eces que más in e ese median e la a iación del núme o de epochs. 20 Capí ulo 3. Machine Lea ning 3.3.2 Red Neu onal Con olucional Los algo i mos de edes neu onales de con olución [ 2 ] son los u ilizados po excelencia pa a el a amien o de imágenes ya que son capaces de iden i ica las ca ac e ís icas más impo an es que la de inen sin necesidad de que se indique. Se suminis a á una imagen y el algo i mo da á la salida que nos indique a qué ca ego ía pe enece la imagen. La ed neu onal con olucional a a á de ob ene asgos de las imágenes. Un ejemplo muy sencillo se ía en ia imágenes ca ego izadas como ga os y pe os de al mane a que cada imagen iene una e ique a asignada. T as a a con g an can idad de ejemplos de cada una de es as clases, la RNC hab á iden i icado los asgos más ca ac e ís icos de cada una de las dos especies de modo que cuando se le pase una nue a imagen ya sea de un pe o o de un ga o, és a sea capaz de clasi ica la co ec amen e. Lo p ime o que hay que ealiza an es de suminis a da os a la ed, es no maliza los alo es. Los píxeles oman alo es de 0 a 255 po lo que se ans o ma á cada pixel di idiendo el alo de cada uno en e 255 y de es a o ma se end á odo en e 0 y 1 . Si la imagen es u iese en blanco y neg o hab ía dos canales, y si es a colo hab ía es canales ojo, e de y azul. A con inuación, se explican los pasos que se siguen pa a cons ui la ed neu onal con olucional: •Paso 1: Con olución: en es e paso se lle an a cabo las con oluciones. Se a a de selecciona g upos de píxeles de la imagen de en ada y ealiza p oduc os escala es con una ma iz que es el llamado ke nel. Dicho ke nel eco e odas las neu onas de en ada y gene a una nue a ma iz a la salida que se á la nue a capa de neu onas. Realmen e se aplican más de un ke nel, es deci se end án un conjun o de il os en cada capa. Se end án en onces an as ma ices como il os haya. Po lo an o, el núme o de neu onas po cada capa end á dado po el núme o de ke nels mul iplicado po la dimensión de la imagen (si es 28x28, el núme o de ke nels mul iplicado po 784). En de ini i a, es os il os lo que buscan es iden i ica ca ac e ís icas de la imagen o iginal. Se aplica aho a la unción de ac i ación, no malmen e se u iliza pa a es as capas el ec i icado lineal uni a io. •Paso 2: Max Pooling: se enca ga de educi la dimensión del p oblema. Tomando las ma ices de inidas an e io men e po los il os, educen su amaño. Po ejemplo, si se iene un Max Pooling de 2x2 , se seleccionan 4 pixeles de la imagen y solamen e se pone el que iene el alo más al o. Se educe mucho el núme o de neu onas y se supone que se sigue almacenando la in o mación que de ine las ca ac e ís icas de las imágenes. Figu a 3.15 MaxPooling [1]. Es e p oceso se aplica á an as eces como capas se quie an. •Paso 3: Fla ening: as habe ealizado las dis in as ases de Max Pooling, pa a uni se con la ed neu onal se necesi a que se enga como a iables de en ada alo es escala es. Es a capa se enca ga de ans o ma la úl ima ma iz ob enida en el Max Pooling en un ec o cuyas componen es se án las en adas en la ed neu onal a i icial. •Paso 4: Full Connec ion: en ada de una ed neu onal. 3.3 Deep Lea ning 21 Figu a 3.16 A qui ec u a de la ed neu onal con olucional [27]. 28 Capí ulo 4. Machine Lea ning en Py hon Es o úl imo es impo an e debido a que no in e esa coge po ejemplo el 80 % p ime o, sino que es mejo que es é odo mezclado. 4.4.2 Modelos p edic i os Como ya se ha in oducido an e io men e, en la ac ualidad Sklea n (Sciki -Lea n) es una de las lib e ías más po en es pa a Machine Lea ning. La implemen ación del algo i mo se ealiza una ez se ha sepa ado el modelo con la unción an e io . Reg esión lineal Pa a es e algo i mo los pa áme os que se pueden con igu a son los siguien es: • i _ in e cep : T ue/False. Es o lo que ha á se á hace el alo de la cons an e que aslada la ec a nula o dis in a de 0. En el caso de que dicha cons an e uese nula, la ec a pasa ía po el o igen. •no malize : T ue/False. Pa a no maliza o no los da os. Gene almen e se no maliza/es anda iza an es de llega a es e pun o, pe o si an es no se ha ealizado, se sabe que aquí es posible hace lo y de es a o ma el algo i mo abaja á co ec amen e. Reg esión logís ica Pa a es e algo i mo los pa áme os que se pueden con igu a son los siguien es: • i _in e cep : T ue/False. Al igual que an es. •penal y: si e como egulado . Tiene los siguien es ipos: – L1: aquellas a iables de en ada que no a ec en de o ma signi ica i a a la salida las oma como nulas, o lo que es lo mismo β=0. – L2: se conoce como Ridge. En es e caso en luga de elimina las β , las minimiza y así elimina el sob eajus e. – elas icne : aplica las dos egulaciones ci adas an e io men e. Hay que indica el peso o impo ancia que se quie e ene de cada una de las dos. • ol : si e pa a que una ez se alcanza la ole ancia deseada (con e gencia del algo i mo), el p og ama deje de i e a . Á bol de decisión A modo de ejemplo, se e án los pa áme os pa a la eg esión. Pa a es e algo i mo los pa áme os que se pueden con igu a son los siguien es: •c i e ion : selección del c i e io de di isión que hace que los da os se di idan de la mejo mane a posible. Po de ec o es á "mse" que es la más impo an e. "mse" es la media del e o cuad ado. Pa a una e sión ac ualizada de la lib e ía ambién se encuen a disponible "mae", la media del e o absolu o. •spli e : es a egia u ilizada pa a la di isión en cada nodo. "bes " que es la mejo opción y es á po de ec o y " andom" que lo ealiza de o ma alea o ia. •max dep h: la p o undidad máxima del á bol. •main samples spli Suppo Vec o Machines Como se ha explicado an e io men e, los algo i mos de SVMs son usados pa a clasi icación, eg esión y de ección de ou lie s. • Pa a clasi ica se u iliza SVC, Suppo Vec o Classi ie . Pa a pode ob ene el algo i mo de SVC p ime o hay que ca ga el de SVM median e la lib e ía sciki -lea n y pos e io men e el de SVC. • Pa a la eg esión se u iliza SVR, Suppo Vec o Reg ession. El mé odo pa a u iliza lo se ía igual que el an e io , es deci , ca ga el algo i mo de SVM median e la lib e ía de sciki -lea n y pos e io men e ca ga SVR. 4.5 Ke as 29 4.5 Ke as Es la lib e ía [ 21 ] po excelencia que se u iliza pa a elabo a algo i mos de Deep Lea ning o ap endizaje p o undo. Se u iliza án p incipalmen e los siguien es módulos de la lib e ía: •Sequen ial: pe mi e que las capas se ag upen de o ma secuencial. •Dense: pe mi e conec a las dis in as capas de la ed neu onal. •SGD: op imizado del algo i mo median e el g adien e descenden e. 5 Casos de es udio Se an a aplica las écnicas desc i as de Machine Lea ning en Py hon. Como ya se ha expues o an e io - men e, debido a la al a de da os iables del sec o ae oespacial (aún es án comenzando a implemen a es as écnicas po lo que no se ienen su icien es da os y las emp esas que los engan no los ceden a e ce os), ya que la oma de decisiones de pe sonas cla e del sec o como es el caso del pilo o es muy simila a la de un médico y además hay uen es iables de da os, se an a abo da p oblemas del sec o sani a io. Se analiza án es casos. El p ime o de ellos se a a de un p oblema de Machine Lea ning no supe isado, el segundo un p oblema de Machine Lea ning supe isado, y el úl imo se a a de un p oblema de a amien o de imágenes en el que se aplican écnicas de Deep Lea ning. 5.1 Caso I. Clasi icación de pacien es con ampu aciones aumá icas en dis in as clases según su g a edad Se ha ealizado el es udio de la ag upación de pacien es con hemo agia ex e na de dis in as clases, o denadas de meno a mayo g a edad pa a su pos e io a amien o con un p o ocolo de ac uación p e iamen e de inido [16]. Como a iables de en ada se han u ilizado las siguien es: 5.1.1 Desc ipción de cada clase Clase I •Es imación de sang e: Has a 750 ml. •F ecuencia ca diaca: Has a 100 lpm. •P esión pulsos: No mal. •Relleno capila : No mal. •F ecuencia espi a o ia: en e: 14 pm y20 pm. •Diu esis: >30 (ml/h). •Ni el de conciencia: Ansiedad le e. •Colo ación piel: No mal. En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es: Clase I = [0,0,0,0,0,0,0,0](5.1) Clase II •Es imación de sang e: En e 750 ml y1500 ml. •F ecuencia ca diaca: En e 100 lpm y120 lpm. •P esión pulsos: Disminuido. •Relleno capila : Re asado. 31 32 Capí ulo 5. Casos de es udio •F ecuencia espi a o ia: en e 20 pm y30 pm. •Diu esis: en e: 20 (ml/h) y 30 (ml/h). •Ni el de conciencia: Ansiedad o ag esi idad. •Colo ación piel: Pálida. En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es: Clase II = [1,1,0,1,1,1,1,1](5.2) Clase III •Es imación de sang e: En e 1500 ml y2000 ml. •F ecuencia ca diaca: En e 120 lpm y140 lpm. •P esión pulsos: Disminuido. •Relleno capila : Re asado. •F ecuencia espi a o ia: en e 30 pm y35 pm. •Diu esis: en e: 10 (ml/h) y 20 (ml/h). •Ni el de conciencia: Ansiedad y con usión. •Colo ación piel: Pálida. En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es: Clase III = [2,2,1,1,2,2,2,1](5.3) Clase IV •Es imación de sang e: 2000 ml o más. •F ecuencia ca diaca:140 lpm o más. •P esión pulsos: Disminuido. •Relleno capila : Re asado. •F ecuencia espi a o ia: más de 35 pm. •Diu esis: en e: 0(ml/h) y 10 (ml/h). •Ni el de conciencia: Con usión + le a gia. •Colo ación piel: G isácea. En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es: Clase IV = [3,3,1,1,3,3,3,2](5.4) 5.1.2 Es udio del p oblema Cada clase es á de e minada po un pacien e ideal. Se de ine el cen oide como el pacien e ideal de cada clase. La labo que se iene que ealiza es que, omando los da os an e io es con di e en es senso es, el p og ama clasi ique al nue o pacien e pa a que ing ese en una clase u o a. Pa a ello lo que se an a e alua son las ca ac e ís icas que enga el nue o pacien e pa a así pode compa a las con cada una de las clases y de es e modo ag upa lo en la que sea más simila . En el p oblema, se ha de inido que la mayo ía de las a iables son ca egó icas (cada una iene una ca ego ía di e en e). Es o supond á ene que a on a el p oblema de una o ma di e en e a si las a iables no uesen clases y uesen a iables con inuas. 5.1.3 Modelos p edic i os posibles Se han p opues o es posibles mé odos de asignación de pacien es. 5.1 Caso I. Clasi icación de pacien es con ampu aciones aumá icas en dis in as clases según su g a edad 33 Ma iz de dis ancias, K-Means sin a iación del cen oide Se adjun a una ep esen ación g á ica en la que se basa á la pos e io explicación del p oblema, Figu a 5.1 Rep esen ación g á ica de dis in os pacien es y la co espondien e clasi icación en cada g upo. Como se puede ap ecia en la imagen, hay cua o g upos di e enciados (en es e caso es os ienen de inidos y no se pueden al e a debido a que pa a cada uno de ellos hay dis in os p o ocolos de ac uación). Como ya se ha dicho, el cen oide de cada clase es el pacien e ideal. Lo más impo an e en es a clasi icación: • El pacien e ideal siemp e es el mismo. Se ha conside ado que lo más impo an e es el p o ocolo médico. • Pa a medi cuál es el g upo al que pe enece el pacien e, se calcula á la dis ancia euclídea que hay a cada pacien e ideal y aquella que sea meno , se á a la clase a la que pe enezca el pacien e e aluado. Si solo se u iesen dos a iables de medición xey, la dis ancia se ob end ía de la siguien e o ma: d1=q(x−xclaseI )2+ (y−yclaseI)2 Siendo xeyel alo de la a iable que end ía el nue o pacien e. Tampoco se puede de e mina la e icacia del modelo empleado ya que no hay alo es pa a alida los esul ados ob enidos. Pa a mejo a el modelo se ía con enien e es ablece un c i e io que pe mi iese ene unas a iables de en ada con mayo peso y de es a o ma la dis ancia es a ía ponde ada. K-Modes Es e mé odo de clasi icación se aplica si las a iables con las que se abajan son ca ego ías como ocu e en es e caso. Se u iliza un concep o de dis ancia di e en e al an e io . Hay que maximiza la unción de simila idad. Es a se de ine de o ma que si una de las a iables del nue o pacien e coincide con la del pacien e ideal suma ía 1 a dicha dis ancia. Po lo an o, cuan as más eces coincida con las a iables del pacien e ideal mayo se á es a unción. De es a mane a es udiando es a unción con espec o a cada una de las clases, aquella que el suma o io sea mayo , se á a la que pe enezca el pacien e. Cla amen e es e modelo no es el elegido debido a que: • No se iene en cuen a el ascenso de g a edad que se iene en aquellas a iables que no se puede ag upa únicamen e en dos g upos. Es deci si, po ejemplo, se compa a la es imación de sang e pe dida, el modelo a a ía igual si compa amos con <750ml a cualquie pacien e que es u ie a ue a de ese ango. El p oblema que hay, como ya se ha comen ado, es que es muy impo an e ene en cuen a que 34 Capí ulo 5. Casos de es udio un pacien e de clase IV debe se a ado di e en e que uno de clase II el cual es bas an e simila a la p ime a clase que hemos comen ado. • O o incon enien e se ía a la ho a de ac ualiza el pacien e ideal debido a que oma á aquel que sea la moda (y no la media como es en el caso de K−Mean). K-Means Al igual que en el caso an e io , pa a de e mina el g upo al que se le asigna un pacien e, se oma á la meno de las dis ancias con espec o a los pacien es ideales. La di e encia que exis e es que, es posible que el cen o de cada clase a íe. Pa a pode lle a a cabo es e es udio, sin que el pacien e ipo su a mucha a iación, ya que pod ía al e a el p o ocolo, se ha supues o que p e io al ing eso de nue os pacien es, habían llegado 100 pacien es ideales de cada una de las clases. De es a o ma se consigue que una nue a ac ualización de un pacien e no a ía el cen o del g upo. Po lo an o, se ha conside ado i al que los pacien es que ca ac e izan a cada clase no se desplacen de o ma muy ag esi a. Se a a explica el p ocedimien o ma emá ico: • 1) Asignación de cada obse ación al clus e con la dis ancia euclídea. Es e es el paso que se ealiza en el p ime mé odo que se ha explicado. • 2) Recalcula el cen o de cada clasi icación ( ol e a calcula el nue o pacien e ideal) una ez se ha añadido un nue o pacien e. 5.1.4 Razones de elección del modelo T as la desc ipción de cada uno de los modelos, en p ime a ins ancia se ha desca ado el mé odo de las K−Modes po las azones expues as. Po lo que queda elegi en e el mé odo de la ma iz de dis ancias y K-Means, poniendo en es e úl imo 100 pacien es p e ios asignados en cada g upo pa a que el pacien e ideal no a íe b uscamen e. Ambos p ocedimien os se conside an álidos y depende á de la lexibilidad que se enga pa a al e a al pacien e que de ine a cada clase ya que igual según el c i e io de los médicos, es o es inal e able. 5.1.5 Análisis de esul ados Pa a ealiza el es udio pe inen e, se ha u ilizado Py hon y las lib e ías numpy , pandas , kmodes.kmodes y sklea n.clus e . Se han añadido 149 pacien es alea o ios y se ha compa ado el mé odo de la Ma iz de dis ancias con el de K-Means. Los esul ados han sido los siguien es: •Coincidencias = 138 pacien es asignados al mismo g upo = 92.62 % •Di e encia de 1clase = 8pacien es = 5.37 % •Di e encia de 2clases = 3pacien es = 2.01 % Se puede obse a que, como se que ía, los cen oides apenas han a iado y es po ello que ambos mé odos han coincidido en la asignación de la g an mayo ía de pacien es. A con inuación, se adjun an los 3 pacien es que han enido una di e encia de dos clases a la ho a de clasi ica los. Se usa án es as mues as pa a que con ando con la ayuda de pe sonal médico cuali icado, se sepa el g upo al que ealmen e debe ía pe enece . [2,0,1,0,2,1,0,0] •KMeans ijo = Clase I •KMeans = Clase III [0,1,1,0,0,3,0,1] •KMeans ijo = Clase I •KMeans = Clase III [1,1,1,0,0,2,0,1] •KMeans ijo = Clase I •KMeans = Clase III 5.1 Caso I. Clasi icación de pacien es con ampu aciones aumá icas en dis in as clases según su g a edad 35 5.1.6 Usabilidad El mé odo de uso se ía e alua a iable a a iable al nue o pacien e que se quie a asigna e in oduci los alo es en el p og ama. Una ez hecho es o se end ía la clase a la que pe enece y a con inuación se ac ua ía en unción del p o ocolo desc i o. 5.1.7 Mejo a del modelo Pa a un p ime modelo del algo i mo, se ha enido en cuen a que odas las a iables ienen el mismo peso. Realmen e es o no es algo p eciso ya que hay cie as a iables que son más c í icas y a ec an en mayo medida a la ag upación del pacien e. La mejo a se pod ía ealiza de di e sas o mas y aquí se plasman dos de ellas: • Acudi a un especialis a médico que pe mi a conoce desde su expe iencia cuáles son las mediciones a las que se les da más impo ancia. Incluso puede se que haya a iables que pe mi an desca a algún g upo. Debido a es o, la expe iencia de un p o esional es c ucial. • Tene un egis o de pacien es y conoce en cada caso a qué g upo se le ha asignado. Es o supond ía pasa de algo i mos de Machine Lea ning No Supe isados (como se ha a on ado el p oblema) a Supe isados. Se pod ía en ena un modelo de K-Nea es Neighbou s lo cual se ía mucho más e icaz. 36 Capí ulo 5. Casos de es udio 5.2 Caso II. De e minación lesión cánce de mama Se ha ealizado el es udio de la de e minación de la p obabilidad que iene un pacien e dado una se ie de asgos, de padece cánce de mama benigno o maligno. Pa a ello se ha empleado el da ase p o enien e del Hospi al Uni e si a io de Wisconsin p opo cionado po el doc o William H. Wolbe g. La echa en la que se hizo público es a base de da os ue el 8 de Ene o de 1991 [15]. Se lle ó a cabo un egis o de 699 pacien es. De cada uno de ellos se iene la in o mación de las a iables que se explican a con inuación: •Radio: media de las dis ancias desde el cen o has a los pun os del pe íme o. •Tex u a: des iación es ánda de los alo es de la escala de g ises. •Pe íme o •Á ea •Sua idad: a iación local en longi udes de adio. •Compacidad: pe me o2 ea −1 •Pun os cónca os: núme o de po ciones cónca as del con o no. •Sime ía •Dimensión ac al •Resul ado: cánce benigno o maligno. Se ienen 9 a iables de en ada que oman un alo en e el 1−10 ya que los da os ienen escalados. Como a iable obje i o o a iable a p edeci se iene "Resul ado", en la que se egis a la decisión que el médico omó pa a cada pacien e. Debido a es o, se puede conclui que se a a de un p oblema de Machine Lea ning Supe isado. En es e caso el p oblema consis e en una clasi icación y se ienen dos ca ego ías posibles. 5.2.1 Análisis explo a o io A con inuación, se adjun a una imagen donde se puede obse a el po cen aje de casos benignos y malignos. Figu a 5.2 Dis ibución esul ados de e aluación. Como se puede obse a en la imagen an e io , el 65.52 % de los casos u ie on como esul ado benigno, mien as que el 34.48 % es an e ue on malignos. Debido a que se examina on un o al de 699 pacien es, se iene que: •458 pacien es u ie on cánce benigno. 5.2 Caso II. De e minación lesión cánce de mama 37 •241 pacien es u ie on cánce maligno. Son ci as que pe mi en asegu a que se a a de un p oblema cuyos da os de salida es án balanceados ya que no exis e una g an di e encia en e las dos clases. A con inuación, se adjun a la p e isualización que se ob u o as habe ealizado la ca ga de da os. Figu a 5.3 P e isualización del da ase as la ca ga de da os. Se obse a que, como se ha dicho an e io men e, se ienen pacien es egis ados desde el pacien e 0 al 698 quedando un o al de 699 pacien es. O o pun o posi i o que iene es e da ase es que odas las a iables de en ada que se han de inido p e iamen e es án den o de un mismo ango de modo que no es necesa io es anda iza o no maliza , se pod ía hace . De odos modos, se ealiza la es anda ización de las a iables de en ada pa a que el ango es é en e 0y1. Siguiendo con la e apa del análisis explo a o io de los da os, se adjun an las p incipales ca ac e ís icas que iene cada una de las a iables an o pa a el caso de cánce benigno como maligno. Figu a 5.4 Ca ac e ís icas a iables de en ada pa a cánce benignos. 44 Capí ulo 5. Casos de es udio Como se puede obse a , 4501 imágenes es án duplicadas, lo que supone el 44.94 % del o al del da ase . Una ez se eliminan dichas duplicidades, se pasa a isualiza el núme o de imágenes que el da ase con iene de cada uno de los g upos. Figu a 5.16 Dis ibución de casos según p oblema cu áneo. Cla amen e se a a de un p oblema no balanceado, •Ne us melanocí ico: 4415 imágenes •En e medades benignas, Que a osis: 440 imágenes •Melanoma: 230 imágenes •Ca cinoma de células basales: 175 imágenes •Que a osis ac ínica: 151 imágenes •Lesiones ascula es: 64 imágenes •De ma o ib oma: 39 imágenes Cie o es que en las p ime as ap oximaciones del modelo no se balanceó el p oblema y como e a de espe a no dio un buen esul ado. A modo de ejemplo, uno de los p oblemas más comunes que ienen que es udia los cien í icos de da os en el sec o banca io es la de e minación de ansacciones audulen as. Si hubiese 1 ansacción audulen a dia ia y 100.000 egis adas en un día, si el algo i mo dice que odas son co ec as, end ía una exac i ud del 99.999 % . ¿Es o que ía deci que el modelo unciona co ec amen e? No, ya que no es á esol iendo el p oblema. Pa a lle a es a labo a cabo, se u iliza de la lib e ía de sklea n la opción de esample . Se gene a án 500 imágenes de cada uno de los casos. Pa a el Ne us melanocí ico de las 4415 imágenes se selecciona án 500 y del es o lo que se ha á se á epe i se el núme o de imágenes has a llega a 500 . Es e paso es cla e pa a ga an iza la e icacia del modelo pese a que se pueda llega a disminui la p ecisión po lo que se ha explicado an e io men e. 5.3 Caso III. P edicción p oblemas cu áneos 45 Figu a 5.17 Código de escalado de las mues as. Quedando como esul ado lo siguien e, Figu a 5.18 Mues as escaladas. 5.3.2 En enamien o del modelo An es de pasa a comen a la es uc u a de la ed neu onal, lo p ime o que hay que ealiza es de ini la X y la salida y . En es e caso la X se á la in o mación que o ece la imagen (la cual hay que edimensiona di idiendo el ec o en e el máximo de las componen es que es 255 ). La y se á la en e medad que ha enido el pacien e y al ene 7 clases se han gene ado 7 columnas dis in as, las cuales se ellena án pa a cada caso con 0 si no es el p oblema que iene el pacien e, o con 1 si lo es. Se ha u ilizado el código o_ca ego ical . Una ez hecho es o, se ha p ocedido a di idi el conjun o en en enamien o y es ing, median e la unción 46 Capí ulo 5. Casos de es udio ain_ es _spli (al igual que en el caso an e io ), y es a ez se ha des inado un 75 % de los da os pa a el conjun o de en enamien o y el es o pa a el es ing. No hay una egla que ma que es e po cen aje po lo que se pod ía a ia y p oba el que de un mejo esul ado. Figu a 5.19 A qui ec u a ed neu onal. • La p ime a capa de neu onas "Con olucional de 2 Dimensiones" es donde en a án las imágenes. En es a capa se aplican 256 il os (ke nel) de amaño 3x3 los cuales de ec an cie as ca ac e ís icas de la imagen. Como unción de ac i ación se u iliza á el ec i icado lineal uni a io. • A con inuación se hace un MaxPooling de 2x2 que educe el amaño de la imagen que en a a la mi ad, man eniendo las ca ac e ís icas que de ec ó cada ke nel. • Pa a e i a el o e i ing se añade la capa de D opou . La capa de D opou consis e en elimina la in o mación que apo a un de e minado po cen aje de neu onas den o de cada una de las capas de la ed neu onal y se u iliza con el in de educi el sob eajus e. El sob eajus e u o e i ing, es el e ec o causado po el sob een enamien o del algo i mo pa a unos cie os da os. • En las siguien es dos capas se sigue la misma me odología. La di e encia es que en cada capa se educen los il os del ke nel a la mi ad. Aunque se podían habe man enido en odas las capas el núme o del ke nel ijo, se ha decidido hace de es a o ma, po que en cada capa se educe la dimensión de la imagen a la mi ad. • A con inuación se aplana con "Fla en()" los 32 úl imos il os del ke nel y se c ea una capa de 32 neu onas adicionales median e "Dense()". • Finalmen e se pasan es as 32 neu onas a las 7 clases que son las que se ienen que clasi ica . Se usa la unción de ac i ación so max pa a es a capa de salida. Figu a 5.20 A qui ec u a ed neu onal II. 5.3 Caso III. P edicción p oblemas cu áneos 47 Figu a 5.21 Resumen ed neu onal. Se han elegido 75 epochs pa a que así se pueda isualiza la e olución del algo i mo y cómo a e inando con o me aumen en las i e aciones y se co ijan los pesos. Se ajus a el modelo y comienza el en enamien o. 5.3.3 Análisis de esul ados Pa a medi el endimien o de los algo i mos con el conjun o de da os se calcula el accu acy o exac i ud. Se ha ob enido una exac i ud del 75.2 %. Aho a se e á si los esul ados son cohe en es. Figu a 5.22 E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de epochs. 48 Capí ulo 5. Casos de es udio Figu a 5.23 E olución del e o de la ed neu onal a medida que aumen a el núme o de epochs. Ambas ep esen aciones son cohe en es debido a que a medida que aumen an los epochs, aumen a la exac i ud y disminuye el e o . También se puede obse a que mien as que el algo i mo en el conjun o de en enamien o da mejo es esul ados (la exac i ud llega ce ca del 90 % ), la alidación se ha quedado algo es ancada. Se pod ía p oba a aumen a al 80 −85 % el po cen aje de los da os de en enamien o y e alua cómo esponde el modelo. A con inuación, se a a mos a la ma iz de con usión. Es a ma iz mues a el núme o de eces que el algo i mo ha encasillado una imagen en un g upo o en o o. Aquella clasi icación que se si úe en la diagonal se á co ec a, mien as que la que se si úe ue a de la diagonal es inco ec a. Figu a 5.24 Ma iz de con usión. 5.3 Caso III. P edicción p oblemas cu áneos 49 Lesión Tasa de acie o Células basales ca cínomas 73.15 % De ma o ib oma 97.65 % Que a osis benigna 70 % Lesiones ascula es 96.875 % Melanoma 73.15 % Ne us melanocí ico 60.714 % Que a osis ac ínica 72.8 % Como se puede obse a los esul ados no son del odo malos. Es cie o que el ne us melanocí ico se lle a en es e caso la peo pa e. Es po ello que pod ía es a bien aumen a el núme o de imágenes de es e ipo pa a que así el algo i mo sea capaz de de ec a de mane a co ec a los asgos. A con inuación, se a a adjun a una imagen de la ma iz de con usión de una ap oximación inicial del algo i mo. En es e caso no se habían eliminado las imágenes duplicadas ni se había solucionado el p oblema del balanceo de casos. Figu a 5.25 Ma iz de con usión inco ec a. Como se puede obse a , el algo i mo coloca p ác icamen e odas las imágenes como ne us melanocí ico po lo que, se llegó a la conclusión de que no es aba abajando co ec amen e. Es igual que lo que se ha comen ado an es, a pesa de que el algo i mo no es á abajando co ec amen e, la exac i ud es ele ada debido a que exis e un ipo de imágenes que es p ác icamen e el 80 % de odos los ejemplos. 5.3.4 Mé odo de uso Como se ha podido obse a , el algo i mo acie a en 3 de cada 4 casos en es a ap oximación. Mejo a ía analizando la ed neu onal, aumen ando el núme o de imágenes... Pa a u iliza lo lo único que hab ía que hace se ía subi una imagen de la mancha. Pod ía diseña se una aplicación sencilla que al subi la imagen de ol iese lo siguien e: 50 Capí ulo 5. Casos de es udio Figu a 5.26 Respues a de la aplicación. Figu a 5.27 Respues a de la aplicación. 5.3 Caso III. P edicción p oblemas cu áneos 51 5.3.5 Mejo a del modelo Viendo que la e ec i idad del modelo es del 75.2 % y obse ando que en la ma iz de con usión algunas asas de acie os e an bajas, se ha a ado de mejo a el modelo. Pa a ello las modi icaciones que se han ealizado han sido las siguien es: •Se han eescalado los da os de la siguien e o ma: Figu a 5.28 Escalado de las imágenes. Es o se ha ealizado con la in ención de aumen a el po cen aje de acie o de aquellas clases que enían una asa más baja. •El conjun o de en enamien o en ez de se el 75 % de los da os, es a ez pasa a se el 80 %. •Se ha aumen ado el núme o de epochs a 150. 52 Capí ulo 5. Casos de es udio Los esul ados ob enidos son los siguien es: Figu a 5.29 E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de epochs. Caso mejo ado. Figu a 5.30 E olución del e o de la ed neu onal a medida que aumen a el núme o de epochs. Caso mejo ado. 5.3 Caso III. P edicción p oblemas cu áneos 53 El modelo alcanza una exac i ud del 84.90 % , lo que supone una mejo a del 13 % con espec o al modelo an e io . La ma iz de con usión que se ob iene es la siguien e: Figu a 5.31 Ma iz de con usión. Lesión Tasa de acie o Células basales ca cínomas 91.866 % De ma o ib oma 100 % Que a osis benigna 75.524 % Lesiones ascula es 100 % Melanoma 71.839 % Ne us melanocí ico 68.807 % Que a osis ac ínica 80 % Se puede obse a cómo los esul ados en odas las lesiones han mejo ado excep o en el caso del melanoma el cual ha disminuido (aunque nuy poco) la asa de acie o. El modelo ha mejo ado bas an e y iene una asa de acie o ele ada. 60 Capí ulo 6. Anexo medidas_nue as = clus e _ - clus e _M # In[65]: medidas_nue as = medidas_nue as [400:] medidas_nue as # ### 3.2.1 Se an a es udia la des iación que ienen las medidas # In[66]: len(medidas_nue as) # ### 3.2.2 Coincidencias # In[67]: coinciden es = medidas_nue as[medidas_nue as==0] # In[68]: n_coinciden es = len(coinciden es) n_coinciden es # #### Po cen aje de coincidencia # In[69]: asa_coincidencia = (n_coinciden es/len(medidas_nue as))*100 asa_coincidencia # ### 3.2.3 Di e encias de 1 cambio de clase # In[70]: una_clase_pos = len(medidas_nue as[medidas_nue as==10]) una_clase_neg = len(medidas_nue as[medidas_nue as==-10]) una_clase = una_clase_pos + una_clase_neg #n_una_clase = len(una_clase) una_clase # In[71]: 1 Código 61 # Vemos las eces que sale nega i o y posi i o en e a las o ales (una_clase_neg/una_clase)*100 # In[72]: (una_clase_pos/una_clase)*100 # In[73]: asa_una_clase = (una_clase/len(medidas_nue as))*100 asa_una_clase # ### 3.2.3 Di e encias de 2 cambios de clase # In[74]: dos_clases_pos =len(medidas_nue as[medidas_nue as==(20)]) dos_clases_neg =len(medidas_nue as[medidas_nue as==(-20)]) dos_clases = dos_clases_pos + dos_clases_neg #n_dos_clases = len(dos_clases) dos_clases # In[75]: (dos_clases_neg/dos_clases)*100 # In[76]: (dos_clases_pos/dos_clases)*100 # In[77]: asa_dos_clases = (dos_clases/len(medidas_nue as))*100 asa_dos_clases # ### 3.2.4 Di e encias de 3 cambios de clase # In[78]: es_clases_pos =len(medidas_nue as[medidas_nue as==(30)]) es_clases_neg =len(medidas_nue as[medidas_nue as==(-30)]) 62 Capí ulo 6. Anexo es_clases = es_clases_pos + es_clases_neg #n_dos_clases = len(dos_clases) es_clases # In[79]: asa_ es_clases = ( es_clases/len(medidas_nue as))*100 asa_ es_clases # ## Añadiendo el mé odo de los K-Means cambiando el cen oide # In[59]: om sklea n.clus e impo KMeans kmeans = KMeans(n_clus e s=4). i (d _mean) cen oids = kmeans.clus e _cen e s_ cen oids = np.a ound(cen oids, decimals=1) p in (cen oids) # In[8]: c4_mean = [3,3,1,1,3,3,3,2] c2_mean = [1,1,0,1,1,1,1,1] c3_mean = [2,2,1,1,2,2,2,1] c1_mean = [0,0,0,0,0,0,0,0] # In[9]: c1_mean == c1_ # In[10]: c2_mean == c2_ # In[11]: c3_mean == c3_ # In[12]: c4_mean == c4_ 1 Código 63 # In[13]: cen oids_no med = cen oids / cen oids.max(axis=0) # In[18]: [clus e _mean,dis ance_mean] = q(da a_no med, cen oids_no med) # In[19]: clus e _mean # In[57]: clus e _mean = np.whe e(clus e _mean==1,40,clus e _mean) clus e _mean = np.whe e(clus e _mean==2,30, clus e _mean) clus e _mean = np.whe e(clus e _mean==3,10, clus e _mean) clus e _mean = np.whe e(clus e _mean==0,20, clus e _mean) clus e _mean[528] # In[35]: medidas_nue as_mean = clus e _ - clus e _mean medidas_nue as_mean1 = medidas_nue as_mean medidas_nue as_mean = medidas_nue as_mean [400:] medidas_nue as_mean # In[36]: len(medidas_nue as_mean) # In[37]: coinciden es_mean = medidas_nue as_mean[medidas_nue as_mean==0] n_coinciden es_mean = len(coinciden es_mean) n_coinciden es_mean # In[38]: asa_coincidencia_mean = (n_coinciden es_mean/len(medidas_nue as_mean))*100 asa_coincidencia_mean 64 Capí ulo 6. Anexo # In[39]: una_clase_pos_mean = len(medidas_nue as_mean[medidas_nue as_mean==10]) una_clase_neg_mean = len(medidas_nue as_mean[medidas_nue as_mean==-10]) una_clase_mean = una_clase_pos_mean + una_clase_neg_mean #n_una_clase = len(una_clase) una_clase_mean # In[40]: (una_clase_mean/len(medidas_nue as_mean))*100 # In[41]: dos_clase_pos_mean = len(medidas_nue as_mean[medidas_nue as_mean==20]) dos_clase_neg_mean = len(medidas_nue as_mean[medidas_nue as_mean==-20]) dos_clase_mean = dos_clase_pos_mean + dos_clase_neg_mean #n_una_clase = len(una_clase) dos_clase_mean (dos_clase_mean/len(medidas_nue as_mean))*100 # In[42]: dos_clase_mean # In[43]: asa_coincidencia_mean+(una_clase_mean/len(medidas_nue as_mean))*100+(dos_clase _mean/len(medidas_nue as_mean))*100 # In[45]: #medidas_nue as_mean1 medidas_nue as_mean1[np.whe e(medidas_nue as_mean1 == 20)] # In[47]: np.whe e(medidas_nue as_mean1 == -20) # In[48]: 1 Código 65 np.whe e(medidas_nue as_mean1 == 0) # In[ ]: 66 Capí ulo 6. Anexo 1.2 Caso II #!/us /bin/en py hon # coding: u -8 # In[1]: impo numpy as np om sklea n impo neighbo s,p ep ocessing om sklea n.model_selec ion impo ain_ es _spli impo pandas as pd impo ma plo lib.pyplo as pl impo seabo n as sns; sns.se () sns.se _s yle(’da kg id’) # In[2]: om sklea n.p ep ocessing impo S anda dScale om sklea n.linea _model impo Logis icReg ession om sklea n.neighbo s impo KNeighbo sClassi ie om sklea n. ee impo DecisionT eeClassi ie om sklea n.s m impo Linea SVC, SVC om sklea n.neu al_ne wo k impo MLPClassi ie om sklea n.ensemble impo RandomFo es Classi ie , G adien Boos ingClassi ie # In[3]: mainpa h="/Use s/Usua io/Desk op/Skyli e/AI_MEDICINE/" ilename= "CANCER_DE_MAMA/cance /b eas -cance -wisconsin.da a. x " ullpa h=mainpa h+"/"+ ilename da a = pd. ead_cs ( ullpa h,heade =None) da a.desc ibe() # In[4]: mainpa h="/Use s/Usua io/Desk op/Skyli e/AI_MEDICINE/" ilename= "CANCER_DE_MAMA/cance /b eas -cance -wisconsin.da a. x " ullpa h=mainpa h+"/"+ ilename da a = pd. ead_cs ( ullpa h,heade =None) da a = da a.d op([0],axis = 1) da a.head() # In[5]: da a.desc ibe() 1 Código 67 # In[6]: da a.columns = ["V1","V2","V3","V4","V5","V6","V7","V8","V9","Class"] da a # In[7]: da a. eplace("?",-99999999,inplace = T ue) # ### Explo ación de los da os # In[8]: da a ame = da a.se _index(da a["Class"]) # In[9]: da a_benigno = da a ame.loc[2] # In[10]: da a_benigno.shape # In[11]: da a_benigno.desc ibe() # In[12]: da a_maligno = da a ame.loc[4] # In[13]: da a_maligno.shape # In[14]: da a_maligno.desc ibe() 68 Capí ulo 6. Anexo # In[15]: pl . igu e( igsize = (8,8)) pl .pie(da a[’Class’]. alue_coun s(),au opc = ’%.2 %%’,labels=["Benigno"," Maligno"]) pl . i le("Dis ibución de pacien es") # In[16]: pip ins all -U seabo n # In[17]: pl . igu e( igsize = (25,15)) o i, column in enume a e(da a.columns): pl .subplo (4,6,i+1) sns.boxplo (da a=da a[column]) pl . i le(column) pl .show() # In[18]: co = da a.co () pl . igu e( igsize = (24,20)) sns.hea map(co , anno = T ue, min = -1.0, cmap = ’mako’) pl . i le("Ma iz de co elacion") pl .show() # In[19]: X = da a[["V1","V2","V3","V4","V5","V6","V7","V8","V9"]] da a[’Class’] = da a[’Class’]. eplace({ 2: "Benigno", 4: "Maligno", }) Y = da a["Class"] Y # In[20]: X_ ain, X_ es , Y_ ain, Y_ es = ain_ es _spli (X,Y, es _size = 0.2) # In[21]: 1 Código 69 scale = S anda dScale () scale . i (X_ ain) X_ ain = pd.Da aF ame(scale . ans o m(X_ ain), index=X_ ain.index, columns= X_ ain.columns) X_ es = pd.Da aF ame(scale . ans o m(X_ es ), index=X_ es .index, columns=X_ es .columns) X_ ain # In[22]: models = { " Logis ic Reg ession": Logis icReg ession(), " K-Nea es Neighbo s": KNeighbo sClassi ie (), " Decision T ee": DecisionT eeClassi ie (), "Suppo Vec o Machine (Linea Ke nel)": Linea SVC(), " Suppo Vec o Machine (RBF Ke nel)": SVC(), " Neu al Ne wo k": MLPClassi ie (), " Random Fo es ": RandomFo es Classi ie (), " G adien Boos ing": G adien Boos ingClassi ie (), } o name, model in models.i ems(): model. i (X_ ain, Y_ ain) p in (name + " ained.") # In[23]: o name, model in models.i ems(): p in (name + ": {:.2 }%". o ma (model.sco e(X_ es , Y_ es ) * 100)) # In[24]: classi ica ion = neighbo s.KNeighbo sClassi ie () classi ica ion. i (X_ ain,Y_ ain) # In[25]: accu acy = classi ica ion.sco e(X_ es ,Y_ es ) accu acy # In[26]: medida_nue a = np.a ay([4,4,4,2,2,3,2,1,1]) medida_nue a = medida_nue a. eshape(1,-1) 76 Capí ulo 6. Anexo # In[77]: X = np.asa ay(skin_d _balanced[’image’]. olis ()) X = X/255. # In[78]: x_ ain, x_ es , y_ ain, y_ es = ain_ es _spli (X, y, es _size=0.25, andom_s a e=42) # In[79]: model = Sequen ial() model.add(Con 2D(256, (3, 3), ac i a ion=" elu", inpu _shape=(SIZE, SIZE, 3))) #model.add(Ba chNo maliza ion()) model.add(MaxPool2D(pool_size=(2, 2))) model.add(D opou (0.3)) model.add(Con 2D(128, (3, 3),ac i a ion=’ elu’)) #model.add(Ba chNo maliza ion()) model.add(MaxPool2D(pool_size=(2, 2))) model.add(D opou (0.3)) model.add(Con 2D(64, (3, 3),ac i a ion=’ elu’)) #model.add(Ba chNo maliza ion()) model.add(MaxPool2D(pool_size=(2, 2))) model.add(D opou (0.3)) model.add(Fla en()) model.add(Dense(32)) model.add(Dense(7, ac i a ion=’so max’)) model.summa y() # In[80]: model.compile(loss=’ca ego ical_c ossen opy’, op imize =’Adam’, me ics=[’acc ’]) # In[81]: model.summa y() # In[82]: ba ch_size = 16 1 Código 77 epochs = 75 # In[83]: his o y = model. i ( x_ ain, y_ ain, epochs=epochs, ba ch_size = ba ch_size, alida ion_da a=(x_ es , y_ es ), e bose=2)aju # In[160]: sco e = model.e alua e(x_ es , y_ es ) p in (’Tes accu acy:’, sco e[1]) # In[85]: #plo he aining and alida ion accu acy and loss a each epoch loss = his o y.his o y[’loss’] al_loss = his o y.his o y[’ al_loss’] epochs = ange(1, len(loss) + 1) pl .plo (epochs, loss, ’y’, label=’T aining loss’) pl .plo (epochs, al_loss, ’ ’, label=’Valida ion loss’) pl . i le(’T aining and alida ion loss’) pl .xlabel(’Epochs’) pl .ylabel(’Loss’) pl .legend() pl .show() # In[86]: acc = his o y.his o y[’acc’] al_acc = his o y.his o y[’ al_acc’] pl .plo (epochs, acc, ’y’, label=’T aining acc’) pl .plo (epochs, al_acc, ’ ’, label=’Valida ion acc’) pl . i le(’T aining and alida ion accu acy’) pl .xlabel(’Epochs’) pl .ylabel(’Accu acy’) pl .legend() pl .show() # In[159]: # P edic ion on es da a y_p ed = model.p edic (x_ es ) # Con e p edic ions classes o one ho ec o s 78 Capí ulo 6. Anexo y_p ed_classes = np.a gmax(y_p ed, axis = 1) # Con e es da a o one ho ec o s y_ ue = np.a gmax(y_ es , axis = 1) # In[88]: om sklea n.me ics impo con usion_ma ix con usion_m x = con usion_ma ix(y_ ue, y_p ed_classes) # plo he con usion ma ix plo _labels = [’bcc’, ’d ’, ’bkl’, ’ asc’, ’mel’, ’n ’,’akiec’] plo _con usion_ma ix(con usion_m x, classes = plo _labels) # In[100]: sns.hea map(con usion_m x.T, squa e=T ue, anno =T ue, m =’d’, cba =T ue, x icklabels=plo _labels, y icklabels=plo _labels ) # In[140]: p ediccion = y_p ed[1]*100 x_ es [1] # In[121]: p in (’La p obabilidad que sean células basales ca cinomas es del’,p ediccion [0],’%’) p in (’La p obabilidad que sea de ma o ib oma es del’,p ediccion[1],’%’) p in (’La p obabilidad que sea benigno (ca cinomas) es del’,p ediccion[2],’%’) p in (’La p obabilidad que sea una lesión ascula es del’,p ediccion[3],’%’) p in (’La p obabilidad que sea melanoma es del’,p ediccion[4],’%’) p in (’La p obabilidad que sea ne us melanocí ico es del’,p ediccion[5],’%’) p in (’La p obabilidad que sea que a osis ac ínica es del’,p ediccion[6],’%’) # In[126]: columns = [’Células basales ca cinomas’,’De ma o ib oma’,’Benigna’, ’Lesiones ascula es’,’Melanoma’,’Ne us melanocí ico’,’Que a osis ac ínica’] # In[135]: d 1 = pd.Da aF ame(p ediccion,columns) d 1_ ansposed = d 1.T d 1_ ansposed 1 Código 79 # In[137]: ig, ax2 = pl .subplo s(1, 1, igsize= (15, 10)) d 1_ ansposed.plo (kind=’ba ’, ax=ax2) # In[158]: y_ es # In[155]: y_p ed2 = np.a gmax(y_p ed,axis=1) y_ es 2 = np.a gmax(y_ es ,axis=1) # In[157]: pl . igu e( igsize=(16,16)) o i in ange(9): pl .subplo (3,3,i+1) index = i+100 pl .imshow(x_ es [index,:,:,::-1]) label_exp = columns[y_ es 2[index]] #expec ed label label_p ed = columns[y_p ed2[index]] #p edic ed label label_p ed_p ob = ound(np.max(y_p ed1[index])*100) pl . i le(’Expec ed:’+s (label_exp)+’ n P ed.:’+s (label_p ed)+’ (’+s ( label_p ed_p ob)+’%)’) pl .ylabel(’’) pl . igh _layou () pl .sa e ig(’ inal_ igu e.png’,dpi=300) pl .show() # In[ ]: 80 Capí ulo 6. Anexo Mejo a del esul ado an e io #!/us /bin/en py hon # coding: u -8 # ## 1. Impo e de lib e ías # In[1]: impo ma plo lib.pyplo as pl impo numpy as np impo pandas as pd impo os impo glob impo seabo n as sns om PIL impo Image np. andom.seed(123) om sklea n.p ep ocessing impo label_bina ize om sklea n.me ics impo con usion_ma ix impo i e ools om sklea n.model_selec ion impo ain_ es _spli impo ke as om ke as.u ils.np_u ils impo o_ca ego ical # used o con e ing labels o one-ho -encoding om ke as.models impo Sequen ial om ke as.laye s impo Dense, D opou , Fla en, Con 2D, MaxPool2D om ke as impo backend as K impo i e ools om ke as.laye s.no maliza ion impo Ba chNo maliza ion om ke as.u ils.np_u ils impo o_ca ego ical # con e o one-ho -encoding om enso low.ke as.callbacks impo * om ke as.op imize s impo Adam om ke as.p ep ocessing.image impo ImageDa aGene a o om ke as.callbacks impo ReduceLROnPla eau # ## 2. Ca ga de imágenes # In[2]: mainpa h="/Use s/Usua io/Desk op/Skyli e/SKIN_CANCER" ilename= "skin-cance -mnis -ham10000" pa h = mainpa h+"/"+ ilename pa h_imagenes = {os.pa h.spli ex (os.pa h.basename(x))[0]:x o x in glob.glob( os.pa h.join(pa h,’*’,’*.jpg’))} # ## 3. Ca ga del documen o # In[3]: 1 Código 81 mainpa h ="/Use s/Usua io/Desk op/Skyli e/SKIN_CANCER" ilename = "skin-cance -mnis -ham10000/HAM10000_me ada a.cs " ullpa h = mainpa h+"/"+ ilename skin_d = pd. ead_cs ( ullpa h) # In[4]: # Visualizamos cómo queda el da ase skin_d .head() # In[5]: # In oducimos el pa h eco iendo el pa h de imágenes c eado con la image_id skin_d [’pa h’] = skin_d [’image_id’].map(pa h_imagenes.ge ) # In[6]: # In oducimos o a columna pa a e el nomb e comple o de la lesión ipo_lesion = { ’n ’:’Ne us melanocí ico’, ’mel’: ’Melanoma’, ’bkl’: ’En e medades benignas: Que a osis ’, ’bcc’: ’Células basales ca cinomas’, ’akiec’: ’Que a osis ac ínica’, ’ asc’: ’Lesiones ascula es’, ’d ’: ’De ma o ib oma’ } skin_d [’cell_ ype’] = skin_d [’dx’].map( ipo_lesion.ge ) # In[7]: # Pasamos las dis in as cell_ ype a ca ego ías skin_d [’cell_ ype_idx’] = pd.Ca ego ical(skin_d [’cell_ ype’]).codes # ## Explo ación del da ase : limpieza y w angling # In[8]: skin_d .isnull().sum() # In[9]: skin_d [’age’]. illna((skin_d [’age’].mean()), inplace=T ue) skin_d .isnull().sum() 82 Capí ulo 6. Anexo # In[10]: p in (skin_d .d ypes) # In[11]: SIZE = 64 # In[12]: skin_d [’image’] = skin_d [’pa h’].map(lambda x: np.a ay(Image.open(x). esize ((SIZE,SIZE)))) # In[13]: skin_d .head() # In[14]: skin_d [’image’].map(lambda x: x.shape). alue_coun s() # In[15]: skin_d [’image’] # ## Eliminación de imágenes duplicadas # In[16]: # his will ell us how many images a e associa ed wi h each lesion_id d _undup = skin_d .g oupby(’lesion_id’).coun () # now we il e ou lesion_id’s ha ha e only one image associa ed wi h i d _undup = d _undup[d _undup[’image_id’] == 1] d _undup. ese _index(inplace=T ue) d _undup.head() # In[17]: de ge _duplica es(x): unique_lis = lis (d _undup[’lesion_id’]) i x in unique_lis : 1 Código 83 e u n ’unduplica ed’ else: e u n ’duplica ed’ skin_d [’duplica es’] = skin_d [’lesion_id’] skin_d [’duplica es’] = skin_d [’duplica es’].apply(ge _duplica es) # In[18]: skin_d [’duplica es’]. alue_coun s() skin_d _nd = skin_d [skin_d [’duplica es’] == ’unduplica ed’] # In[19]: skin_d [’duplica es’]. alue_coun s() # In[20]: # Así queda el no ¯de casos skin_d _nd[’cell_ ype_idx’]. alue_coun s() # In[21]: # Se puede obse a cómo es á desbalanceado ig, ax1 = pl .subplo s(1, 1, igsize= (15, 10)) skin_d _nd[’cell_ ype’]. alue_coun s().plo (kind=’ba ’, ax=ax1) # In[22]: # Se a a p ocede a eescala los casos om sklea n.u ils impo esample d _0 = skin_d [skin_d .cell_ ype_idx == 0] d _1 = skin_d [skin_d .cell_ ype_idx == 1] d _2 = skin_d [skin_d .cell_ ype_idx == 2] d _3 = skin_d [skin_d .cell_ ype_idx == 3] d _4 = skin_d [skin_d .cell_ ype_idx == 4] d _5 = skin_d [skin_d .cell_ ype_idx == 5] d _6 = skin_d [skin_d .cell_ ype_idx == 6] # In[23]: d _0_balanced = esample(d _0, eplace=T ue, n_samples=1000, andom_s a e=42) d _1_balanced = esample(d _1, eplace=T ue, n_samples=600, andom_s a e=42) 84 Capí ulo 6. Anexo d _2_balanced = esample(d _2, eplace=T ue, n_samples=700, andom_s a e=42) d _3_balanced = esample(d _3, eplace=T ue, n_samples=900, andom_s a e=42) d _4_balanced = esample(d _4, eplace=T ue, n_samples=900, andom_s a e=42) d _5_balanced = esample(d _5, eplace=T ue, n_samples=500, andom_s a e=42) d _6_balanced = esample(d _6, eplace=T ue, n_samples=500, andom_s a e=42) skin_d _balanced = pd.conca ([d _0_balanced, d _1_balanced, d _2_balanced, d _3_balanced, d _4_balanced, d _5_balanced, d _6_balanced]) # In[24]: # Se puede obse a cómo es á desbalanceado ig, ax2 = pl .subplo s(1, 1, igsize= (15, 10)) skin_d _balanced[’cell_ ype’]. alue_coun s().plo (kind=’ba ’, ax=ax2) # In[26]: skin_d _balanced[skin_d _balanced.cell_ ype_idx == 1] # In[27]: # Se puede obse a cómo aho a sí nos queda el da ase balanceado skin_d _balanced[’cell_ ype’]. alue_coun s() # ## P epa amos los da os pa a en ena el modelo # In[28]: y = skin_d _balanced[’cell_ ype_idx’] y.shape # In[29]: y = o_ca ego ical(y, num_classes = 7) y.shape # In[30]: X = np.asa ay(skin_d _balanced[’image’]. olis ()) X = X/255. # In[31]: 1 Código 85 x_ ain, x_ es , y_ ain, y_ es = ain_ es _spli (X, y, es _size=0.2, andom _s a e=423) # In[32]: model = Sequen ial() model.add(Con 2D(256, (3, 3), ac i a ion=" elu", inpu _shape=(SIZE, SIZE, 3))) #model.add(Ba chNo maliza ion()) model.add(MaxPool2D(pool_size=(2, 2))) model.add(D opou (0.3)) model.add(Con 2D(128, (3, 3),ac i a ion=’ elu’)) #model.add(Ba chNo maliza ion()) model.add(MaxPool2D(pool_size=(2, 2))) model.add(D opou (0.3)) model.add(Con 2D(64, (3, 3),ac i a ion=’ elu’)) #model.add(Ba chNo maliza ion()) model.add(MaxPool2D(pool_size=(2, 2))) model.add(D opou (0.3)) model.add(Fla en()) model.add(Dense(32)) model.add(Dense(7, ac i a ion=’so max’)) model.summa y() # In[33]: model.compile(loss=’ca ego ical_c ossen opy’, op imize =’Adam’, me ics=[’acc ’]) # In[34]: model.summa y() # In[36]: ba ch_size = 16 epochs = 150 # In[37]: his o y = model. i ( x_ ain, y_ ain, epochs=epochs,