Beruflich Dokumente
Kultur Dokumente
ISSN 0122-1701
104
decisin y el algoritmo ID3. Posteriormente se demuestra empricamente que es posible diagnosticar la necesidad de administrar frmacos en pacientes con sntomas de enfermedad cardiovascular, usando las variables presin arterial, ndice de colesterol, azcar en la sangre, alergias a antibiticos y otras alergias, mediante la utilizacin de rboles de decisin evaluados con el algoritmo ID3 (Induction Decision tree) utilizando una aplicacin en java realizada por los autores. II. TCNICAS DE MINERA DE DATOS
Los modelos de Minera de Datos se pueden aplicar en: -Prediccin de ventas. -Clasificacin y estratificacin de Clientes. -Determinar relaciones entre productos que generalmente se venden juntos. -Buscar secuencias en el orden en que los clientes agregan productos a una canasta de compra. -Diagnstico mdico. Dentro de las principales tcnicas de Minera de Datos[3] se encuentran: Tcnicas de inferencia estadstica. Visualizacin. Razonamiento basado en memoria. Deteccin de conglomerados. Anlisis de vnculos. rboles de decisin. Redes neuronales. Algoritmos genticos. A. rboles de decisin Los arboles de decisin es2 una de las tcnica de aprendizaje inductivo supervisado no paramtrico, se utiliza para la prediccin y se emplea en el campo de inteligencia artificial, donde a partir de una base de datos se construyen diagramas de construccin lgica, muy similares a los sistemas de prediccin basados en reglas, que sirven para representar y categorizar una
I.
INTRODUCCIN
La Minera de Datos1 es una tecnologa nueva de gran importancia que permite la integracin de un conjunto de reas [1] (estadstica, inteligencia artificial, matemticas, biologa y medicina), adems ayuda a identificar informacin oculta significativa que se encuentra en grandes volmenes de datos [2], cuyo objetivo especfico es que dicha informacin encontrada sirva de base para la toma de decisiones de acuerdo al caso de estudio. En la segunda seccin de este artculo se realiza una descripcin de las tcnicas de minera de datos, arboles de
M.sc, Ingeniero de Sistemas Fecha de Recepcin: 25 de Agosto de 2011 Fecha de Aceptacin: 12 de Noviembre de 2011
105
serie de condiciones que ocurren en forma repetitiva para la solucin de un problema. Propiedades de los Arboles de decisin. Una de las propiedades de esta tcnica es que permite una organizacin eficiente de un conjunto de datos, debido a que los rboles son construidos a partir de la evaluacin del primer nodo (raz) y de acuerdo a su evaluacin o valor tomado se va descendiendo en las ramas hasta llegar al final del camino (hojas del rbol), donde las hojas representan clases y el nodo raz representa todos los patrones de entrenamiento los cuales se han de dividir en clases. Los sistemas que implementan arboles de decisin tales como ID3 son muy utilizados en lo que se refiere a la extraccin de reglas de dominio. Este mtodo (ID3) se construye a partir del mtodo de Hunt. La heurstica de Hunt, consiste escoger la caracterstica ms discriminante del conjunto X, luego realizar divisiones recursivas del conjunto X, en varios subconjuntos disyuntos de acuerdo a un atributo seleccionado. A. El algoritmo ID3 Una de las dificultades que se presenta al realizar el proceso de construccin de un rbol de decisin es escoger el atributo ms apropiado. Este atributo debe ubicarse en la raz del rbol para lo cual se debe realizar una prueba estadstica a cada uno de los atributos que permite determinar que tan acertado se estn clasificando los ejemplos de entrenamiento. Una vez se obtiene el atributo ms apropiado, se selecciona y se utiliza como nodo prueba en la raz del rbol, luego para cada uno de los otros atributos se procede a generar un nuevo descendiente. Los datos de entrenamiento son divididos y asignados al nodo descendiente adecuado, es decir, se organizan las ramas de acuerdo al valor que toma cada atributo. Este procedimiento se realiza recursivamente en cada nodo descendiente, utilizando los datos de entrenamiento correspondientes. A continuacin se describe el pseudocdigo del algoritmo ID3. ID3 (Ejemplos,AtributoClasificador,Atributos) Ejemplos son los datos de entrenamiento. AtributoClasificador es el atributo cuyo valor va a ser predecido por el rbol y que toma valores positivos o negativos. Atributos es una lista con otros atributos que pueden ser ensayados o candidatos a ser elegidos para ser la raz de este rbol. Inicio - Crear un nodo raz para el rbol. - Si todos los ejemplos son positivos, regrese el nodo raz tipo hoja con etiqueta positiva - Si todos los ejemplos son negativos, regrese el nodo raz tipo hoja con etiqueta negativa - Si Atributos esta vacio, regrese el nodo raz tipo hoja, con etiqueta igual al valor ms comn (la moda) del Atributo
Clasificador. De lo contrario- A el atributo de Atributos que mejor clasifique los ejemplos. - Etiquetar el nodo raz con el nombre de A (nodo tipo rama) - Para cada posible valor vi de A - Adicionar una nueva rama al nodo raz para la prueba A = vi - Hacer Ejemplos vi El subconjunto de Ejemplos donde A = vi - Si Ejemplos vi est vacio - Bajo esta nueva rama, adicionar un nodo hoja con etiqueta igual al valor ms comn (la moda) del Atributo Clasificador. De lo contrario - Bajo esta nueva rama, adicionar el subrbol: ID3( Ejemplos vi Atributo Clasificador , Atributos-{A} ) - Regresar el nodo raz Fin Cdigo 1.0 Pseudocdigo del Algoritmo ide3 3 Para decidir qu atributo es el ms apropiado a usar en cada nodo del rbol se utiliza una propiedad estadsticas llamada ganancia de informacin, que mide que tan bien clasifica ese atributo a los datos de entrenamiento. As que elije el nodo del rbol que tenga mayor ganancia de informacin y luego expande sus ramas utilizando la misma metodologa. La ganancia de informacin es una diferencia de entropas. El concepto de entropa se basa en la teora de la informacin Esta teora fue desarrollada inicialmente por Claude Shannon 4 a mediados del siglo XX. Vamos a aclarar el concepto de entropa usando el conjunto de datos utilizado en esta investigacin. A un conjunto de pacientes con enfermedad cardiovascular, de acuerdo a un concepto mdico, se les administra un frmaco segn sea el valor de la presin, el azcar en sangre, ndice de colesterol y otras alergias (ver tabla 1).
Pacient e Presin Azcar en la sangre ndice de colesterol Alergias a antibitic os Otras alergias Administr ar frmacos
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Alta Alta Baja Media Media Baja Alta Alta Alta Baja Media Alta Baja Baja
Alto Alto Alto Alto Bajo Bajo Bajo Bajo Alto Bajo Bajo Bajo Alto Alto
Alto Alto Bajo Alto Alto Alto Alto Bajo Bajo Alto Alto Bajo Alto Bajo
NO SI NO NO SI SI SI NO SI SI SI SI SI NO
NO NO NO SI SI SI N0 SI SI SI SI SI SI NO
SI SI SI NO NO SI SI SI NO SI SI NO SI SI
Tesis de maestra, UTP. Reinel Arias Montoya. Deteccin Temprana De Fallas en La Red De Internet Banda Ancha Aplicando Minera De Datos /Oct/2010 4 http://www.nyu.edu/pages/linguistics/courses/v610003/shan.htm
106
En el grupo de datos S (vea tabla 1) que contiene valores positivos o negativos sobre una variable dicotmica para calcular la entropa de S relativa a su clasificacin booleana se debe definir: Pp; es la probabilidad de que las respuestas sean positivas segn el conjunto S. Pn; es la probabilidad de que las respuestas sean negativas segn el conjunto S.
GS, A HS
HS, A
(3)
En la anterior expresin el primer trmino H(S) corresponde a la entropa de S, el segundo trmino corresponde al valor esperado de la entropa despus de que S ha sido particionado de acuerdo al atributo A. Como podemos observar el segundo trmino de la frmula de ganancia no es ms que la sumatoria de entropas de cada subconjunto Sv, ponderado por la fraccin S v
S
puede observar
PP
10 0,71 14
y que
Pn
4 0,28 14
Para facilitar los clculos anteriores se usan tablas de contingencia. La tabla 2, de contingencia para la presin arterial se obtiene a partir de los datos de la tabla 1.
Alto 4 2 6 Medio 2 1 3 Bajo 5 0 5 Total 10 4 14
HS PPlog 2 PP Pnlog 2 Pn
(1)
Si No Total
Segn la ecuacin (1), la entropa del conjunto de los 14 datos respecto a la variable Administrar frmacos se calcula de la siguiente manera: Si la entropa toma un valor de cero es cuando todos los miembros pertenecen a una misma clase ya sea negativa o positiva debido que log(1) 2 0 . Por tal motivo la entropa se encuentra siempre en un intervalo de cero a uno, alcanzando a un mximo cuando esta proporcin es de 0,5 es decir existe una mxima aleatoriedad. B. Concepto de ganancia de informacin Com o se i 1 dijo anteriormente la entropa es una medida de desorden e impureza en un conjunto de datos. Para la clasificacin de los datos se utiliza una medida llamada ganancia de informacin, esta medida reduce la entropa
HS
HS ,se
procede a calcular la entropa de cada uno de los valores de A, es decir, la entropa de Presin arterial (alta, media y baja),
C 4 4 2 2 HSPAalta Pi log 2 ( Pi ) log 2 log 2 0,918 6 6 6 6 i 1 utilizando la tabla 2 de contingencia. Luego se realiza de igual manera el clculo de la entropa para la presin arterial media y baja. Una vez se obtengan los tres valores se procede al clculo de la ganancia de informacin con ese atributo utilizando la formula (3) De la misma manera se realizan las tablas de contingencia para cada uno de los otros atributos mostrados en la tabla 1, y a partir de ellas se realizan los
P log
i
2 ( Pi )
GS,PA 0,86
HA,S
V Valores( A)
Sv S
HS v
(2)
clculos de entropa y de ganancia de informacin para cada una de ellos. Los resultados de ganancia de informacin de los todos los atributos se muestran en la tabla 3
Atributos Ganancia de Informacin
obtenida al realizar la divisin de los datos en los subconjuntos de entrenamiento. Donde S es un grupo de muestras clasificadas en C clases, A son los atributos y Sv es un subconjunto de S Valores. A es una lista de los posibles valores de cada atributo. La frmula de ganancia de informacin se define como:
Presin Arterial G (S, PA)= 0.2727 Azcar en Sangre G (S, AZ) 0.0 ndice de Colesterol G (S, IC) = 0.0207 Otras Alergias G (S, OA) = 0.0195 Alergias a antibiticos G (S, AA) =0.01495 Tabla3. Ganancia de Informacin para todos los atributos. Fuente: autores.
107
Como se observa, de la tabla 3, el atributo que se debe seleccionar como nodo raz es la Presin arterial ya que de acuerdo con la medida de ganancia de informacin (0.2727) es el ms adecuado para ser nodo inicial (raz) creando as tres ramas. Presin
El mtodo de ganancia de informacin en casos extremos presenta dificultades debido a que genera la misma cantidad de reglas como elementos tiene el conjunto de entrenamiento. Para evitar esta dificultad se utiliza la medida de la proporcin de ganancia de informacin propuesta por Quinlan[4]. La proporcin de ganancia penaliza los atributos que tienen demasiados valores, incorporando un nuevo trmino llamado informacin de la divisin, el cual es sensitivo a qu tan amplia y uniformemente el atributo separa los datos.
Alta
Arterial Media
Baja
IdivS, A
i 1
Si S lo g 2 i S S
(4)
A continuacin se debe aplicar la misma tcnica en cada uno de los nuevos nodos creados, pero en cada nodo creado solo se usa un subconjunto de los datos como se observa en las siguientes tablas 4 a 6.
Paci ente Presin Arterial Azca r en la sangre ndice de colesterol Alergias a antibiticos Otras alergias Administrar frmacos
Aqu S1 hasta Sc son los c subconjuntos resultantes de particionar S de acuerdo al atributo A que tiene c valores distintos. La medida de proporcin de ganancia se define en trminos de la medida de ganancia en la ec. (5).
Pgan S, A G ( S , A) Idv ( S , A)
(5)
1 2 7 S 9 12
NO SI SI NO SI SI
NO NO N0 SI SI SI
SI SI SI SI NO NO
Los resultados obtenidos para la proporcin de ganancia de informacin de todos los atributos se muestran en la tabla 7.
Atributos Presin Arterial Azcar en Sangre ndice de Colesterol Otras Alergias Alergias a antibiticos Ganancia de Informacin Pgan (S, PA)= 0.4620 Pgan (S, AZ) 0.0 Pgan (S, IC) = 0.18481 Pgan (S, OA) =0.01439 Pgan (S, AA) =0.01495
4 5 11
NO SI SI
SI SI SI
NO NO SI
III.
RESULTADOS DE LA EVALUACIN
3 6 10 13 14
NO SI SI SI NO
NO SI SI SI NO
SI SI SI SI SI
En esta seccin se presentan los resultados obtenidos al correr la aplicacin en Java implementada por los autores de esta investigacin para el mismo conjunto de datos mostrados en la tabla 1. Una vez que se tiene la matriz de ocurrencias se procede a formas las tablas de contingencias. A partir de cada tabla de contingencia se procede a realizar los clculos de entropa. A continuacin se muestra el fragmento de cdigo para el clculo de entropas para cada una de las tablas de contingencia previamente creadas. El siguiente es el cdigo en java para el clculo de la entropa.
public double calcular_entropia(double pp, double pn){ double logbase2pp,logbase2pn,entropia=0; aux=pp+pn; if (aux!=0) { pp = pp / aux; pn=pn/aux; logbase2pp=Math.log(pp) / Math.log(2); logbase2pn=Math.log(pn) / Math.log(2); entropia=((-1)*(pp*logbase2pp))-(pn*logbase2pn); } return entropia; } Cdigo 2.0 Calcula Entropa
Si observamos el comportamiento de los datos en la tablas anteriores podemos deducir que para el atributo Presin Arterial = baja la recursin tiende a terminar, ya que la variable administrar frmacos es positiva en todos los casos, por lo tanto este atributo queda apuntado a una hoja llamada baja con un valor de si. Sin embargo las otras dos ramas restantes quedaran en evaluacin recursiva, dividiendo el espacio de bsqueda y reduciendo el nmero de datos de entrenamiento. Igualmente se realiza el mismo procedimiento recursivo con los dems atributos hasta formar el rbol.
108
Calculo de Entropa [0] = 0.7219280948873623 [2] = 0.9182958340544896 Calculo de Ganancia de Informacin y proporcin de ganancia H(S) = 0.19199255746094904 G(S) = 0.20703137867809185 Idiv = 0.6560891898885391 Pgan = 0.31555371109416347 Tabla de Contingencia Alergia A Antibiticos 7 2 9 3 2 5
Calculo de Entropa [0] = 0.72 [2] = 0.9181 Calculo de Ganancia de Informacin y proporcin de ganancia H(S) = 0.2578314624597723 G(S,) = 0.01495606992897247 Idiv = 0.8481644986376585 Pgan = 0.017633454303964922 Tabla de Contingencia Otras Alergias 7 2 9 3 2 5
Los resultados generados por la aplicacin en Java resultado de esta investigacin son: Entropa, Ganancia de informacin, Proporcin de ganancia, y generacin de las reglas de clasificacin.
Tabla de Contingencia de Presin Arterial 6 4 2 3 2 1 5 0 5
Calculo de entropa [0] = 0.7642045065086203 [2] = 0.9709505944546686 Calculo de Ganancia de Informacin y proporcin de ganancia
Calculo de Entropa [0] = 0.9182958340544896 [1] = 0.9182958340544896 [2] = 0. Calculo de Ganancia de Informacin y proporcin de ganancia H(S) = 0.19677767872596202 G(S,) = 0.272787532388745 Idiv = 0.590333036177886 Pgan = 0.4620909142319209 Tabla de Contingencia de Azcar en la Sangre 7 5 2 7 5 2
Presin Arterial Azcar en Sangre ndice de Colesterol Otras Alergias Alergias a antibiticos
G (S, PA)= 0.272877 G (S, AZ) 0.0 G (S, IC) =0.207031 G (S, OA) = 0.01495 G (S, AA) =0.01495
Calculo de Entropa [0] = 0.863120568566631 [2] = 0.863120568566631 Calculo de Ganancia de Informacin y proporcin de ganancia H(S) = 0.4315602842833155 G(S,) = 0.0 Idiv = 0.863120568566631 Pgan = 0.0 Tabla de Contingencia ndice de Colesterol 7 2 9 3 2 5
Presin Arterial Azcar en Sangre ndice de Colesterol Otras Alergias Alergias a antibiticos
Generacin de la reglas. La aplicacin implementada genera el siguiente grado de reglas de clasificacin para la toma de decisiones [5].
109
Presin arterial creando as tres ramas Alta, Media, Baja. -Se demostr empricamente que es posible diagnosticar la administracin o no, de frmacos en pacientes con sntomas de enfermedad cardiovascular, usando las variables presin arterial, ndice de colesterol, azcar en la sangre, alergias a antibiticos y otras alergias mediante la utilizacin de rboles de decisin. -La tcnica de rbol de decisin conjuntamente con el algoritmo ID3 entrega un conjunto de reglas entendibles que le permiten al mdico al tomador de decisin hacerlo de manera rpida.
REFERENCIAS
De la figura 2 se deduce que para administrar frmacos a un paciente debemos tomar en cuenta las siguientes reglas generadas. Se puede administrar frmacos a un paciente SI: Si tiene presin alta y si no es alrgico a antibitico Si tiene presin alta y si es alrgico a antibitico pero no tiene otras alergias Si tiene presin alta y si es alrgico a antibitico y a otras alergias, pero tiene azcar baja en la sangre Si tiene presin media y su ndice de colesterol es bajo Si tiene presin arterial baja
[1] Giudici, Paolo. (2003). Applied Data Mining Stadistical Methods for Bussines and Industry. Chichester. Jhon Wiley & Sons, Inc. 364p [2] Campell, Mary. base IV Gua de Autoenseanza. Espaa. Editorial McGraw Hill Interamericana. 1990. pp110/111,121/122,16,169, 179-191/192.. (4 Mar 2009). [3] Larose, Daniel T. (2005). Discovering Knowledge in Data an Introduction to Data Mining. Hoboken, New Jersey. Jhon Wiley & Sons, Inc Publication. 222p. [4] QUINLAN, J. R. Induction of Decision Trees. Machine Learning. P 81-106, 1986 QUINLAN, J. R. C4.5: Programs for machine learning. Morgan Kaufmann Publishers,1993. [5] Cohen Karen Daniel. (1996). Sistemas de informacin para la toma de decisiones. Mxico. McGraw-Hill. 243p. (4 Mar 2009.
NO se puede administrar frmacos a un paciente: Si tiene presin media e ndice de colesterol alto. Si tiene presin alta y si es alrgico a antibitico y a otras alergias, y adems tiene azcar alta en la sangre.
IV.
CONCLUSIONES
Se observa que los resultados mostrados en la tabla 8, resumen de ganancia de informacin y tabla 9, resumen de proporcin de ganancia de informacin que los valores generados son muy similares utilizando las dos tcnicas mencionadas. En ambos mtodos la variable que tiene mayor ganancia y proporcin de ganancia es presin arterial, as que con ambos enfoques el nodo raz es la