Minera de datos aplicada a la detección de Cáncer de Mama

Transcription

Minera de datos aplicada a la detección de Cáncer de Mama
Minera de datos aplicada a la detección de Cáncer de
Mama
Eugenio Hernández Martínez
Rodrigo Lorente Sanjurjo
Universidad Carlos III de Madrid
Universidad Carlos III de Madrid
[email protected]
[email protected]
ABSTRACT
El Modelo de Simulación Epidemiológica de Cáncer de Mama
Wisconsin [1] es un modelo de simulación estocástico que usa un
sistema científico de modelado para estudiar el nivel de incidencia
y mortalidad del cáncer de mama de la población en Estados
Unidos entre 1975 y 2000. Se modelan simultáneamente cuatro
procesos interactivos:
-
Historia natural del cáncer de mama
Detección de cáncer de mama
Tratamiento de cáncer de mama
Mortalidad del cáncer de mama
Estos componentes forman un complejo sistema interactivo que
simula las vidas de 2.950.000 mujeres (aproximadamente el 1/50
de la población estadounidense) desde 1950 hasta 2000 en ciclos
de 6 meses. Después de un periodo de aprendizaje de 25 años, las
salidas del modelo permiten obtener las tasas de incidencia y
mortalidad en función de la edad entre 1975 y 2000. El modelo
también simula casos de enfermedad, tanto detectada como oculta,
a nivel individual, y puede utilizarse también para responder a
preguntas sobre la selección y efectividad de tratamientos, además
de para estimar beneficios para mujeres de edades e historiales
específicos.
El cáncer de mama afecta aproximadamente a un 15% de las
mujeres en edad de riesgo de todo el mundo [2]. Una detección
temprana de la presencia de células cancerosas malignas aumenta
la posibilidad de vida de las pacientes, sobre todo cuando se
localiza un tumor pequeño y aún no ramificado.
El objetivo de este artículo es realizar el análisis de los datos
correspondientes a un conjunto de mujeres para poder obtener
ciertos patrones a la hora de poder aplicarlos para detectar
posibles casos de cáncer de mama mediante minería de datos, de
manera similar a otros estudios basados en algoritmos genéticos
[3].
1.1 Minería de datos
La minería de datos (DM, Data Mining) consiste en la extracción
no trivial de información que reside de manera implícita en los
datos. Dicha información era previamente desconocida y podrá
resultar útil para algún proceso. En otras palabras, la minería de
datos prepara, sondea y explora los datos para sacar la
información oculta en ellos [4].
KEYWORDS
Detección de cáncer de mama, supervivencia al cáncer de mama,
minería de datos, Weka, aprendizaje.
1. INTRODUCCION
En la última década, la Minería de Datos y el Análisis Estadístico
han sido ampliamente utilizados en la industria del cuidado de la
salud. Cuando estos métodos son utilizados junto a información
extraída de grandes cantidades de datos, pueden ayudar a los
médicos para tomar decisiones y mejorar el servicio.
Figura 1. Ciclo de Vida de Proyectos de Minería de Datos
2.1 Atributos
1.2 Weka
1.
Weka es un conjunto de librerías Java para la extracción de
conocimientos desde bases de datos. Es un software ha sido
desarrollado en la universidad de Waikato (Nueva Zelanda) bajo
licencia GPL lo cual ha impulsado que sea una de las suites más
utilizadas en el área en los últimos años.
El banco de trabajo de Weka contiene una colección de
herramientas de visualización y algoritmos para el análisis de
datos y modelos de predicción, junto a interfaces gráficas para
facilitar dichas funcionalidades. La versión original no
implementaba Java y utilizaba la línea de comandos para
implementar algoritmos (utilidades de procesado de datos en C y
un sistema basado en Makefile para ejecutar los experimentos de
aprendizaje) para analizar datos agrícolas. Sin embargo, la versión
basada en Java (Weka 3), que comenzó a desarrollarse en 1997, es
usada actualmente en numerosas áreas, en particular para
propósitos educativos y de investigación.
Weka soporta numeroso estándares para realizar minería de datos,
concretamente preprocesado de datos, clustering, clasificación,
regresión, visualización, y selección de características [5].
Sample code number: código identificativo de cada
paciente. Entero.
2. Clump Thickness: espesor. Entero [0,10].
3. Uniformity of Cell Size: uniformidad del tamaño de la
célula. Entero [0,10].
4. Uniformity of Cell Shape: uniformidad de la forma de la
célula. Entero [0,10].
5. Marginal Ashesion: adhesión marginal. Entero [0,10].
6. Single Epithelial Cell Size: tamaño individual de la
célula. Entero [0,10].
7. Bar Nuclei: núcleo. Entero [0,10].
8. Bland Chromatin: cromatina blanda. Entero [0,10].
9. Normal Nucleoli: nucleoli normal. Entero [0,10].
10. Mitoses: mitosis. Entero [0,10].
11. Class: clase. {benigno, maligno}.
La distribución de clase es: benigno 458 (65.5%) y maligno 241
(34.5%).
2.1.1 Clump Thickness
Como podemos observar el espesor de la mama es un factor de
peso a la hora de determinar el tipo de tumor, cuanto menor sea el
espesor más probabilidad de que se trate de un cáncer benigno.
Esta herramienta dispone de varios tipos de clasificadores, cuyo
funcionamiento dependerá del número de ejemplos para entrenar,
siendo tanto más fiables los modelos cuanto mayor número de
ejemplos dispongamos. En esta práctica intentaremos determinar
que clasificadores son mejores ante casos números de ejemplos de
entrenamiento reducidos.
2. TRABAJO CON LOS DATOS
La base de casos Wisconsin Breast Cancer Database consta de
699 casos, cada uno con 9 atributos correspondientes a
observaciones subjetivas de los tumores, más dos atributos
correspondientes a la identificación del caso y a la clasificación
del tumor (benigno o maligno). Las observaciones subjetivas se
basan en descripciones de las células obtenidas de una imagen.
Esta aproximación sigue un proceso de siete pasos para extraer
información útil de los datos:
1.
2.
3.
4.
5.
6.
7.
Identificar los objetivos
Obtener un conjunto de datos a analizar
Preprocesado de datos
Transformación de datos
Minería de Datos y Análisis Estadístico
Interpretación y evaluación
Escribir el informe
Figura 2. Espesor
2.1.2 Uniformity of Cell Size
Los casos benignos se concentran en el índice de uniformidad 1
Figura 5. Mitosis
Figura 3. Uniformidad del tamaño de la célula
2.1.3 Single Epithelial Cell Size
3. EVALUACIÓN DE LOS DATOS
En este caso podemos ver que la mayoría de los tamaños de célula
se concentran en valores pequeños, estando relacionado el menor
tamaño con si el tumor es benigno.
Este sería ya el cuarto de los pasos a dar a la hora de llevar a cabo
un estudio sobre la minería de datos. Por ello se van a ir sacando
y extrayendo los resultados buscados para este estudio en cada
momento en función de los parámetros. Para este propósito
utilizaremos las distintas herramientas de clasificación que nos
ofrece Weka.
3.1 K-NN
En el método K-NN [6] (K nearest neighbors Fix y Hodges, 1951)
es un método de clasificación supervisada.
Este es un método de clasificación no paramétrico, que estima el
valor de la función de densidad de probabilidad o directamente la
probabilidad a posteriori de que un elemento x pertenezca a una
determinada clase Cj a partir de la información proporcionada por
el conjunto de muestras. Generalmente para saber en qué clase
nos encontramos utilizaremos la distancia euclídea1.
El valor de k óptimo que deberemos fijar dependerá de nuestros
datos, ya que un valor muy pequeño nos haría el sistema muy
sensible al ruido y un valor demasiado alto nos llevaría a una mala
clasificación.
Figura 4. Tamaño individual de la célula
2.1.4 Otras consideraciones
El resto de los atributos presentan histogramas similares (a menor
valor más cantidad de benignos), aunque cabría destacar el de
Mitoses ya que aparentemente se trata de un atributo que no
proporciona información debido a que la inmensa mayoría de
casos (tanto benignos como malignos) se concentran en el nivel
más bajo.
Figura 7. Error K-NN.
Figura 6. Clasificación KNN
En el ejemplo anterior, se ve como se quiere clasificar una nueva
muestra (en verde) con un k-NN. Se observa que se elige un k = 3,
la muestra nueva se clasificará en la clase roja, en cambio si
elegimos un k = 5 la muestra será clasificada en la clase azul.
En nuestro caso, procederemos a utilizar la función IB-k
disponible en Weka, con una k comprendida en el intervalo
[1,10], activando la casilla cross-validation con 10 folds,
obteniendo los siguientes resultados.
Como podemos ver en la gráfica anterior, el error fluctúa según la
k elegida, en nuestro caso en concreto se obtiene que la k óptima
se produce para k = 3 produciendo un error del 3.14 %
3.2 MLP
El perceptrón multicapa [7] es una red neuronal artificial (RNA)
formada por múltiples capas, esto le permite resolver problemas
que no son linealmente separables, lo cual es la principal
limitación del perceptrón. El perceptrón multicapa puede ser
totalmente o localmente conectado. En el primer caso cada salida
de una neurona de la capa "i" es entrada de todas las neuronas de
la capa "i+1", mientras que el segundo, cada neurona de la capa
"i" es entrada de una serie de neuronas (región) de la capa "i+1".
Tabla 1. Error KNN
Las capas pueden clasificarse en tres tipos:
k
error
1
4,8641
2
5,4363
3
3,1474
4
3,2904
5
3,2904
6
3,7196
7
3,4335
8
3,8627
9
3,7196
1.
2.
3.
Capa de entrada: Constituida por aquellas neuronas que
introducen los patrones de entrada en la red. En estas
neuronas no se produce procesamiento.
Capas ocultas: Formada por aquellas neuronas cuyas
entradas provienen de capas anteriores y las salidas
pasan a neuronas de capas posteriores.
Capa de salida: Neuronas cuyos valores de salida se
corresponden con las salidas de toda la red.
10 3,5765
1
La fórmula de la distancia euclídea es la siguiente:
Figura 8. Detalle de una neurona
Como podemos ver en la figura 8, a la salida tendremos
2
puede ser una función del tipo sigmoide que será la
Donde
función de activación.
Las capas de las redes neuronales usadas en esta aplicación son de
dos tipos “a”, “t” e “i”, donde 'a' = (attribs + classes) / 2, 'i' =
attribs, 'o' = classes, 't' = attribs + classes. Se pueden ver a
continuación en las figuras 9, 10 y 11.
Los resultados obtenidos para cada distinta implementación son
los siguientes.
3.2.1 MLP Clase a
Tabla 2. Resultados MLP Clase A
Benigno
440
15
Maligno
18
226
<-Clasificado como
Benigno
Maligno
Donde obtenemos un error de 4.721 %.
3.2.2 MLP Clase i
Tabla 3. Resultados MLP Clase i
Benigno
444
14
Maligno
14
227
<-Clasificado como
Benigno
Maligno
Figura 9. MLP clase a
Donde obtenemos un error de 4 %.
3.2.3 MLP Clase t
Tabla 4. Resultados MLP Clase t
Benigno
443
19
Maligno
15
223
<-Clasificado como
Benigno
Maligno
Donde obtenemos un error de 4.86 %.
Figura 10. MLP clase i
Como podemos observar, los tres valores son bastante parecidos,
la tasa de fallos está en torno al 4-5%, siendo mejor el perceptrón
de la clase I. Se podría aumentar aún más el número de capas
ocultas del MLP para así poder tener un modelo mucho más fiable
y aproximado al real, aunque esto nos llevaría a un aumento del
tiempo de cómputo y de complejidad.
2
Figura 11. MLP clase t
Sigmoide
3.3 Naïve Bayes
Naïve Bayes (NB) (John y Langley, 1995) [8] [9] es un
clasificador probabilístico que parte de la premisa de que cada par
parámetro-valor de un mismo ejemplo es independiente del resto.
A cada par parámetro-valor se le asigna una probabilidad de
pertenencia a una clase. Para ello se divide el número de ejemplos
de cada clase en los que aparece ese par entre el número de
ejemplos que pertenecen a esa clase. Para clasificar un caso nuevo
se calcula la probabilidad de pertenencia de ese caso a cada clase,
clasificándolo en la clase donde dicha probabilidad sea mayor,
adoptando pues un criterio de estimación máxima a posteriori.
Esta probabilidad de pertenencia se calcula como el producto de la
probabilidad de pertenencia a cada clase de cada uno de los pares
parámetro-valor que definen el caso que se desea clasificar.
Y se clasificaría según el mayor valor anterior.
Llevándolo a Weka y utilizando la función SimpleNaiveBayes,
obtenemos
Correctly Classified Instances
Incorrectly Classified Instances
671
95.9943 %
28
4.0057 %
Tabla 5. Resultados Naïve Bayes
Benigno
436
6
Maligno
22
236
<-Clasificado como
Benigno
Maligno
Por lo tanto, si tenemos la siguiente distribución
Como podemos ver el error de clasificación para este método es
similar al obtenido para el perceptrón de clase I, aunque si
podemos ver que la tasa de fallos se distribuye de otra manera,
siendo ahora la tasa de falsas alarmas mucho mayor que la tasa de
pérdidas solo siendo clasificados 6 casos erróneamente.
3.4 SMO
Figura 12
A partir de la figura 12, calculamos las probabilidades de estar en
verde ( ) y en rojo ( ).
SMO implementa el algoritmo de optimización mínima secuencial
para entrenar una máquina de soporte vectorial (SVM) (Vapnik,
1995). Estos algoritmos extienden las características de los
modelos lineales, ya que permiten distinguir entre clases que
presentan límites de decisión no lineales. Para ello se transforman
los datos originales transformándolos de forma no lineal en un
nuevo espacio de mayor dimensión. En este nuevo espacio se
construye un modelo lineal que pueda representar un límite de
decisión no lineal en el espacio original. Puede hallarse una
introducción más detallada a SVM en Burges (1998).
Correctly Classified Instances
Incorrectly Classified Instances
678
21
96.9957 %
3.0043 %
Tabla 6. Resultados SMO
Figura 13
Cuando un nuevo objeto se introduce, se mira la verosimilitud con
los objetos contiguos como.
Ahora para finalizar la clasificación, aplicamos la regla de Bayes:
Benigno
446
9
Maligno
12
232
<-Clasificado como
Benigno
Maligno
Como podemos ver en los resultados obtenidos mediante SMO, la
tasa de fallos se reduce hasta un 3%, incluso por debajo del 3-NN.
En cambio, al tener una menor tasa de error, obtenemos una
probabilidad de pérdidas superior al caso anterior lo cual no es
ventajoso. También cabe destacar que disminuye la probabilidad
de falsa alarma, hasta el punto de solo haber 12 casos que la
contemplan.
3.5 RFB
Tabla 7. Resultados RFB
RFB [10] [11] es un método alternativo al perceptrón multicapa
(MLP) (ej.: backpropagation) para hacer ajuste a funciones no
lineales. A diferencia de la disposición que se tiene en la
funciones de activación que permite construir modelos de
entrenamiento mediante backpropagation, estas nuevas redes
basadas en RBF construyen sus modelos con funciones de
activación que son diferentes tanto en la capa oculta como la de
salida. Esto es, una red RBF está diseñada con neuronas en la capa
oculta activadas mediante funciones radiales de carácter no lineal
con sus centros gravitacionales propios y en la capa de salida
mediante funciones lineales.
A diferencia de las MLP, el modelo clásico de las redes RBF está
construido con una arquitectura rígida de tres capas: la de entrada,
la oculta y la de salida.
En general, una red RBF tiene un mejor desempeño con un mayor
volumen de datos de entrenamiento.
La construcción de una red RBF requiere de una mayor cantidad
de neuronas en los nodos ocultos que en las redes que usan
backpropagation. Aunque las redes RBF no son comúnmente
utilizadas en aplicaciones que impliquen un alto volumen de
patrones de entrenamiento, se le reconoce como una red con una
alta eficiencia en la fase de entrenamiento.
En Weka utiliza un algoritmo de clustering del tipo k-means y
aprende por regresión logística o por regresión lineal. Utilizará el
número de clusters de las clases que se quieran clasificar, y
estandarizará los datos a media cero y varianza unidad.
Efectuando de la misma manera que en el K-NN, obtenemos los
las siguientes tasas de fallos en función del número de clusters.
Benigno
437
8
Maligno
21
233
<-Clasificado como
Benigno
Maligno
Como podemos ver, la red RFB nos proporciona un buen
resultado a la hora de detectar los casos positivos, donde se
observa que la probabilidad de pérdidas es pequeña, aunque la
probabilidad de falsa alarma si es elevada en comparación a los
demás algoritmos analizados.
3.6 J48
J48 [12] Implementa la versión pública del algoritmo de
clasificación basada en árboles de decisión C4.5 revisión 8, previa
a la comercialización de la versión C5.0 (Quinlan, 1993, citado
por Witten y Frank, 2005, p. 198). Estos árboles clasifican un
nuevo caso mediante la evaluación, en cada nodo del modelo, de
los parámetros que definen el caso que se pretende clasificar. Los
casos que, partiendo de la raíz, llegan a una determinada hoja
reciben la clasificación que la hoja indica.
La importancia de los árboles de decisión se debe a su capacidad
de construir modelos interpretables, siendo este un factor decisivo
para su aplicación. La clasificación en árboles de decisión
considera clases disjuntas, de forma que el árbol conducirá a una y
solo una hoja, asignando una única clase a la predicción. Este
algoritmo es una mejora del algoritmo ID3.
El algoritmo J48 se basa en la utilización del criterio ratio de
ganancia (gain ratio). De esta manera se consigue evitar que las
variables con mayor número de posibles valores salgan
beneficiadas en la selección. Además el algoritmo incorpora una
poda del árbol de clasificación una vez que éste ha sido inducido.
Ejecutando el algoritmo en Weka, obtenemos
Correctly Classified Instances
Incorrectly Classified Instances
661
94.5637 %
38
5.4363 %
Tabla 7. Resultados j48
Benigno
438
18
Donde podemos ver que el error aumenta si aumentamos el
número de clusters. Para el error mínimo tenemos el siguiente
resultado:
670
29
<-Clasificado como
Benigno
Maligno
Como podemos ver, con este método la tasa de errores sube hasta
un 5%.
Figura 14. Error RFB.
Correctly Classified Instances
Incorrectly Classified Instances
Maligno
20
123
95.8512 %
4.1488 %
Obteniendo el árbol de decisión de la figura 15.
-
El caso de mínimo error del RFB es similar al del Naïve
Bayes, con una cantidad de falsas alarmas mucho mayor
que de pérdidas, lo que resulta un problema. Para
valores mayores del número de clusters la tasa de error
aumenta.
-
Al igual que el SMO, el clasificador J48 presenta un
equilibrio entre las falsas alarmas y las pérdidas, no
obstante el error es significativamente mayor, siendo el
que peores propiedades en este aspecto presenta.
Teniendo en cuenta lo anteriormente descrito, nos
decantaríamos por la utilización del clasificador SMO,
debido a su baja tasa de error y al equilibrio entre falsas
alarmas y pérdidas.
5. REFERENCIAS
[1] Breast Cancer Wisconsin Diagnostic Data Set.
http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wiscon
sin+(Diagnostic)
[2] W. H. Wolberg “Benign breast disease and breast cancer
tutorial”. Versión Online:
4. CONCLUSIONES
A la vista de los resultados obtenidos llegamos a la conclusión de
que si bien todos los atributos pueden afectar en mayor o menor
medida a la clasificación de un tumor como benigno o maligno, y
que en general se cumple que a menor valor del atributo mayor
probabilidad de que se trate de clase benigna, en el caso concreto
del atributo Mitosis, como ya se comentó en su momento, se
puede pensar en que su eliminación del estudio no afectará mucho
a los resultados, ya que la gran mayoría de los casos, tanto de una
clase como de otra se sitúan en el nivel más bajo.
Analizando los resultados de los diferentes clasificadores vemos
ligeras diferencias de unos a otros, aunque las tasas de error de
todos se concentran en torno al 3-5%, en un análisis más
pormenorizado:
-
-
-
-
El K-NN presenta la ventaja de poder elegir el valor de
K para nuestros requerimientos, no obstante tenemos el
problema de encontrar el valor óptimo y la necesidad de
ir variándolo.
El clasificador del perceptrón multicapa permite
seleccionar entre varias opciones, aunque los resultados
entre ellos son similares y presentan peores
características que por ejemplo el K-NN.
https://mywebspace.wisc.edu/wwolberg/breast/breast.html
[3] Clasificación de células cancerosas usando algoritmos
genéticos
http://cencomed.sld.cu/socbio2007/trabajos/pdf/t033.pdf
[4] Minería de datos
http://es.wikipedia.org/wiki/Data_mining
[5] Weka
http://en.wikipedia.org/wiki/Weka_(machine_learning)
[6] Algoritmo K-NN
http://es.wikipedia.org/wiki/Knn
[7] Clasificador perceptrón multicapa
http://europa.eu.int/en/comm/eurostat/research/supcom.95/16
/result/node7.html
[8] Clasificación Naïve Bayes
http://en.wikipedia.org/wiki/Naive_Bayesian_classificatio
n
[9] Clasificador Naïve Bayes
http://www.statsoft.com/textbook/stnaiveb.html
[10] Introduction of the Radial Basis Function (RBF)
Networks
Con el Naïve Bayes obtenemos una probabilidad de
error mayor que para la mayoría de los K-NN, aunque
la distribución de errores se decanta en clasificar
tumores malignos como benignos, lo que podría
considerarse más grave que el caso contrario.
[11] CAPITULO 4 FUNCION DE BASE RADIAL (RBF)
El clasificador SMO presenta la mejor tasa de error,
estando los errores bastante equilibrados entre falsas
alarmas y pérdidas.
[12] Miguel Ángel Fuente Rodríguez. Pablo Galarza Heredero
http://axiom.anu.edu.au/~daa/courses/GSAC6017/rbf.pdf
http://www.webdelprofesor.ula.ve/economia/gcolmen/pro
grama/redes_neuronales/capitulo4_funciones_bases_radi
ales.pdf
http://www.it.uc3m.es/jvillena/irc/practicas/05-6/13mem.pdf