Giter VIP home page Giter VIP logo

mcc_ds_proyecto's Introduction

Seminario de Herramientas para Ciencia de Datos

馃殌 Proyecto: Patrones de Supervivencia para Distintos tipos de C谩ncer

Maestr铆a en Ciencia e Ingenier铆a de la Computaci贸n, UNAM
Manuel Soto Romero

imagen


馃敔 Introducci贸n

Este proyecto est谩 basado en el reto Survival Patterns of Cancers disponible en la plataforma Kaggle. Este proyecto incluye tres conjuntos de datos:

  • Datos sobre cancer de es贸fago.
  • Datos sobre cancer colorectal.
  • Datos sobre cancer de pr贸stata.

cada uno de los cuales incluye informaci贸n sociodemogr谩fica, caracter铆sticas de los pacientes, signos, s铆ntomas, caracter铆sticas de imagen e histol贸gicas as铆 como el estudio TNM del c谩ncer. As铆 mismo incluye opciones de tratamiento que recibi贸 el paciente as铆 como el estado del mismo (si falleci贸 o no).

馃幆 Objetivos y Tareas

  • Cargar los datos en un modelo de base de datos relacional.

  • Realizar un an谩lisis exploratorio de dato con el fin de obtener estad铆sticas sobre los datos obtenidos.

  • Conectar la base de datos con Python sobre su herramienta Jupyter Notebooks para realizar labores de predicci贸n, clasificaci贸n, entre otras posibles.

  • Con base en el campo que nos permite determinar si el paciente sobrevivi贸 o no, evaluar distintos tipos de modelos de regresi贸n y clasificaci贸n con el fin de encontrar el mejor posible para predecir este dato con nuevos pacientes.

  • Por supuesto, realizar actividades de preprocesamiento de los datos con el fin de tener un conjunto de datos limpio y bien estructurado que facilite las tareas de predicci贸n y/o clasificaci贸n.


鈽戯笍 Carga y preprocesamiento de datos

Se obt贸 por usar el Gestor de Bases de Datos PostgreSQL pues sus cl谩usulas CUBE y ROLLUP nos permiten realizar un an谩lisis exploratorio m谩s detallado. Se cont贸 inicialmente con los siguientes conjuntos de datos:

Previo a la carga de datos, se analiz贸 la estructura de cada archivo para determinar si era necesario crear nuevas tablas. Derivado de este an谩lisis se not贸 que no hab铆a una equivalencia directa entre estas tablas, por lo que se opt贸 analizar cada conjunto de datos individualmente, sin embargo, para los fines de este proyecto 煤nicamente se analizaron los datos de c谩ncer de es贸fago.

No se ocuparon todos los datos pues no eran relevantes para el proyecto. Con el fin de no perder los datos originales, se cre贸 una vista (esophageal_clean). Las diferencias entre la tabla original y la vista se muestran en el siguiente diagrama:

Notar el cambio en los tipos de datos. El proceso de cambio y la construcci贸n de la vista se puede consultar en el siguiente script y puede replicarse para los otros dos conjuntos de datos, cuidando que las columnas sean del tipo adecuado y evitando los valores nulos.


鈽戯笍 An谩lisis Exploratorio de Datos

Se dividi贸 el An谩lisis Exploratorio de Datos en tres partes (1) An谩lisis de algunos campos y de inter茅s por medio de SQL mediante sus cl谩usulas (GROUP BY, CUBE, ROLLUP, funciones de ventana); (2) An谩lisis mediante medidas de tendencia central para algunos de los campos y medidas de variabilidad; (3) An谩lisis visual.

An谩lisis por medio de SQL (script)

  • Conteo de registros.

    Name Value
    count 349
  • 驴Cu谩l es la edad promedio por regi贸n?

    region avg_age
    DIREDAWA 45.50
    HARERI 60.00
    AFAR 47.67
    GAMBELLA 42.00
    AMHARA 50.23
    SOMALI 37.00
    ADDIS ABABA 54.61
    TIGRAY 57.75
    SNNPR 47.54
    OROMIA 52.11
  • 驴Cu谩l es la edad promedio por regi贸n y g茅nero?

    region sex avg_age
    ADDIS ABABA 1 54.08
    ADDIS ABABA 0 55.03
    AFAR 1 30.00
    AFAR 0 56.50
    AMHARA 0 48.50
    AMHARA 1 54.13
    DIREDAWA 1 45.50
    GAMBELLA 0 42.00
    HARERI 1 60.00
    HARERI 0 60.00
    OROMIA 0 50.57
    OROMIA 1 54.39
    SNNPR 0 46.90
    SNNPR 1 48.39
    SOMALI 1 36.67
    SOMALI 0 37.50
    TIGRAY 1 55.00
    TIGRAY 0 58.67
  • Calculamos todos los agrupamientos posibles por medio de CUBE.

    region sex avg_age
    ADDIS ABABA NULL 54.61
    ADDIS ABABA 1 54.08
    ADDIS ABABA 0 55.03
    AFAR NULL 47.67
    AFAR 0 56.50
    AFAR 1 30.00
    AMHARA 1 54.13
    AMHARA NULL 50.23
    AMHARA 0 48.50
    DIREDAWA NULL 45.50
    DIREDAWA 1 45.50
    GAMBELLA 0 42.00
    GAMBELLA NULL 42.00
    HARERI NULL 60.00
    HARERI 0 60.00
    HARERI 1 60.00
    OROMIA NULL 52.11
    OROMIA 1 54.39
    OROMIA 0 50.57
    SNNPR NULL 47.54
    SNNPR 1 48.39
    SNNPR 0 46.90
    SOMALI 1 36.67
    SOMALI NULL 37.00
    SOMALI 0 37.50
    TIGRAY NULL 57.75
    TIGRAY 0 58.67
    TIGRAY 1 55.00
    NULL 1 52.73
    NULL 0 50.54
    NULL NULL 51.44

    Con esta informaci贸n podemos concluir:

    • La edad promedio en ADDIS ABABA (todos los g茅neros) es 54.61 (rengl贸n 1)
    • La edad promedio del g茅nero 0 es 50.54 (pen煤ltimo rengl贸n)
    • La edad promedio de todos los registrios (todas las regiones y g茅neros) es 51.44
  • Para asegurarnos de que los nullos correspondan con ALL usamos grouping.

    region sex gr gs avg_age
    ADDIS ABABA NULL 0 1 54.61
    ADDIS ABABA 1 0 0 54.08
    ADDIS ABABA 0 0 0 55.03
    AFAR NULL 0 1 47.67
    AFAR 0 0 0 56.50
    AFAR 1 0 0 30.00
    AMHARA 1 0 0 54.13
    AMHARA NULL 0 1 50.23
    AMHARA 0 0 0 48.50
    DIREDAWA NULL 0 1 45.50
    DIREDAWA 1 0 0 45.50
    GAMBELLA 0 0 0 42.00
    GAMBELLA NULL 0 1 42.00
    HARERI NULL 0 1 60.00
    HARERI 0 0 0 60.00
    HARERI 1 0 0 60.00
    OROMIA NULL 0 1 52.11
    OROMIA 1 0 0 54.39
    OROMIA 0 0 0 50.57
    SNNPR NULL 0 1 47.54
    SNNPR 1 0 0 48.39
    SNNPR 0 0 0 46.90
    SOMALI 1 0 0 36.67
    SOMALI NULL 0 1 37.00
    SOMALI 0 0 0 37.50
    TIGRAY NULL 0 1 57.75
    TIGRAY 0 0 0 58.67
    TIGRAY 1 0 0 55.00
    NULL 1 1 0 52.73
    NULL 0 1 0 50.54
    NULL NULL 1 1 51.44

    Con el resultado anterior comprobamos que todos los NULL corresponden con ALL.

  • De manera similar usamos ROLLUP a manera de mostrar las posibles combinaciones en jerarqu铆a, es decir, se obtienen los totales por g茅nero en t茅rminos de la regi贸n. Notar como la 煤ltima columna no muestra el total de totales ni el total por regi贸n.

    region sex gr gs avg_age
    ADDIS ABABA NULL 0 1 54.61
    ADDIS ABABA 1 0 0 54.08
    ADDIS ABABA 0 0 0 55.03
    AFAR NULL 0 1 47.67
    AFAR 0 0 0 56.50
    AFAR 1 0 0 30.00
    AMHARA 1 0 0 54.13
    AMHARA NULL 0 1 50.23
    AMHARA 0 0 0 48.50
    DIREDAWA NULL 0 1 45.50
    DIREDAWA 1 0 0 45.50
    GAMBELLA 0 0 0 42.00
    GAMBELLA NULL 0 1 42.00
    HARERI NULL 0 1 60.00
    HARERI 0 0 0 60.00
    HARERI 1 0 0 60.00
    OROMIA NULL 0 1 52.11
    OROMIA 1 0 0 54.39
    OROMIA 0 0 0 50.57
    SNNPR 0 0 0 46.90
    SNNPR NULL 0 1 47.54
    SNNPR 1 0 0 48.39
    SOMALI 0 0 0 37.50
    SOMALI 1 0 0 36.67
    SOMALI NULL 0 1 37.00
    TIGRAY 0 0 0 58.67
    TIGRAY 1 0 0 55.00
    TIGRAY NULL 0 1 57.75
    NULL NULL 1 1 51.44
  • OVER es una funci贸n anal铆tica que opera por cada tupla. En este caso compararemos la de cada persona con la edad promedio de cada g茅nero. Recordando que el an谩lisis es pon rengl贸n. Por ejemplo, el rengl贸n 1 tiene un promedio de 71 y se compara con el promedio general de 50.54.

    region sex age avg_age
    OROMIA 0 71 50.54
    AMHARA 0 70 50.54
    OROMIA 0 46 50.54
    ADDIS ABABA 1 55 52.73
    SNNPR 0 32 50.54
    ADDIS ABABA 1 56 52.73
    ADDIS ABABA 0 60 50.54
    TIGRAY 1 55 52.73
    ADDIS ABABA 1 63 52.73
    ADDIS ABABA 1 74 52.73
    AFAR 1 30 52.73
    GAMBELLA 0 42 50.54
    OROMIA 1 47 52.73
    DIREDAWA 1 56 52.73
    ADDIS ABABA 0 32 50.54
    AMHARA 0 48 50.54
    ADDIS ABABA 0 30 50.54
    SNNPR 1 62 52.73
    OROMIA 1 52 52.73
    OROMIA 0 52 50.54
    OROMIA 0 44 50.54
    SNNPR 0 55 50.54
    SNNPR 0 48 50.54
    AMHARA 0 35 50.54
    SNNPR 1 60 52.73
    SNNPR 0 36 50.54
    ADDIS ABABA 0 35 50.54
    ADDIS ABABA 1 67 52.73
    SNNPR 0 40 50.54
    ADDIS ABABA 0 71 50.54
    OROMIA 0 25 50.54
    OROMIA 0 58 50.54
    ADDIS ABABA 1 60 52.73
    ADDIS ABABA 1 70 52.73
    OROMIA 1 50 52.73
    OROMIA 0 27 50.54
    SNNPR 0 45 50.54
    OROMIA 1 55 52.73
    SNNPR 1 50 52.73
    OROMIA 1 58 52.73
    AMHARA 0 57 50.54
    AMHARA 0 55 50.54
    ADDIS ABABA 0 48 50.54
    ADDIS ABABA 0 65 50.54
    OROMIA 1 80 52.73
    OROMIA 1 48 52.73
    OROMIA 0 56 50.54
    OROMIA 1 40 52.73
    OROMIA 1 75 52.73
    AMHARA 1 60 52.73
    SNNPR 1 30 52.73
    OROMIA 1 45 52.73
    OROMIA 0 55 50.54
    OROMIA 0 48 50.54
    AMHARA 0 50 50.54
    OROMIA 0 50 50.54
    SNNPR 0 27 50.54
    OROMIA 1 27 52.73
    ADDIS ABABA 0 45 50.54
    OROMIA 1 54 52.73
    OROMIA 1 64 52.73
    OROMIA 1 46 52.73
    ADDIS ABABA 1 53 52.73
    AFAR 0 48 50.54
    SNNPR 1 36 52.73
    AMHARA 0 58 50.54
    OROMIA 1 70 52.73
    OROMIA 1 77 52.73
    SOMALI 0 25 50.54
    ADDIS ABABA 0 56 50.54
    ADDIS ABABA 1 49 52.73
    ADDIS ABABA 1 65 52.73
    OROMIA 1 62 52.73
    OROMIA 0 49 50.54
    OROMIA 1 30 52.73
    OROMIA 1 59 52.73
    ADDIS ABABA 1 40 52.73
    AMHARA 0 34 50.54
    OROMIA 0 40 50.54
    ADDIS ABABA 1 27 52.73
    ADDIS ABABA 0 70 50.54
    SNNPR 0 42 50.54
    OROMIA 0 66 50.54
    OROMIA 1 38 52.73
    AMHARA 1 53 52.73
    AMHARA 1 44 52.73
    SNNPR 0 60 50.54
    SNNPR 0 52 50.54
    SNNPR 1 70 52.73
    AMHARA 0 52 50.54
    OROMIA 0 60 50.54
    ADDIS ABABA 0 80 50.54
    ADDIS ABABA 0 50 50.54
    AMHARA 1 65 52.73
    ADDIS ABABA 1 26 52.73
    OROMIA 1 95 52.73
    AMHARA 0 40 50.54
    HARERI 0 60 50.54
    ADDIS ABABA 0 36 50.54
    DIREDAWA 1 35 52.73
    OROMIA 1 42 52.73
    ADDIS ABABA 1 50 52.73
    OROMIA 1 60 52.73
    OROMIA 0 38 50.54
    OROMIA 1 56 52.73
    OROMIA 0 75 50.54
    TIGRAY 0 65 50.54
    OROMIA 0 65 50.54
    AMHARA 1 47 52.73
    AMHARA 1 63 52.73
    OROMIA 0 45 50.54
    ADDIS ABABA 1 73 52.73
    TIGRAY 0 56 50.54
    ADDIS ABABA 1 42 52.73
    ADDIS ABABA 0 43 50.54
    SNNPR 1 20 52.73
    SNNPR 0 50 50.54
    OROMIA 1 67 52.73
    SNNPR 1 18 52.73
    AFAR 0 65 50.54
    SNNPR 0 65 50.54
    OROMIA 1 63 52.73
    SNNPR 1 40 52.73
    SNNPR 1 35 52.73
    ADDIS ABABA 0 53 50.54
    SOMALI 1 22 52.73
    ADDIS ABABA 1 45 52.73
    OROMIA 1 43 52.73
    OROMIA 1 57 52.73
    SNNPR 0 25 50.54
    SNNPR 1 63 52.73
    ADDIS ABABA 0 52 50.54
    ADDIS ABABA 1 58 52.73
    OROMIA 0 35 50.54
    AMHARA 1 58 52.73
    SNNPR 0 53 50.54
    OROMIA 1 35 52.73
    SOMALI 0 50 50.54
    ADDIS ABABA 0 66 50.54
    TIGRAY 0 55 50.54
    ADDIS ABABA 1 66 52.73
    AMHARA 0 41 50.54
    SNNPR 1 45 52.73
    OROMIA 0 68 50.54
    SOMALI 1 40 52.73
    ADDIS ABABA 1 62 52.73
    SNNPR 1 59 52.73
    AMHARA 1 43 52.73
    OROMIA 0 42 50.54
    SNNPR 0 54 50.54
    OROMIA 0 30 50.54
    OROMIA 0 54 50.54
    ADDIS ABABA 0 75 50.54
    ADDIS ABABA 1 32 52.73
    AMHARA 0 60 50.54
    OROMIA 0 57 50.54
    OROMIA 1 65 52.73
    SOMALI 1 48 52.73
    HARERI 1 60 52.73
    ADDIS ABABA 0 55 50.54
    OROMIA 0 43 50.54
    OROMIA 0 70 50.54
    OROMIA 0 32 50.54
    ADDIS ABABA 0 62 50.54
    AMHARA 0 53 50.54

An谩lisis de tendencia central y visual por medio de Pandas (notebook)

Variables num茅ricas (edad)

  • Medidas de tendencia central y variabilidad

     count    349.000000
     mean      51.438395
     std       11.917572
     min       18.000000
     25%       44.000000
     50%       50.000000
     75%       60.000000
     max       95.000000
    
    • La edad promedio es 51.4
    • La edad m铆nima es 18
    • La edad m谩xima es 95
    • Rango: 77
    • El 25% de los datos tienen un valor menor a 44
    • El 50% de los datos tienen un valor menor a 50 (mediana)
    • El 75% de los datos tienen un valor menor a 95
    • Rango intercuartilico: 51
    • La desviaci贸n est谩ndar es 11.91 (hip: est谩n ligeramente dispersos)
  • Diagrama de caja e Histograma

    El siguiente diagrama confirma los resultados anteriores. Los bigotes nos indican que los valores de 18 y 95 son raros por lo que se consideran at铆picos.

    imagen

    Dato que tambi茅n podemos comprobar con un histograma. Los valores m谩s elevados corresponden con el promedio y los m谩s peque帽os con los valores at铆picos que muestra el diagrama de caja.

    imagen

Variables categ贸ricas

  • Moda de algunas de las variables

    region   sex  alcohol  tobacco  khat  pain_swallowing  weight_loss
    OROMIA   0.0      1.0      1.0   1.0              1.0          1.0
    
    
     cough  status_patient  
       1.0             1.0  
    
    

    Interpretaci贸n:

    • La mayor铆a de casos se encuentran en OROMIA.
    • La mayor铆a de casos son del genero '0'.
    • La mayor铆a de casos toman alcohol.
    • La mayor铆a de casos fuman tabaco.
    • La mayor铆a de casos fuman khat.
    • La mayor铆a de casos tienen dolor al tragar.
    • La mayor铆a de casos perdieron peso.
  • Tabla de contingencia (causas)

    khat            0            1             total
    alcohol         0     1      0      1           
    tobacco         0  1  0   1  0   1  0    1      
    status_patient                                  
    0               0  0  0  10  1   4  0   24    39
    1               6  6  4  66  8  37  3  180   310
    total           6  6  4  76  9  41  3  204   349
    

    imagen

    Algunas interpretaciones:

    • 204 personas tomaban alcohol y fumaban tanto tabaco como khat de las cuales sobrevivieron 24 y fallecieron 180.
    • 76 personas tomaban alcohol y fumaban tabaco pero no khat de las cuales sobrevivieron 10 y fallecieron 66.
    • 6 personas no tomaban alcohol y no fumaban ni tabaco ni khat de las cuales fallecieron todas.
  • Tabla de contingencia (s铆ntomas)

    pain_swallowing  0          1              total
    cough            0   1      0       1           
    weight_loss      0   0  1   0  1    0    1      
    status_patient                                  
    0                1   2  1   1  0    9   25    39
    1                1   8  6  11  6  109  169   310
    total            2  10  7  12  6  118  194   349
    

    imagen

    Algunas interpretaciones:

    • 118 personas tuvieron dolor al tragar y tos pero no perdieron peso, de las cuales sobrevivieron 9 y fallecieron 109.
    • 194 personas tuvieron dolor al tragar, todos y perdida de peso, de las cuales sobrevivieron 25 y fallecieron 169.
    • 12 personas tuvieron dolor al tragar, no tuvieron tos ni perdida de peso, de las cuales sobrevivi贸 1 y fallecieron 11,
  • Tabla de contingencia (tratamiento)

    chemotherapy      0              1           total
    radiotherapy      0       1      0      1         
    surgery           0    1  0  1   0   1  0  1      
    status_patient                                    
    0                 2   17  1  1  10   4  2  2    39
    1               109  120  6  4  46  15  7  3   310
    total           111  137  7  5  56  19  9  5   349
    

    imagen

    Algunas interpretaciones:

    • 56 personas fueron tratadas con quimiterapia sin radioterapia ni cirug铆a de las cuales 10 sobrevivieron y 46 murieron.
    • 137 personas fueron operadas, no tuvieron quimiterapia ni radioterapia, de las cuales 17 sobrevivieron y 120 murieron.
    • 111 personas no recibieron ning煤n tratamiento, de las cuales 2 sobrevivieron y 109 murieron.

Al finalizar esta etapa, se pudo apreciar que el conjunto de datos podr铆a no ser 煤til para detectar patrones de supervivencia pero s铆 de fallecimiento.


鈽戯笍 Clasificaci贸n

A continuaci贸n se muestran algunas t茅cnicas de predicci贸n basadas en clasificaci贸n.

Para realizar el entrenamiento con todos los modelos se siguieron los siguientes pasos:

  1. Como datos de entrada se eligieron todos los campos menos la llave primaria, la regi贸n y por supuesto la columna que nos indica el estado del paciente.

  2. Como dato de salida se eligi贸 煤nicamente el estado del paciente.

  3. Separar el conjunto de datos en entrenamiento y prueba (70%/30%).

  4. Realizar el entrenamiento.

Para analizar los resultados se us贸 una matriz de confusi贸n.

imagen

Una interpretaci贸n de los resultados de esta matriz, se puede dar mediante las siguientes f贸rmulas:

  1. Precisi贸n: De todas las clasificaciones positivas que hicimos, 驴cu谩ntas de 茅sas eran en realidad positivas?

    precision = VP / (VP + FP)

  2. Exactitud: Del total de clasificaciones que hicimos, 驴cu谩ntas fueron clasificadas correctamente?

    exactitud = (VP + VN) / (VP + FN + FP + VN)

  3. Sensibilidad: De todas las clasificaciones positivas que hab铆a en realidad, 驴cu谩ntas fueron clasificadas correctamente como positivas?

    sensibilidad = VP / (VP + FN)

  4. Especificidad: De todas las clasificaciones negativas que hab铆a en realidad, 驴cu谩ntas fueron clasificadas correctamente como negativas?

    especificidad = VN / (VN + FP)

Adicionalmente se aplic贸 PCA para reducir el n煤mero de columnas. Con este paso se pretende comparar si todos los modelos definidos tienen alguna mejora. En este caso, ninguno de los modelos present贸 una mejora considerable por lo que no se muestan en este documento, sin embargo pueden observarse en el notebook de cada modelo. Los resultados de PCA se guardaron en un archivo CSV (notebook).

El n煤mero de componentes se elegi贸 estableciente la varianza de las componentes. En este caso se us贸 una varianza del 95%. Como referencia se consult贸 esta referencia.


Regresi贸n Lineal

Se inici贸 este proyecto con la idea de encontrar alguna correlaci贸n entre las distintas variables. Sin embargo al s贸lo contar con una variable cuantitativa, de descart贸 el uso de una regresi贸n lineal. Esto se puede corroborar con la siguiente gr谩fica de pares.

Gr谩fica de pares (notebook)

imagen


Clasificaci贸n Supervisada

Podemos usar los datos para predecir si un paciente puede o no sobrevivir usando un m茅todo de Clasificaci贸n Binaria Supervisada dado que s贸lo tenemos dos posibles valores. Se opt贸 por emplear tres t茅cnicas de clasificaci贸n.

Regresi贸n log铆stica (notebook)

Podemos usar regresi贸n log铆stica en este caso la cu谩l modela el problema por medio del sigmoidal que permite dejar los valores en cero de un lado y los de uno en el otro:

Para el modelo generado se obtuvo la siguiente matriz:

imagen

Interpretaci贸n:

Precision: 0.941747572815534
Exactitud: 0.9428571428571428
Sensibilidad: 1.0
Especificidad: 0.25

Lo cual nos dice que la precisi贸n, exactitud y sensibilidad es bastante buena. Sin embargo la especificad es muy baja lo cual indica que hubo muchos datos que fueron incorrectamente clasificados como negativos. Dicho de otra forma, el modelo fue bueno para clasificar fallecimientos pero no tanto para sobrevivientes. Esto se debe quiz谩 a que tenemos m谩s datos de fallecimientos.

脕rboles de Decisi贸n (notebook)

La idea detr谩s de un 谩rbol de decisi贸n consiste en ir tomando decisiones de forma encadenada e ir descartando soluciones hasta quedarnos con una sola salida, en este caso el valor de la variable status_patient. De esta forma el m茅todo llamado random forest, consiste en tomar varios 谩rboles (bosque) con las siguientes caracter铆sticas:

  1. Cada 谩rbol de decisi贸n debe ser independiente.
  2. Cada 谩rbol debe ser entrenado aleatoriamente,
  3. La informaci贸n que reciben los 谩rboles debe ser distinta para que se basen en distintas caracter铆sticas.

Una vez que todos los 谩rboles se han entrenado, se hace un consenso para decidir el resultado de una predicci贸n. Cada uno de los 谩rboles vota y la clase m谩s votada es la que define a qu茅 clase pertenece el dato.

En este caso se hizo el mismo proceso que con la regresi贸n log铆stica: se separo el conjunto en entrenamiento y prueba, se entren贸 y se midi贸 el desempe帽o usando una matriz de confusi贸n y las f贸rmulas para interpretar los resultados.

imagen

Precision: 0.9320388349514563
Exactitud: 0.9238095238095239
Sensibilidad: 0.9896907216494846
Especificidad: 0.125

Donde vemos que nuevamente la especificidad es bastante baja.

Cada uno de los 谩rboles tiene una forma similar a la siguiente. Se muestra en el ejemplo el 谩rbol 18 del bosque.

imagen

Na茂ve Bayes (notebook)

Este clasificador se basa en la noci贸n de las caracter铆sticas de un objeto que contribuyen a su categorizaci贸n. Se muestran de la misma manera su matriz de confusi贸n y m茅tricas.

imagen

Interpretaci贸n:

Precision: 0.8333333333333334
Exactitud: 0.2571428571428571
Sensibilidad: 0.16666666666666666
Especificidad: 0.8

En este caso aunque mejor贸 considerablemente la especificidad, la exactitud y sensibilidad bajaron demasiado.


Clasificaci贸n No Supervisada

Podemos usar la clasificaci贸n No Supervisada como una alternativa que permita clasificar los casos correctamente mediante clusterizaci贸n, de forma tal que si el modelo genera correctamente las clases, podemos usar el modelo como predictor. En esta caso usamos los datos originales para comparar con la salida de nuestro modelo. Para este caso se obt贸 por usar K-Means.

K-Means (notebook)

Este algoritmo muy 煤til cuando tenemos un dataset que queremos dividir por grupos pero no sabemos exactamente qu茅 grupos queremos y cu谩les son sus caracter铆sticas. Lo 煤nico que tenemos que decidir de antemano es cu谩ntos grupos queremos, y el algoritmo intentar谩 agrupar nuestros datos en esa cantidad de grupos.

Se obtuvo la siguiente matriz:

imagen

Interpretaci贸n:

Precision: 0.89937106918239
Exactitud: 0.47564469914040114
Sensibilidad: 0.4612903225806452
Especificidad: 0.5897435897435898

Notamos como de todos nuestros modelos fue el peor evaluado.


鈽戯笍 Conclusiones

Con base en los distintos trabajos de an谩lisis y definici贸n de modelos se dan las siguientes conclusiones:

  • Los conjuntos de datos originales no son iguales entre s铆, por lo que se deben analizar por separado al tener columnas distintas. Motivo por el cu谩l s贸lo se hizo el an谩lisis sobre casos de C谩ncer de Es贸fago.

  • La edad promedio de personas con c谩ncer de es贸fago ronda los 50 a帽os (para esta muestra).

  • Hay algunos casos raros con pacientes de 18 y 95 a帽os.

  • En su mayor铆a los casos se encontraron en OROMIA, las posibles causas se deben a que los pacientes toman alcohol y fuman. En su mayor铆a tuvieron s铆ntomas como tos, dolor al tragar y p茅rdida de peso.

  • No es posible hacer una regresi贸n lineal dado que la mayor铆a de datos son categ贸ricos.

  • Los mejores modelos de predicci贸n fueron la regresi贸n log铆stica y los 谩rboles de decisi贸n con diferencias m铆nimas.

  • No se sugiere usar el conjunto de datos para detectar si el paciente vivir谩, esto se puede apreciar con el c谩lculo de la especificidad en todos los modelos que se definieron. En todos los casos fue bajo, lo cual nos indica que los datos fueron incorrectamente clasificados como negativos en su mayor铆a.


鈽戯笍 Trabajo a futuro

  • Limpiar e integrar todos los conjuntos de datos.

  • Recabar informaci贸n sobre las categor铆as incluidas en los conjuntos de datos pues algunos datos son desconocidos tales como el g茅nero (驴qu茅 significa 0 y qu茅 1?).

  • Replicar el proceso para los datos de c谩ncer colorectal y de pr贸stata. Es probable que con estos conjuntos de datos s铆 sea posible determinar si el paciente vivir谩.

  • Recabar nuevos datos para detectar otros tipos de cancer, integrando en este caso algunos datos cuantitativos adem谩s de la edad.

mcc_ds_proyecto's People

Contributors

manu-msr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.