MINERIA DE DATOS Juan Pablo Paz Grau
2008
Editorial Corporacion Corporacion Universitaria Rafael Rafael Nuñez ISBN: 978-958-98465-2-0 978-958-98465-2-0
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Índice de Temas MINERIA DE DATOS................. .................................... ...................................... .............................................. ................................ ..... 1 ÍNDICE DE TEMAS......... .................. .................. .................. ................. ................. .................. .................. .................. ................. ........... ... 2 INTRODUCCION INTROD UCCION ......... .................. ................. ................. .................. .................. .................. ................. ................. .................. ................ ....... 1 1 EL PROCESO KDD Y LA MINERÍA DE DATOS................... ........................... ................ ........... ...33 NTRODUCCIÓN CIÓN A LA MINERÍA DE DATOS ............................................................ 3 1.1 I NTRODUC 1.2 EL PROCESO DE KDD......... .................. .................. ................. ................. .................. .................. ................. ................ ............ ........ .... 8
1.2.1 Entendimiento de la organización.................. ....................................... ............................. ............. ..... 10 1.2.2 Preparación de los Datos......... ................. ................. .................. .................. .................. ................. ............. ..... 12 1.2.3 Minería de Datos........ ................. .................. .................. .................. ................. ................. .................. ................ ......... .. 17 1.2.4 Evaluación e Interpret Interpretación ación......... .................. .................. ................. ................. .................. ............... ......... ... 20
1.3 DATA WAREHOUSING .................. ..................................... ...................................... ...................................... ............................. .......... 23 1.4 LIMPIEZA Y TRANSFORMACIÓN DE LOS DATOS................................................... 34 NÁLISIS S DESCRIPTIVO DE LA VISTA MINABLE.................................................. 1.5 A NÁLISI ..................................................42 42
2 EXTRACCIÓN DEL CONOCIMIENTO................... ................................................... .................................. 46 2.1 EL ALGORITMO O NER................. .................................... ...................................... ................................................ ............................. 48 2.2 MÉTODOS BAYESIANOS.................................................................................. 50 2.3 ÁRBOLES DE DECISIÓN................................................................................... ...................................................................................58 58 2.4 R EGLAS EGLAS DE CLASIFICACIÓN ............................................................................. 65 2.5 MÉTODOS BASADOS EN AGRUPAMIENTO ............................................................. .............................................................72 72
3 RESULTADOS DE VALIDACIÓN................. .................................... ............................................. .......................... 79 3.1 VALIDACIÓN I NTERNA.................................................................................... 80 3.2 VALIDACIÓN EXTERNA................................................................................... 84
4 REFERENCIAS BIBLIOGRÁFICAS................... ...................................... ..................................... ...................... 87
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
INTRODUCCION Las organizaciones contemporáneas han creado fuertes lazos entre ellas mediante el intercambio de datos que alimentan cada uno de sus procesos de la cadena de valor, ya fuera con B2B, B2C, B2G, etc. etc. Esta stas inte intera racccio cione ness no solam lamen ente te han en enri riqu queecido cido las relaciones entre estas y su entorno, sino que le ha facilitado a la organización contemporánea la adquisición de grandes cantidades de da dato toss qu quee les les perm ermiten iten ha haccer aná náli lisi siss en con onttex extto de su suss indicadores. Sin embargo, aunque los datos se convierten rápidamente en el acti activo vo más más impo importa rtante nte co conn qu quee cu cuen enta tann las las orga organi niza zacio cione nes, s, en nuestro país estas carecen de los recursos apropiados para sacar ventaja a una competencia cada vez más global a partir de la información que se esconde en sus sistemas de información; por lo tanto se hacía urgente contar con una guía que permitiese a las organizaciones mejorar su competitividad, como un medio para mejorar la competitividad del país y por ende, la calidad de vida de sus habitantes. Es así como surge este libro, cuyo principal propósito es capacitar a los ingenieros de sistemas con conocimientos en E-Business y en manejo de grandes cantidades de información para llevar a cabo la tarea tarea de tomar tomar los datos datos que obtien obtienen en de su organiz organizaci ación ón y su contexto para minarlos y convertirlos en conocimiento que los gerentes y directivos de la organización pueden utilizar para apoyar sus procesos de toma de decisiones. La minería de datos no es un proceso sencillo, como se verá a lo largo del desarrollo de este libro; más aún, es un proceso que exige disc discip ipli lina na pa para ra llev llevar ar a cabo cabo el proc proces esoo de mane manera ra ad adec ecua uada da,, conocimiento del dominio del problema que se intenta resolver
1
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
mediante minería de datos, para identificar y validar los patrones que vayan surgiendo durante el proceso, y suficiente experiencia en la manipulación de grandes cantidades de información para llevar a cabo todos los pasos previos para comenzar a realizar las diferentes tareas de la minería de datos. Espero que la lectura de este libro y el desarrollo de los ejercicios le brinden las bases que necesita como profesional para empezar a experimentar con la minería de datos y adquirir la competencia necesaria para aplicarla en su organización.
2
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
1
El proces proceso o KDD y la Minerí Mineríaa de Datos Datos
1.11 Intr 1. Introd oduc ucci ció ón a la la Min Miner ería ía de de Dat Datos os La minería de datos es un área relativamente nueva en el campo del tratamiento de la información, aunque en algunos países del primer mundo su uso ya es parte integral de los procesos de toma de decisión en las grandes organizaciones, lo que les ha permitido obtener ventajas estratégicas muy marcadas en relación con las competencias estratégicas de sus pares del tercer mundo. Pero, ¿exactamente que es la minería de datos? La minería de datos es un proceso mediante el cual se toma como materia prima los datos, se procesan y se genera como resultado conocimiento en forma de patrones, tal como se muestra en la Figura 1. 1. Ya que los datos son el activo más importante de una organización, el proceso de transformar datos en conocimiento se convierte en una actividad indispensable de las organizaciones en la sociedad contemporánea.
Figura 1 Definición de Minería de Datos
De una manera más formal, podemos enunciar la siguiente definición de Minería de Datos, dada por Orallo et. al. [1] pp5: Proceso de extraer conocimiento útil y compre comprensi nsible ble,, previa previamen mente te descon desconoci ocido, do, desde desde grandes cantidades de datos almacenados en distintos formatos.
3
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Analic Anal icem emos os ah ahor oraa la de defi fini nici ción ón,, en cada cada un unaa de sus sus partes: •
•
•
•
“Proceso…”: La minería de datos es un proceso, ya que toma unas entradas (los datos) los procesa, y genera unas salidas (el conocimiento). “… de extra extraer er conoci conocimie miento nto…”: …”: El fin último de la minería de datos –el proceso- es generar conocimiento a partir de los datos de entrada. entrada. “… útil útil y compr compren ensi sibl ble… e…”: ”: El co cono noci cimi mien ento to qu quee es extr ex traí aído do a pa part rtir ir de los los da dato toss medi median ante te el proc proces esoo de minería minería de datos, debe tener estas dos característi características, cas, debe ser útil, ya que debe apoyar el proceso de toma de decisiones, e información inútil no ayuda a tomar ninguna decisió sión. Por otro lado, el conocimiento debe ser ser comprensible para los gerentes y directivos (que generalmente no manejan el lenguaje ingenieril), ya que el cono co noci cimi mien ento to inco incomp mpren rensib sible le,, au aunq nque ue sea sea muy muy vá váli lido do,, pierde interpretabilidad, y por lo tanto, tanto, es menos útil. “… desde grandes cantidades de datos…”: La minería de da dato toss ge gene nera ralm lmen ente te se real realiza iza pa para ra ex extr trae aerr pa patr tron ones es descriptivos o predictivos que no son inferibles de manera empí empíri rica ca.. Los Los da dato toss qu quee alim alimen enta tann el proc proces esoo vien vienen en generalmente de un repositorio donde se almacena toda la información integrada de la organización y su contexto. La minería de datos es un proceso que necesita contar con los los da dato toss de dell co cont ntex exto to pa para ra ge gene nera rarr pa patr tron ones es vá váli lido dos. s. Considere el siguiente caso (ilustrado en las figuras 2 y 3): Un producto presenta un repunte en las ventas de una sucursal en un período dado, y se quiere analizar si se debe
4
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
invertir más en el producto (Figura ( Figura 2) 2) pero cuando se compara las ventas del producto con las ventas promedio del mismo producto que tuvieron otras sucursales de la misma isma orga organi niza zaci ción ón,, el pa pano nora rama ma es co com mplet pletam amen ente te diferente (Figura (Figura 3). 3). Ventas Sucursal
100 80 60
Ventas Sucursal
40 20 0 1
2
3
4
5
6
7
8
9
Figura 2 Ventas de una Sucursal 100 80 60
Ventas Sucursal
40
Ventas Consolidadas
20 0 1
2
3
4
5
6
7
8
9
Figura 3 Ventas de una sucursal vs. promedio de todas las sucursales
Así pues, además de contar con los datos de la orga organi niza zaci ción ón,, se ne nece cesi sita ta impo import rtar ar ad adem emás ás,, da dato toss de dell contexto. •
“… almacenados en distintos formatos”: Esta es una cons co nsec ecue uenc ncia ia de la reco recole lecc cció iónn de da dato toss ne nece cesa sari riaa pa para ra hacer minería de datos. Algunos de estos vendrán de la mism mismaa orga organi niza zaci ción ón,, otro otross ve vend ndrá ránn de los los clie client ntes es,, los los proveedores, organizaciones gubernamentales o no gubernamentales, de Internet, y de tantas fuentes como es
5
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
posible enumerar, estructuradas.
tanto
estructuradas
como
no
No hemos respondido aún que forma toma este conocimiento que es extraído de los datos con las técnicas de minería de datos. Esto es muy importante porque si no se tiene bien claro desde el principio cuales son los objetivos, pueden generarse falsas expectativas o incluso, puede llevarse a cabo el proceso de manera fútil al no entender cual es el resultado esperado. El resultado del proceso de minería de datos es un conjunto de modelos que explican el comportamiento de los datos que fueron minados. Un modelo es una herramienta que permite representar un patrón de comportamiento de los datos, de manera que nuevos datos puedan ser evaluados contra el modelo para determinar si su comportamiento es semejante o diferente al que fue observado por las técnicas de minería en los datos. Las técnicas de minería de datos generan muchos tipos de modelos, pero en general, los podemos clasificar en dos grandes grupos, los modelos descriptivos y los modelos predictivos. •
Descriptivos: Los modelos descriptivos buscan establecer patrones que nos permiten explicar el comportamiento de las variables de nuestro modelo, mediante alguna de las estr estruc uctu tura rass de repr repres esen enta taci ción ón de dell co cono noci cimi mien ento to.. Los Los méto método doss de desc scri ript ptiv ivos os se divi divide denn en supe superv rvis isad ados os y no supervisados. Los primeros, generan una clasificación de manera que cada fila de los datos que fueron minados pertenece a una clase. En el segundo caso, no existe un con onju junt ntoo de cla clases, ses, más bie bien, la ide idea es de dete term rmin inaar agru ag rupa pami mien ento toss qu quee pe perm rmit itan an esta establ blec ecer er cu cual ales es son son las las clases a las que pertenecen las filas de datos que fueron minados.
6
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
•
Predictivos: Los model modelos os predic predictiv tivos os son más más simple simples: s: buscan predecir el comportamiento de una variable en función de otro conjunto de variables conocido; es decir, dado un conjunto arbitrario de valores, intentar predecir cuál será el valor que tomará una variable determinada.
Los Los mode delo loss qu quee ge gene nera ra la Min Minería ería de Da Dato toss no noss pe perm rmit iteen sati satisf sfac acer er las las prin princi cipa pale less ne nece cesi sida dade dess de info inform rmac ació iónn de las las organizaciones: Poder explicar el pasado, con el fin de entender el presente para poder predecir el futuro. La minería de datos no es un proceso aislado, las organizaciones la utilizan en conjunción conn otra co otrass tecn tecnol olog ogía íass de an anál ális isis is de da dato toss tale taless co como mo SQL SQL y OLAP OLAP;; en ese ese sent sentid ido, o, no ha hayy qu quee co cons nsid ider erar arla lass tecn tecnol olog ogía íass rivales: más bien todas se complementan entre sí para lograr la meta de aumentar la ventaja competitiva de las organizaciones.
7
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
1.2 El pr proceso de KDD La minería de datos es un subproceso inmerso dentro de otro proceso mas extenso, el proceso de KDD o de Descubrimiento de Conocimiento en Bases de Datos ( Knowledge Discovery in Databases, por sus siglas en inglés). A continuación, revisaremos el proceso completo con el fin de colocar el proceso de Minería de Datos dentro de su contexto. De manera formal, la definición del proceso de KDD, dada por Orallo et. al. [1] es la siguiente pp13: Proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y comprensibles a partir de los datos
Examinemos ahora la definición, en cada una de sus partes: •
•
“Proceso…”: El KDD es un proceso ya que tiene unas entradas (Sistemas de Información), unas salidas (Conocimiento) y unos subprocesos que transforman las entradas en salidas. “…no trivial…”: El proceso de KDD requiere un gran esfuer esfuerzo zo humano humano,, tecnol tecnológi ógico co y exp experi erime menta ntal.l. Deb Debee ser llevado a cabo por profesionales informáticos debidamente capacitados para realizarlo. Aún no existen herramientas que automaticen todo el proceso, aunque existe una gran variedad de herramientas tanto propietarias como de libre distribución que asisten al profesional informático durante la identificación de patrones, así como estándares (CRISPDM) para ejecutar el proceso.
8
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
•
•
•
“…de identificar patrones…”: El objetivo fundamental dell proc de proces esoo es gen eneerar rar co cono noccimie imient ntoo en la form formaa de patrones (modelos) que permitan interpretar los datos de una forma descriptiva o predictiva. “…válidos, novedosos, potencialmen mente útiles y comprensibles…”: Esos patrones deben cumplir con varias cara caract cter erís ísti tica cas. s. La prim primer eraa de ella ellas, s, es qu quee de debe benn ser ser válidos. Debemos recordar que la mine nerría de datos solamente busca patrones en los datos, pero no siempre estos patrones se ajustan a hechos que son experimentables en la realidad (Ej. Un estudio de crédito llevado a cabo en Europa concluyó que las personas que tienen un carro rojo serán clientes de riesgo para obtener un préstamo 1). Los patrones extraídos, deben ser evaluados para validar la precisión y la veracidad de sus afirmaciones. Además, los patrones descubiertos deben ser novedosos. Al no ser un proceso trivial, el proceso de KDD será infructuoso si no puede descubrirse información que era desconocida de manera previa al comienzo del proceso. Además, debe ser potencialmente útil. El conocimiento generado será util utiliz izad adoo pa para ra toma tomarr de deci cisi sion ones es,, y si esto estoss pa patr tron ones es no apoyan la toma de decisiones, entonces el proceso habrá sido infructuoso. Finalmente, deben ser comprensibles para las las pe pers rson onas as qu quee toma tomará ránn las las de deci cisi sion ones es (tal (tal co com mo se enunció en la definición de Minería de Datos). “… a partir de los datos”: El conocimiento generado debe provenir exclusivamente de los datos que fueron entregados al principio del proceso. Es decir, debe evitarse manipular de manera subjetiva los datos ya que esto puede sesgar el
1
Buscar quién mencionó este estudio. La razón es que la mayoría de los carros son rojos.
9
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
resu result ltad adoo de dell proc proces eso, o, y po porr lo tan tanto, to, ya no estar staría íann explicando el comportamiento de los datos. El proc proces esoo de KD KDD D está está co com mpu pues esto to de va vari rios os subp subpro roce ceso soss y subproductos de datos; la esquematización se ilustra en la Figura 4. 4.
Figura 4 El proceso de KDD
A continuación, describiremos las distintas tareas que se llevan a cabo en cada uno de los procesos del KDD.
1.2.1 Entendimiento de la organización En esta primera tarea preparatoria del proceso KDD, se comienza a comprender la definición estratégica de la organización objetivo con el fin de orientar exitosamente todas las actividades que se realizarán durante la extracción del conocimiento. Lo primero que debe hacerse es recopilar y entender los objetivos estratégicos de la organización, ya que estos nos darán la guía de hacia donde deben orientarse los esfuerzos que se realizarán durante el proceso de KDD; esto permitirá vincular los objetivos que se tracen durante el proyecto de minería de datos con los objetivos estratégicos del negocio y de esta manera, poder trazar un plan de trabajo que le apun ap unte te dire direct ctam amen ente te a esto estoss ob obje jeti tivo vos. s. Es ne nece cesa sari rioo co cono noce cer r además, cuales son los recursos y las restricciones con que contará el proy proyec ecto to de miner inería ía de da dato toss pa para ra su de desa sarr rrol ollo lo.. Un Unaa ve vezz recopilados, debe generarse un primer informe donde se establezca a cuales objetivos de negocio se apunto el trabajo de minería de datos, y cuales son los CSF (factores críticos de éxito) de los objetivos seleccionados.
10
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
A continuación, se debe evaluar la situación actual de la organización de manera que puedan encontrarse detalles específicos que necesiten tenerse en cuenta durante el proceso. Entre otros, es necesario saber qué información se va a asumir durante el desarrollo del proyecto, y cuales son los requerimientos que han hecho los usuarios. Es deseable también saber con qué paquetes de minería de datos se trabajará, el nivel de capacitación del personal informático y quiénes serán los expertos en el dominio del negocio que colaborarán durante el proceso; será útil elaborar conn ellos co llos un glosa losari rioo de térm términ inos os del neg egoocio cio qu quee sirv sirvaa de referencia durante todo el proceso de KDD. Toda esta sta información debe anexarse al primer informe; adic ad icio iona nalm lmen ente te de debe be real realiz izar arse se un plan plan de ries riesgo goss do dond ndee se dete de term rmin inee cu cual ales es son son los los ries riesgo goss qu quee se co corr rrer erán án du dura rant ntee el desarrollo del proyecto y que acciones paliativas o contingencias pueden implementarse en caso de que se presenten. Igualmente, debe realizarse un análisis costo-beneficio que permita justificar, antes de iniciar el proceso, si realmente los beneficios que se planean obtener justifica los costos en que se incurrirá; si no es así, ento en tonc nces es de debe be espe espera rars rsee ha hast staa otra otra oc ocas asió iónn pa para ra co com men enza zarr a implementar minería de datos. Si el análisis costo-beneficio es favorable, entonces se procede a determinar los objetivos de minería de datos, cuidando que estos se encuentren amarrados a los objetivos del negocio. Se deben definir también CSFs (factores críticos de éxito) para cada uno de los objet ob jetiv ivos os.. Un Unaa ve vezz fina finali liza zada da la tare tareaa de en ente tend ndim imie ient ntoo de la organización, se recopila toda la documentación generada y se genera el plan de minería de datos.
11
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
1.2.2 Preparación Preparación de los los Datos Datos Es la primera fase del KDD, en la cual los datos que van a ser minados son seleccionados de los diversos sistemas de información disponibles en la organización y su entorno. Esta recopilación se lleva a cabo a partir de datos internos a la organización, tal como aquellos que se encuentran en sus TPS y sus MIS, y datos externos quee se en qu encu cuen entr tran an disp dispon onib ible less en otra otrass orga organi niza zaci cion ones es y no noss permiten colocar los datos en contexto; al ser datos que provienen dell ex de exte teri rior or de la orga organi niza zaci ción ón ge gene nera ralm lmen ente te su form format atoo es diferente al manejado de maneja interna. Esto significa que será necesario realizar una tarea de integración, en la cual se toman los formatos heterogéneos en los cuales vienen los datos candidatos a ser minados y se colocan en un esquema integrado, generalmente mediante su importación a una bodega de datos ( data warehouse). Ya que esto estoss esq sque uem mas so sonn multi ultiddimen imensi sion onal alees, se pu pued edee aprovechar los operadores OLAP para generar una vista inicial de los datos que van a ser minados. Al finalizar la recopilación y la integración, debe realizarse un informe de recolección de datos, donde se especifique de que fuentes se obtuvieron las instancias, las propiedades de cada una de las columnas, junto con las tareas de inte integr grac ació iónn qu quee se real realiz izar aron on,, las las modi modifi fica caci cion ones es qu quee se efectuaron sobre el conjunto de datos y las asunciones que se tomaron durante la tarea; y si es posible, también puede hacerse un exam ex amen en de las las prop propie ieda dade dess supe superf rfic icia iale less de cada cada un unaa de las las columnas. Este informe permitirá facilitar la tarea de recopilación e integración en futuras iteraciones del proceso. Una vez que todos los datos se han integrado y formateado de mane nera ra ho hom mog ogééne nea, a, de debe be real realiz izar arse se un unaa tare tareaa de selección definitiva de los datos que se minarán, a estos se les denomina vista minable, y es el producto final del proceso de preparación de los datos. La vista minable es una tabla compuesta por instancias (filas) y atributos (columnas) nominales o numéricos. Los atributos
12
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
nominales se caracterizan porque solamente pueden tomar valores de una lista finita de cadenas de texto y los numéricos porque están conformados de números, ya sean enteros o de punto flotante; aunque existen otros tipos de datos que pueden tenerse en cuenta durante la construcción de la vista minable, en la vista definitiva solamente existirán estos dos tipos de atributos. Es necesario que la vista sea un subconjunto del total de datos disponibles, ya que los métodos de minería de datos tienen una alta complejid jidad computacional y por tanto, el procesamiento de las entradas crece de manera no lineal con el aumento del tamaño de la entrada. Terminada la selección de los atributos y las instancias que va a conf co nfor orm mar la vist vistaa minab inable le,, es ne nece cesa sari rioo ha hace cerr un unaa tare tareaa de limpieza sobr sobree los los da dato tos. s. Esta Esta tare tareaa de lim limpiez piezaa tien tienee co com mo objetivo mejorar la calidad de los datos, de manera que las técnicas de minería de datos sean más eficientes y los patrones obtenidos tengan mayor validez. Un aspecto a tener en cuenta durante la limpieza, es el tratamiento de los valores faltantes (missing values). Algunas técnicas de minería simplemente ignoran los faltantes, pero otros obtienen un menor menor desempeño ante su presencia. presencia. Exis Existe tenn much muchas as razo razone ness po porr las las cu cual ales es pu pued eden en ex exis isti tirr va valo lore ress faltantes en una base de datos; la más común es que el dato es desconocido, es imposible obtenerlo sin conocer físicamente al sujeto al que se refiere la instancia (por ejemplo, el género en el caso de los nombres unisex: Chris en inglés o Marvin en español), el digitador no quiso colocar o no tiene disponible el valor para el atributo (por ejemplo, en el caso de un número de teléfono privado, o el hecho hecho de que una person personaa no tenga tenga teléfo teléfono) no).. Por otro otro lado, puede deberse también a que en el momento en que se importaron los datos desde una fuente externa, el dato no estaba disponible.
13
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Dependiendo del caso, existen diferentes estrategias para tratar con los datos faltantes, de pronto la más sen sencilla de todas sea sea ignorarlos; si un atributo tiene muchos valores nulos, entonces se retira de la vista minable; si pocas instancias tienen valores nulos, entonces se eliminarían las instancias de la vista. Otra opción es modificar los valores faltantes y reemplazarlos por otro valor. En este caso, puede seleccionarse la media si el atributo es numérico, o la moda si el atributo es nominal. Otro aspecto que debe tenerse en cuenta durante la limpieza de datos, son los valores fuera de rango (outliers). Los valores fuera de rango no necesariamente indican datos erróneos, ya que pueden ser outliers legítimos, como en el caso de la Figura 5. 5. En este caso hemos tomado el atributo mcv (volumen corporal promedio) de la vista “liver desorders” de la base de datos UCI 2.
Figura 5 valores de mcv para la vista “Liver Desorders”
Los valores fuera de rango deben tratarse con mucho cuidado, ya que interfieren significativamente con el funcionamiento de los algoritmos de minería de datos, por ejemplo, el sujeto con masa 2
HETTICH, S. and BAY, S. D. The UCI KDD Archive [http://kdd.ics.uci.edu] [http://kdd.ics.uci.edu]
14
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
corporal 65 influirá sobre el promedio de los demás sujetos en esta vista. vista. Sin embargo, embargo, en algunos algunos casos, casos, los valores valores fuera de de rango son más significativos porque representan hechos singulares que nos interesaría estudiar. Existe una manera estadística muy sencilla que nos permite saber si un valor está fuera de rango, y está basado en la regla empírica; segú segúnn esta esta regl regla, a, toda todass las las ob obse serv rvac acio ione ness en un unaa mue uest stra ra se encuentran distribuidas, a lo sumo, a 3 desviaciones estándar de la media. Utilizando el valor de z dado por la ecuación y − y z = s
(1)
Siendo y el valor en cuestión, y la media y s la desvia desviació ciónn estánd estándar, ar, si el valo valorr absolu absoluto to de z es mayor que tres, entonces estadísticamente es un valor fuera de rango. Ejemplo: ¿Es el valor de volumen corporal promedio mcv 65 un valor fuera de rango? Aplicando la fórmula del valor z: z =
( 65 − 90.159) 4.448
=
5.65625
z es mayor que tres, entonces consideramos el valor Como el valor z de mcv = 65 como un valor fuera de rango.
En el caso de querer mitigar los valores fuera de rango, existen varias estrategias, la primera de las cuales es eliminar las instancias que contienen valores fuera de rango. Sin embargo, si lo que se desea es conservar los valores fuera de rango, una opción sería modificar el valor del atributo para la instancia dada, colocando el valor máximo o mínimo del rango de datos sin contar los valores fuera de rango, o colocar el outlier como un valor nulo.
15
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Finalmente, tenga en cuenta que en algunas ocasiones se puede quer qu erer er ge gene nera rarr un unaa vist vistaa mina minabl blee qu quee sola solame ment ntee co cont nten enga ga los los outliers; considere por ejemplo el problema de detección de fraudes financieros; en este caso solamente nos interesaría tener una vista con las instancias “sospechosas” para buscar patrones que permitan identificar tales transacciones. Cuando se ha logrado obtener una calidad aceptable de los datos quee co qu conf nfor orma mann la vist vistaa mina minabl ble, e, en ento tonc nces es de debe be real realiz izar arse se un info inform rmee de cali calida dadd de los los dato atos, don ondde se espe especi cifi fiqu quee qu quee problemas se encontraron y que estrategias de solución se implementaron para cada uno de ellos. Recuerde que en ocasiones para implementar la mejor solución debe hacerlo basándose en la información recabada en el plan de minería de datos. Si ya la calidad es aceptable dentro de los parámetros establecidos en el plan de minería de datos, el siguiente paso es considerar la nece ne cesi sida dadd de real realiz izar ar tare tareas as de transformación sobre sobre alguno algunoss atributos. Esta tarea se realiza con el fin de obtener atributos mucho más robustos que los que se han trabajado hasta el momento con los datos provenientes de los sistemas de información. Las posibles estrategias de preparación de atributos incluyen la numerización de atributos, en la cual se toman datos nominales y se convierten a datos numéricos, se realiza solamente si la técnica de minería de datos que se va a practicar solamente acepta atributos numéricos. La discretización es la operación inversa, se toman los datos de un atributo numérico y se convierten a un tipo de dato nominal, y se realiza cuando la técnica de minería de datos solamente acepta atributos nominales. Otra estrategia es la construcción de atributos, en la cual se crea un nuevo conjunto de atributos en base a los anteriores, pero con características que facilitan el trabajo de las técnicas de minería de datos o la interpretabilidad de los mismos.
16
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Una vez que se ha preparado los datos, el producto intermedio de este subproceso, la vista minable, está lista para ser procesada por el siguiente subproceso del KDD.
1.2.3 Minería de Datos La minería de datos es el proceso del KDD donde el trabajo de convertir los datos en patrones se lleva a cabo. Debe tenerse en cuenta que no hay una estrategia de ataque de problemas determinista en este proceso, la minería de datos es una actividad expe ex peri rime ment ntal al e ite iterati rativva qu quee requ requiiere ere much chas as pasad asadas as pa para ra dete de term rmin inar ar el tipo tipo de tare tareas as qu quee se real realiz izar arán án,, los los algo algori ritm tmos os óptimos para abordar el problema, y los modelos finales que se presentarán y evaluarán en la siguiente fase del KDD. Las tareas que se pueden realizar en la minería de datos son predictivas o descriptivas. Como se explicó anteriormente, las tareas descriptivas tienen como objetivo explicar el comportamiento de los datos, mientras que las predictivas tienen como objetivo predecir el valor de un atributo en función de los demás atributos. Entre las tareas predictivas de la minería de datos, tenemos las siguientes: •
Regresión: La regresión es una tarea que solamente se realiza con atributos numéricos, y su objetivo es crear un mod odeelo de fun funció ción lin lineal eal (y=a (y=axx 1+bx2+…zxn) con los atributos independientes de la vista minable con el fin de predecir el valor del atributo dependiente. dependiente.
17
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
•
Clasificación: Es una tarea en la cual dado un conjunto de instancias cada una con su clase, se genera un modelo que predice la clase de una nueva instancia, se denominan métodos “perezosos” porque la clasificación se lleva a cabo en el momento en que se introduce la nueva instancia que se clasificará.
Entre las tareas descriptivas, tenemos las siguientes: •
Árboles de Decisión: Es un modelo de minería de datos que clasifica conceptos utilizando una aproximación divide y vencerás. Los conceptos se colocan en los nodos del árbol y de acuerdo a los valores que pueda tomar el concepto, se reco recorr rree el árbo árboll de de deci cisi sión ón ha haci ciaa ab abaj ajo, o, las las clas clases es se encuentran en las hojas, de manera que al alcanzar una hoja, está está clas clasif ific icar aráá la inst instan anci ciaa qu quee esta estamo moss ev eval alua uand ndo. o. Un ejemplo se muestra en la Figura 6 para la vista contact lenses del repositorio UCI.
Figura 6 Árbol de decisión para prescribir lentes de contacto
•
Reglas de Decisión: Es un modelo de minería de datos que genera un conjunto de reglas en la forma si antecedente entonces consecuente. Las reglas pueden ser de dos tipos:
18
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Si el consecuente puede ser cualquier atributo, entonces se denominan reglas de asociación. Pero si en el consecuente solame solamente nte pue puede de estar estar el atribu atributo to clasif clasifica icador dor,, entonc entonces es hablamos de reglas de clasificación. Un ejemplo de reglas de decisión se muestra en la Figura 7. 7.
Figura 7 Reglas de Decisión para prescribir lentes de contacto •
•
Agrupamiento (Clustering): Es una técnica en la cual se agru ag rupa pann las las inst instan anci cias as bu busc scan ando do au aume menta ntarr el grad gradoo de similitud entre ellas y de diferenciación con otros grupos de instancias. Al final, cada instancia es asignada a un grupo. Es de anotar, que el agrupamiento es una técnica intermedia de la minería de datos: es necesario una vez obtenidos los grupos, buscar patrones que identifiquen las similitudes y las diferencias entre los grupos, es decir, es necesario crear un modelo de las agrupaciones que se identificaron. Métodos Bayesianos: Son métodos de minería de datos que se basan en la utilización del teorema de Bayes para generar sus modelos. Tienen como ventaja que son el único modelo de minería de datos que utilizan la probabilidad esta estadí díst stic icaa pa para ra la bú búsq sque ueda da de pa patr tron ones es.. Exis Existe tenn do doss métodos: el NaiveBayes que determina la probabilidad de que un atributo tome un valor determinado dado el valor de los demás atributos, y las redes Bayesianas que son un poco más elaboradas y presentan un grafo de probabilidades dado cualquier valor de cualquier atributo, un ejemplo se muestra en la Figura 8.
19
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 8 Una red bayesiana mostrando la distribución de probabilidad para lagrimeo
Cuando se han generado los modelos predictivos y/o descriptivos de los datos con las distintas técnicas de minería de datos, entonces debe comenzar la siguiente fase del proceso de KDD, evaluación e interpretación.
1.2.4 Evaluación Evaluación e Interpret Interpretación ación Es indispensable tener en cuenta durante el proceso de generación de mod odel eloos qu quee los los métod étodos os de mine inería ría bu busc scan an patro atrone ness y asoc asocia iaci cion ones es en entr tree los los da dato toss qu quee va vann a ser ser mina minado dos, s, pe pero ro los los modelos que resultan de este proceso deben ser validados para evaluar que tan bien se ajustan a los datos. Es de notar que nunca se logra un ajuste perfecto del modelo a las instancias, y siempre hay un error asociado al proceso de minería de datos; en general, mientras más ajustado sea el modelo a los datos de entrada, más preciso será el modelo, aunque debe lograrse un balance: se debe evitar el “overfitting ” o sobre ajuste: si los datos se ajust justaan demasiado a los datos de entrada, disminuirá su capacidad para predecir o describir nuevas instancias instancias (el modelo solo predeciría los datos de entrada).
20
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Por lo tanto, para llevar a cabo la evaluación de los modelos, es nece ne cesa sari rioo gen eneerar rar po porr lo meno noss do doss con onju junt ntoos de da dattos os,, un conjun conjunto to de entren entrenami amient entoo y un conj conjun unto to de prue prueba bass, El primero se utiliza para generar los modelos, y el último para evaluar que tan bien predice o clasifica el modelo las instancias del conj co njun unto to.. Exis Existe tenn va vari rias as mane maneras ras de ob obte tene nerr los los co conju njunt ntos os de entrenamiento y pruebas, la más sencilla de todas es proporcionar los dos conjuntos por separado. Aún así, generalmente generalmente este no es el caso, ya que luego del proceso proceso de integración integración y selección selección obtenemos solamente solamente una vista minable. En esta situación, pueden tomarse varias estrategias de evaluación, entre ellas las siguientes: •
•
División Proporcional: Si el número de instancias en la vista es grande, entonces se selecciona un porcentaje p de instancias para que hagan parte del conjunto de entrenamiento, y un porcentaje 1-p de instancias para que hagan parte del conjunto de pruebas, luego se asigna de manera aleatoria cada instancia a uno de los dos conjuntos. A continuación, se genera el modelo sobre el conjunto de entrenamiento y se valida contra el conjunto de pruebas. Se recomienda utilizar los valores p=66% y 1-p=44%. Validación Cruzada: Se divide de manera aleatoria la vista minable en dos conjuntos (que pueden ser equitativos o no equitativos). Con cada uno de los dos conjuntos se genera un modelo, y se evalúa de manera cruzada con el conjunto contrario, Los resultados de ambas evaluaciones se fusionan y co cons nsol olid idan an.. Al fina final, l, se junt juntan an nu nuev evam amen ente te los los do doss conjuntos y se genera un modelo con el conjunto completo. El proceso se detalla en la Figura 9.
21
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 9 Validación Cruzada •
Validación cruzada en n – folios: Es una generalización del método anterior, donde se divide la vista minable no en dos subconjuntos, sino en n subconjuntos. Se genera un modelo con cada subconjunto y se prueba contra los n-1 otros conjuntos. Al final se consolidan las validaciones y se genera un modelo con la vista minable completa.
Cuando se ha terminado la validación y el proceso de KDD, se toman todos los modelos generados durante las tareas de minería de datos, y se interpretan los resultados teniendo como base el dominio del problema que fue minado. Al finalizar, se genera un reporte de gerencia donde se explicita el conocimiento que fue obtenido a lo largo del proceso, en un formato que las personas que toman las decisiones puedan entender y con el cual puedan tomar acciones.
22
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
1.3 Data Wa Warehousing Antess de termi Ante termina narr el capí capítu tulo lo,, da dare remo moss un vista vistazo zo a las las do doss primeras tareas del proceso de KDD que se realizan en la fase de preparación de los datos, estas son la integración y selección, y la lim limpiez piezaa y tran transf sfor orm mació ación. n. Ya qu quee la inte integr grac ació iónn se real realiz izaa generalmente mediante bodegas de datos, hablaremos directamente de éstas en la tarea de integración. Las bodegas de datos ( data warehouses) surgieron a mediados de los años ochenta como una respuesta de las organizaciones a la creciente complejidad que había alcanzado la gestión de bases de datos en ese entonces. El panorama que se tenía, era el de múltiples sistemas de información, cada una con su base de datos, incluso en formatos diferentes. Para consultar información que tomara datos de múltiples sistemas de informació informaciónn era necesario necesario entonces entonces hacer aplicaciones que tomaran datos de todos los sistemas involucrados, los llevaran al mismo formato y luego produjeran los reportes que deseaba la gerencia. Ante esta situación, las organizaciones decidieron tomar sus datos históricos, y recopilarlos en un solo sitio, una mega base de datos (bodega de datos) donde se integrara la información proveniente de cada uno de los sistemas de información de la organización; en ese momento, nacen las data warehouses (Figura 10). 10).
Figura 10 Una Data Warehouse
23
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Podemos definir las bodegas de datos entonces como una base de datos cuyo objetivo es “recopilar e integrar datos históricos de la organización”. Estas simplificaron varias de las tareas de análisis que de otra manera sería muy difícil llevar a cabo, tales como la sumarización, o generación de resúmenes consolidados con datos que provinieran de todos los departamentos de la organización o resúmenes consolidados que de otra manera serían muy complejos de generar; por ejemplo, si se tuviese un sistema de información de accidentes laborales y otro sistema de información del depa de part rtam amen ento to de prod produc ucci ción ón,, po podr dría íann real realiz izar arse se resú resúme mene ness consolidados con información de accidentalidad y como esta incide en la producción. Otra Otra tare tareaa qu quee pe perm rmit iten en real realiz izar ar las las bo bode dega gass de da dato tos, s, es la organización de datos internos y externos dentro del sistema de información de la organización. Cuando se presentó la definición de minería de datos más temprano en este documento, se enfatizó en la necesidad de colocar la información que va a ser minada en contexto, pero no se respondió la pregunta de en que parte de los sistemas de información de la organización se iban a colocar esos datos. Considere una organización que está interesada en medir el grad gradoo de pe pene netr trac ació iónn de un prod produc ucto to en dife difere rent ntes es segm segmen ento toss (geográficos) de mercados. Si tenemos en cuenta solamente el nivel de ve vent ntas as de cada cada sucu sucurs rsal al,, en ento tonc nces es no po podr dría íamo moss ha hace cerr el análisis: en grandes ciudades el producto se venderá más porque hay más habitantes, y en ciudades pequeñas se venderá menos porque hay menos menos habitantes
24
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
VENTAS (K$)
MAGDALENA CORDOBA CESAR VENTAS (K$)
BOLIVAR ATLAN ATLANT TICO ICO BOGOTA $-
$ 5.00 .000.00 .00
$ 10.00 .000.00 .00
$ 15.00 .000.00 .00
$ 20.00 .000.00 .00
POBLACION MAGDALENA CORDOBA CESAR POBLACION
BOLIVAR ATLANT ATLANTIC ICO O BOGOTA 0
1000 100000 000 0 2000 200000 000 0 3000 300000 000 0 4000 400000 000 0 5000 500000 000 0 6000 600000 000 0
Figura 11 Ventas/Población en algunos departamentos 3
Si pu pudi diés éseemos ten tener en nu nues estr troo sist sistem emaa de info inform rmac ació iónn la información demográfica que tenemos en la parte b de la Figura 11, 11, podríamos hacer un análisis similar al de la Figura 12 en el cual el producto tiene mayor penetración en Cesar porque se vendió más a menos habitantes, y Bogotá tiene el menor nivel de penetración ya que se vendió menos cantidad del producto por cada habitante.
3
Datos demográficos tomados del CENSO del DANE 1993
25
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
PENETRACION ($/Hab)
MAGDALENA CORDOBA CESAR PENETRACION ($/Hab)
BOLIVAR ATLAN ATLANT TICO ICO BOGOTA 0.00 .000
2.00 .000
4.00 .000
6.00 .000
8.00 .000
10.00 .000 12.0 12.00 00
Figura 12 Nivel de penetración de un producto
Pero, ¿Dónde almacenar esta información externa? Evidentemente, el lugar más adecuado para ello no es el sistema de información de las ventas, ni el sistema de información de empleados, ni ningún otro otro siste sistema ma de info inform rmac ació ión: n: el há hábi bita tatt na natu tura rall pa para ra los los da dato toss externos es la bodega de datos. Las bodegas son entonces, la herramienta natural que nos permite recopilar datos de distintos orígenes tanto internos como externos, integrarlos en un solo sitio y, más importante aún, nos permite contextualizar los datos con el entorno. Un factor que hay que tener en cuenta para utilizar efectivamente una bodega de datos, es saber que tipo de procesamiento puede realizarse con ellas. Existen dos tipos de procesamiento sobre base de datos que son: •
OLTP (On-Li -Line Transaction Processing): El Procesamiento de Transacciones En Línea es el que se encarga de realizar la manipulación de la base de datos, es decir, realiza inserciones, eliminaciones, actualizaciones y algunas consultas sencillas sobre la base de datos, pero en grandes cantidades; se encarga de alimentar los sistemas de información de la organización con el trabajo diario, es decir, se encargan de mantener el contexto de la
26
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
organización. El OLTP se caracteriza porque requiere que las transacciones transacciones se ejecuten ejecuten de manera manera eficiente, eficiente, ya que la gran mayoría de los usuarios informáticos realizan muchas operaciones OLTP. •
OLAP (On-Line Analytical Processing): El Procesamiento Analítico En Línea se encarga de realizar análisis de información sobre los datos que están almacenados en la base de datos. Entre sus principales características está el hecho de que las consultas que realiza son muy complejas por lo cual requiere muchos recursos para su realización, lo cual hace que generalmente perturbe el trab trabaj ajoo tran transa sacc ccio iona nall qu quee se real realiz izaa co conn OLTP OLTP,, sin sin embargo, son consultas que apoyan los sistemas de apoyo a las decisiones (DSS) que utilizan las personas que toman decisiones en la organización. Esto genera un problema de prioridades, ya que la gran mayoría de usuarios informáticos necesitan repartir entre ellos las prestaciones del SGBDR para realizar OLTP de manera efectiva, pero unoos poc un ocoos us usua uari rios os (ger (gereente ntes y perso ersonnal qu quee toma toma decisiones) necesitan realizar OLAP para apoyar su s u trabajo.
Aunque pueden realizarse ambos tipos de procesamiento sobre la misma base de datos, las prestaciones y el balance de cargas sobre el sistema no sería el adecuado. Lo más efectivo es dividir el procesamiento y dejar que los TPS (Sistemas de Procesamiento de Transacciones) se encarguen de atender las necesidades de OLTP de los usuarios de los sistemas de información, y las bodegas de datos se encarguen de atender las necesidades de OLAP de los DSS (Sistemas de Soporte a las Decisiones). D ecisiones). En este sentido, las data warehouse permiten a las organizaciones dejar de perturbar el OLTP de los TPS, y facilitar el OLAP, ya que
27
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
la mayor parte de la información que esta en la bodega de datos ya ha sido preprocesada de alguna manera. La arquitectura de una bodega de datos es un poco diferente a la arquitectura de una base de datos relacional, ya que está diseñada para apoyar el procesamiento OLAP; esto no significa que no se pueda construir una data warehouse sobre un SGBDR, más bien quee se co qu colo locca un unaa abs bstr traacció cciónn de dato atos adic diciona ionall so sobr bree la arquitectura del SGBDR para tener una vista diferente sobre los datos. Los componentes de esta arquitectura de las bodegas de datos, son los siguientes: •
•
Hechos: Los Los he hech chos os son son prop propie ieda dade dess mesu mesura rabl bles es de la ocurrencia de un evento, que generalmente responden la pregunta ¿cuanto? Corresponden con medidas que permiten esta establ blec ecer er las las cara caract cter erís ístic ticas as ba bajo jo las las cu cual ales es oc ocur urri rióó el hecho. Dimensiones: Las dimensiones son propiedades mesurables, pero que responden a otras preguntas asociadas conn el ev co even ento to,, tale taless co como mo ¿cua ¿cuand ndo? o?,, ¿q ¿qui uién én?, ?, ¿d ¿don onde de?, ?, ¿cuál?, etc. Las dimensiones permiten realizar el análisis de los hechos desde distintos puntos de vista y cruzando varias dime dimens nsio ione ness de mane manera ra sim simultá ultáne nea. a. Las Las dim dimen ensi sion ones es también permiten proporcionar varios niveles de gran granul ular arid idad ad pa para ra real realiz izar ar an anál ális isis is:: la gran granul ular arid idad ad más más gruesa permite visualizar los datos de una manera más resumida, mientras que una granularidad más fina permite visualizar los datos de manera más específica.
Por ejemplo, podríamos tener para un estudiante, un hecho “nota”, y las dimens dimension iones es “seme “semestr stre”, e”, “un “unida idadd académ académica ica”, ”, y“ y“per period iodo”, o”, con la granularidad que se especifica en la Figura 13. Note que para la dimensión período, podríamos realizar un análisis al nivel de
28
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
granularidad corte, o en una granularidad más gruesa, a nivel de semestre, o a una granularidad más gruesa aún, a nivel de año.
Figura 13 Hechos y Dimensiones para un estudiante
Las dimensiones y hechos, se organizan en un modelo multidimensional, de manera que para cada hecho, tengo varias dimensiones de análisis. El modelo más sencillo para organizar las dimensiones y los hechos, es la estrella simple. En la estrella sim simple, ple, tene tenem mos los los he heccho hoss en el nú núcl cleeo de la estr estreella lla y las las dimensiones en cada uno de los brazos, con el nivel de granularidad más fino más cercano al núcleo de la estrella, para el ejemplo anterior, se muestra la estrella simple en la Figura 14. 14.
Figura 14 Estrella simple para un estudiante
29
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Otro Otro mode modelo lo de orga organi niza zaci ción ón de he hech chos os y dim dimen ensi sion ones es es el modelo en copo de nieve , este modelo es similar a la estrella simple, solamente que pueden existir varios “caminos” entre los niveles de granularidad de las dimensiones. Es evidente que no se puede colocar toda la información de la organización en una sola estrella o copo de nieve. En una bodega de datos se almacenarán muchas estrellas, cada una de las cuales rep represe resenntará tará un hecho echo dife difere rennte de denntro tro de dell co cont nteexto xto de la organización, aunque se permite que varias estrellas compartan varias dimensiones. En general, la dimensión tiempo siempre se comparte, ya que cuando se realiza un análisis de datos, es la dimensión que más se utiliza. A un conjunto de estrellas se le denomina data mart o mercado de datos . Esta nueva arquitectura de datos implica que se necesitará una nuev nu evaa mane manera ra de real realiz izar ar co cons nsul ulta tass al mode modelo lo.. Para Para real realiz izar arlo lo,, tenemos disponibles los operadores OLAP. Existen cuatro operadores, los cuales son los siguientes: •
•
Drill: Dada una dimensión, esta operación permite realizar el análisis en una granularidad más fina. Roll: Dada una dimensión, esta operación permite realizar el análisis en una granularidad más gruesa, es la operación contraria al drill .
Suponga como ejemplo los datos que se muestran en la figura, obtenidos con JMagallanes 4, utilizando el hecho calificaciones y la dimensión tiempo con granularidad semestre y período.
4
http://jmagallanes.sour http://jmagallanes.sourceforge.net/en/ ceforge.net/en/
30
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 15 Un reporte OLAP
Al realizar un Drill sobre la granularidad periodo en el segundo semestre del 2004, se obtiene una granularidad más fina, como se muestr estraa en la Figu Figura ra 16 16.. La op oper erac ació iónn Roll ha harí ríaa el efec efecto to contrario: de la Figura 16, 16, llegaríamos al estado de la Figura 15. 15.
31
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 16 Resultado de hacer un Drill •
Slice & Dice: Es la operación de seleccionar un subconjunto de la granularidad de una dimensión para ser mostrados en el reporte OLAP. En la Figura 17 se muestra el mism mismoo repo report rtee OLAP OLAP,, pe pero ro most mostra rand ndoo sola solame ment ntee el segundo período del 2004 para la dimensión período.
32
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 17 El reporte OLAP luego de un Slice & Dice •
Pívot: Es una operación de orientación, en este caso, la dimensión que se muestra en las columnas se coloca en las filas, y la dimensión que se encuentra en las filas se coloca en las columnas.
Los operadores OLAP no compiten con el lenguaje SQL. Ambas herramientas se complementan con el fin de analizar la información.
33
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
1.44 Limp 1. Limpie ieza za y Tra Trans nsfo form rmac ació ión n de de los los Dato Datoss Una vez que se ha recopilado e integrado la información, es el momento de construir una vista minable. Pero antes de comenzar el proceso, es necesario hacer un reconocimiento previo para poder construirla con la mayor precisión posible. El primer reconocimiento que se realiza es el reconocimiento del dominio. En el reconocimiento del dominio se realiza un primer análisis donde se comprende cual es el problema que se está abordando con el proceso de KDD y cuales son los resultados esperados, esto permitirá tener un mejor enfoque mientras se realizan las tareas de limpieza y transformación de los datos. Entre otras cosas, en el reco recono noci cimi mien ento to de dell do domi mini nioo se pu pued eden en ap apli lica carr técn técnic icas as de la ingeniería de requisitos que permitan modelar el problema que se esta tratando, ya sea mediante modelos basados en escenarios como los casos de uso, u otro tipo de modelos. Adicio Adic iona nalm lmen ente te,, pu pued eden en plan plante tear arse se un co conju njunt ntoo de hipó hipóte tesi siss o suposiciones empíricas sobre el conjunto de datos y el resultado final del proceso de minería de datos, de manera que ésta hipótesis allá de los los hech hechos os y expe experi rieencia nciass noss pe no perm rmit itaa lleg llegar ar “más allá conocidos para llegar a una mayor comprensión de los mismos” 5.
Para ello, entonces habrá que hacer una formulación de la misma y guiar el proceso de minería de datos a probar las suposiciones, relaciones causa/efecto o entre variables que se hayan planteado en la hipótesis. Cuando se haya terminado de definir cual es el problema que se va a resolver y las hipótesis que se probarán, es necesario realizar un reconocimiento de los datos que se desean minar. Inicialmente, debe conocerse cual es la población de datos con la que se cuenta para iniciar el proceso de minería de datos, y las propiedades de 5
C. BERNAL TORRES: Metodología de la investigación investigación 2da Edición
34
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
esta población. población. Entre las propiedad propiedades es más importantes importantes que pueden reca recaba bars rsee son son el alcance o luga lugar( r(es es)) do dond ndee se ob obtu tuvi vier eron on las las instancias, el tiempo o período temporal en el cual se almacenaron los registros que van a ser minados, una descripción del conjunto de datos y el tamaño de la población o número de instancias que están disponibles. Debe conocerse que representa cada atributo, cuales son los rangos o la lista de valores válidos del atributo, su significado, y su relación con otros atributos y con el problema en sí para lo cual, deben conceptualizarse o definirse y clasificarse en dependientes, independientes y extraños o intervinientes. Los atributos dependientes son aquellos que son afectados o guardan alguna correlación con otros atributos; los atributos independientes son aquellos que son de nuestro interés y actúan sobre los atributos dependientes, y los intervinientes o extraños son atributos que no guar gu arda dann un unaa rela relaci ción ón dire direct ctaa co conn los los atri atribu buto toss de depe pend ndie ient ntes es o independientes, pero pueden interferir con el resultado del proceso de mine minerí ríaa de da dato tos. s. Este Este reco recono noci cimi mien ento to pe perm rmit itee tom tomar las las decisiones de transformación y selección más adecuadas para cada atributo Cuando finaliza el reconocimiento, comienza entonces la tarea de construcción de la vista minable. Este es un proceso iterativo y experimental, es decir, por lo general el proceso deberá realizar varias iteraciones y deberán probarse muchas hipótesis diferentes antes de lograr una vista minable definitiva. Durante Durante el proceso, se utilizan utilizan operadores operadores OLAP y consultas consultas SQL que permitan obtener conjuntos de datos que formarán parte de la vista minable; está debería cumplir con dos condiciones, que los datos seleccion seleccionados ados sean representativos de dell co conj njun unto to tota totall de datos, y que además, estén consolidados. La primera condición se debe al hecho que los algoritmos de minería de datos tienen una
35
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
alta complejidad computacional, por lo que generar modelos para todos los datos puede tomar un tiempo prohibitivo. La segunda condición se debe al hecho de que es más útil generar patrones que cobijen a muchas instancias, que patrones que cubran a una sola instancia (Ej. los días nublados lloverá vs. el 11 de Noviembre de 1998 llovió). Entre otras técnicas que se utilizan para generar la vista minable, está está la suma sumari riza zaci ción ón,, es de deci cir, r, el resu resume menn de da dato toss util utiliz izan ando do operaciones de SQL de agregados (SUM,AVG,COUNT,etc) y los operadores OLAP (Roll,Slice & Dice). Además, la selección de la columna que actuará como clase en el caso de desear un modelo descriptivo de los datos. La generalización se utiliza para desprender las columnas de los tipos de datos: solo vamos a tener dos tipos de datos en la minería de datos, los numéricos, que contendrán solo números, para los cuales debe definirse un rango, y los nominales, que serán datos de cadena, pero cuyos valores se restringen a una lista de valores válidos; en este caso, debe definirse cual es el conjunto de valores válidos si este no es obvio para el problema. Inmediatamente, debe trabajarse en la calidad de la vista minable, las acciones que pueden tomarse para tratar con los datos faltantes y los outliers, ya se trataron en la página 10. Genera Gene rada da la vist vistaa minab inable le prel prelim imin inar ar,, es ne nece cesa sari rioo aju ajustar star la dimensionalidad, ya sea mediante un muestreo o mediante una reducción dimensional. En la primera tarea, se presenta el problema que la cantidad de filas que contiene la vista minable no es el adecuado, ya porque hay muchas, o porque no hay suficientes. En este este caso caso,, de debe be modi modifi fica cars rsee esta estadí díst stic icam amen ente te el tam tamañ añoo de la población haciendo un muestreo para lograr obtener un número de
36
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
filas filas satisfa satisfacto ctorio rio,, pero pero con conser servan vando do la representatividad de la vista. Para esto, la tarea más sencilla es un muestreo aleatorio simple, es decir, se seleccionan aleatoriam riamen entte y con reemplazo azo un subconjun junto de las filas que contiene la vista mina nabble, la aleatoriedad nos asegura que la muestra más pequeña sigue siendo representativa de la vista inicial. Otra posibilidad, es utilizar un submuestreo, en este caso, se tienen menos filas de las deseadas en la vista minable. Para esto, se realiza una selección aleatoria con reemplazo de las filas de la vista, con el fin de obtener más filas que las que se tenía en un principio. La última posibilidad es utilizar un muestreo de grupos . Esta es la situación si queremos generar un nuevo conjunto de filas, pero queremos asegurar que varios grupos diferentes de datos tengan la misma posibilidad de ser elegidos. Ej, tenemos un conjunto de filas que representan hombres y mujeres, pero hay más hombres que mujeres. Podríamos utilizar un muestreo de grupos para seleccionar una nueva muestra que contenga la misma cantidad de hombres que de mujeres. Cuando se ha logrado un tamaño de la muestra adecuado, entonces se lleva a cabo un ajuste de dimensionalidad, para seleccionar los atributos que conformarán la vista minable definitiva. El primer paso que debe realizarse en este ajuste, es eliminar todas las llaves candidatas, es decir, todos aquellos atributos que tienen una gran cant cantid idad ad de va valo lore ress ún únic icos os.. Esto Esto pe perm rmit itir iráá logr lograr ar un unaa mejo mejor r consolidación de los datos de la vista minable. El segundo paso, es decidir cuales atributos se dejarán en la vista mina minabl ble, e, de debe benn elim elimin inar arse se los los atri atribu buto toss ex extr trañ años os y la may ayor or cant cantid idad ad po posi sibl blee de atri atribu buto toss de depe pend ndie ient ntes es.. Esto Estoss tien tienen en el
37
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
problema que de antemano se conocen sus relaciones de dependenc dependencia ia y esto hará que se pierda pierda expresivida expresividadd en el resultado resultado final (Ej: Si hay poca luminosidad, entonces estará más oscuro). Idealmente, debe dejarse un solo atributo dependiente si se desea realizar una tarea de minería de datos supervisada, en este caso el atributo dependiente se convertirá en la clase y el método de miner inería ía de da dato toss busca scará las las rela relaci cioone ness en entr tree los los atri atribbutos utos independientes y este último. En cualquier otro caso, es ideal que todos los atributos sean independientes. Exis Existe te un unaa mane manera ra de infe inferi rirr si do doss atri atribu buto toss nu num méric éricos os son son depe de pend ndie ient ntes es,, y es media mediant ntee la util utiliz izac ació iónn de un diag diagra rama ma de dispersión, como el que se muestra en la figura para el largo y ancho del pétalo en la vista iris 6, y el coeficiente de correlación.
Figura 18 diagrama de dispersión largo del pétalo vs ancho del pétalo
El coeficien iente de correlación es una medida cuantitati ativa adimensional en el rango [-1,1] para determinar la fortaleza de una relación lineal; debe tenerse en cuenta al usarla que solamente sirve para analizar correlaciones lineales, y que el hallazgo de una alta corr co rrel elac ació iónn en entr tree do doss atri atribu buto toss no impl implic icaa caus causal alid idad ad,, de debe be 6
HETTICH, S. and BAY, S. D. The UCI KDD Archive [http://kdd.ics.uci.edu] [http://kdd.ics.uci.edu]
38
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
realizarse el análisis del caso para explicar la relación entre ambos. La fórm fórmul ulaa qu quee se utili tilizza pa para ra calc alcula ular el coe oefi ficcient ientee, es la siguiente:
r =
∑ x y − i
i
∑ x ∑ y i
i
n
2 2 ∑ ( ) y ∑ 2 ( ) 2 xi y − i − ∑ xi ∑ i n n
(2)
Donde x es el atributo en las ordenadas e y es el atributo en las abscisas. Los resultados de la métrica se interpretan de la siguiente manera: si r se aproxima a uno, entonces la correlación es positiva, es decir, si el atributo x aumenta su valor, igual lo hará el atributo y. Si r se aproxima a menos uno, entonces la correlación es negativa, es decir, si el atributo x au aum menta nta su va valo lor, r, el atrib tribut utoo y decrementará el suyo. Por otro lado, si r se aproxima a cero, entonces no hay una correlación lineal entre los dos atributos. Ejemplo: ¿Hay correlación lineal entre el largo y el ancho del pétalo en la vista iris? Los valores necesarios para calcular el coeficiente de correlación se muestran en la tabla ( x = largo del pétalo, y = ancho del pétalo). Tabla 1 parámetros para calcular el coeficiente de correlación correlación
∑ ∑
x y
563.8 179.8
i
i
∑x ∑y ∑ x y
2583
2
i
302.3
2
i
i
n
i
869 150
39
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Reemplazando en la ecuación (2):
r =
869 −
258.3 − r =
563.8 *179.8 150 2
563.8 150
302.3 −
179.8 150
2
193.2 463.86 * 86.78
r =0.9627
(3)
(4) (5)
De donde se desprende que los atributos largo y ancho del pétalo tienen una alta correlación positiva, lo cual confirma rma lo evidenciado en el diagrama de dispersión observado en la Figura 18.. 18 Finalmente, pueden realizarse tareas de transformación sobre los datos. Puede ganarse en expresividad si se crea un nuevo atributo como función de los atributos dependientes, o puede normalizarse los atributos numéricos, para que tomen valores en el rango [0,1], o pueden transformarse el tipo de los atributos. Si consulta Garcia Morate7 puede obtener un amplio listado de transformaciones que pueden realizarse sobre los atributos atributos de la vista minable. Para el caso de la transformación del tipo de atributo, pueden ocurrir dos tipos de transformaciones: una discretización si se piensa convertir un atributo numérico a nominal. Entre otras razones para esta transformación, está que algunos métodos de minería solo trabajan con datos nominales; en este caso, se debe explicitar cuántas clases se crearán para el atributo (esto es, cuantos valores válidos tomará el atributo nominal). 7
D. GARCIA MORATE: Manual de WEKA, Creative Commons
40
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Si lo que se desea es convertir un atributo nominal a numérico, entonces se trata de una numerización. Este caso es más atípico, pero puede aplicarse si el formato numérico es mas expresivo que el nominal, o si queremos utilizar el atributo en un método de minería que solo trabaje con atributos numéricos. Una vez ajustada la dimensionalidad de la vista, se ha logrado el producto final del proceso de limpieza y selección y ya contamos con una vista minable a partir de la cual puede comenzar el proceso de análisis y minería de los datos. El siguiente paso es documentar en un reporte todas las acciones y la lógica que se implementó para seleccionar que instancias y que atributos hacen parte de la vista minable, así como las transformaciones realizadas y las acciones de limpieza de datos efectuadas.
41
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
1.5 Anális Análisis is Descri Descripti ptivo vo de la Vista Vista Minabl Minablee Al llegar hasta este punto ya se cuenta con una vista minable que puede ser utilizada para extraer conocimiento. Sin embargo, la aplicación de las distintas técnicas de minería de datos será más ópti óp tima ma si prev previa iame mente nte se ha hace ce un an anál ális isis is de desc scri ript ptiv ivoo qu quee no noss permita inferir la presencia de algunos patrones, o establecer cual método de minería de datos puede ejecutarse para obtener los mejores resultados. En cualquier caso, es importante conocer las singularidades del conjunto de instancias que se va a minar para poder interpretar con mejores elementos de juicio los modelos obtenidos al finalizar el proceso. A continuación, veremos algunas herramientas que nos pueden ayudar a analizar la composición y distribución de cada uno de los atributos que hacen parte de la vista minable.
Gráficas de puntos. Esta herramienta nos permite dar un vistazo inicial de cómo se distribuyen los valores del atributo a lo largo de la escala horizontal (en el caso de atributos numéricos) o como se clasifican en cada una de las etiquetas, y el grado de separabilidad del atributo (en el caso de atributos nominales). Por ejemplo, observe la gráfica de puntos generada en WEKA para la vista minable iris en la Figura 19, 19, donde los atributos, desde la gráfica superior hacia la inferior son {largo del sépalo, ancho del sépalo, largo del pétalo, ancho del pétalo, clase}, con guía de colores para la clase (azul=iris setosa, rojo = iris versicolor, verde = iris virginica); Una descripción del conjunto de datos se puede obtener en la base de datos UCI 8.
8
HETTICH, S. and BAY, S. D. The UCI KDD Archive [http://kdd.ics.uci.edu] [http://kdd.ics.uci.edu]
42
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 19 Gráfica de puntos para la vista Iris
Observe que para el ancho y largo del pétalo (tercera y cuarta gráfica de arriba hacia abajo) jo), las instancias se reparten cons co nsis iste tent ntem emen ente te en las las tres tres clas clases es disp dispon onib ible les. s. Ha Haci cien endo do el ejercicio de utilizar reglas de clasificación (algoritmo JRip) solo con los atributos en mención, se obtiene un porcentaje de aciertos de 95.33%, mientras que utilizando todos los atributos, se obtiene un porcentaje de aciertos de 94%. Las reglas generadas se muestran en la corrida 20a y 20b, nótese que, aunque en ambas corridas se utilizan los mismos atributos para construir las reglas, en la corrida 20a se generan solo tres reglas con mejor porcentaje de aciertos, mientras que en la corrida 20b se generan cuatro reglas, y no aparecen los atributos extraños. (petallength>=3.3) (petalwidth<=1.6) (petallength<=4.9) (petallength>=4.5) Iris-virginica Iris-setosa
Iris-versicolor
a Corrida solo con los atributos petallength y petalwidth (petallength <= 1.9) (petalwidth >= 1.7) (petallength >= 5) Iris-versicolor
Iris-setosa Iris-virginica Iris-virginica
b Corrida con todos los atributos Figura 20 Reglas de decisión para la vista iris
Histogramas de frecuencia. Es tal vez la herramienta más popular de la estadística descriptiva. Para elaborarla, se divide el espacio muestral del atributo en un conjunto de clases (si el atributo es nominal, nominal, se utilizan utilizan las clases clases definidas definidas para éste) éste) y se procede procede a catalogar cada instancia dentro de su clase correspondiente. La
43
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
división de clases –en el caso de atributos numéricos- se realiza de tal manera que una instancia no pueda quedar en la frontera entre dos clases. Luego, se hace un conteo de frecuencias para cada clase y se elabora una gráfica de barras donde la altura de cada barra viene determinada por el número de instancias de cada clase, tal como se muestra en la Figura 21 para el largo del pétalo en la vista iris (código de colores: azul = iris setosa, rojo = iris versicolor, cian = iris virginica).
Figura 21 Histograma de frecuencias para el atributo largo del pétalo
Luego, la gráfic fica puede convertirse en un histograma de frecuencias relativas para determinar cual es la posibilidad de que una instancia dada se encuentre en un intervalo dado. Ejemplo: el largo de pétalo en la instancia cuarenta de la vista iris es 1.5. Según el histograma, la posibilidad de que una instancia esté en el intervalo [1.00, 2.18] es (50/(50+3+34+47+16)) = 33%, que entre otras, es la posibilidad de que la instancia sea una iris setosa.
Descripciones numéricas. En el caso de atributos nominales, la únic ún icaa de desc scri ripc pció iónn nu numé méri rica ca qu quee no noss inte intere resa sa es el co cont nteo eo de frecuencias para cada etiqueta del atributo, de manera que pueda construirse el histograma de frecuencias; si el atributo es numérico, entonces es conveniente calcular los valores mínimo y máximo para obtener el rango del atributo, la media y la desviación
44
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
estándar. Estas medidas junto con las herramientas anteriores nos pueden dar una mejor claridad de la forma como se distribuyen los datos del atributo a lo largo de su dominio.
45
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
2
Extrac Extracció ción n del Conoci Conocimie miento nto
Una ve Una vezz term termin inad adaa la prep prepar arac ació iónn de los los da dato tos, s, esta esta se de debe be procesar con métodos de minería de datos para extraer el conocimiento. Como se vio en el primer capítulo la finalidad de esto estoss métod étodos os es de desc scub ubri rirr pa patr tron ones es a pa part rtir ir de los los cu cual ales es se generan modelos que representan las relaciones que existen entre los datos; así mismo se presentaron algunas de las formas más comunes comunes de representa representarr estos estos modelos modelos en el proceso proceso de minería minería de datos. La prime imera tarea que se debe realizar en este ste momento, es seleccionar las técnicas y algoritmos específicos que se utilizarán durante el proceso de minería de datos, documentando el modelo y las las asu sunncio cione ness qu quee se ha hará ránn en cua uant ntoo a valo alores res falt faltan ante tes, s, dist distri ribu buci cion ones es de prob probab abil ilid idad ad de los los atri atribu buto toss nu numé méri rico coss (si apli ap lica ca), ), y otra otrass co cons nsid ider erac acio ione ness ad adic icio iona nale less de dell do dom minio inio de dell problema a tener en cuenta cuenta previo a la generación del modelo. modelo. Cuando ya se han generado los modelos, debe documentarse que parámetros se utilizaron durante la ejecución del algoritmo de minería de datos; así como el método de validación utilizado. Esto fac facilit ilitaará la tare tareaa de ajust justar ar los los pa pará rám metro etross pa para ra mejo ejorar rar la precisión de cada uno de los modelos y evaluar los modelos unos contra otros para seleccionar los que presenten la mejor evaluación. Finalmente, los expertos en el dominio del problema deben evaluar el modelo generado contra el contexto del negocio para determinar si realmente el modelo es preciso, y cual es su utilidad potencial. De igual forma, se evaluará cada modelo contra los objetivos del negocio a los que se está apuntando y contra cada uno de los factores críticos de éxito. Al finalizar, cada modelo debe estar acompañado de un informe con su respectiva evaluación para poder pasar a la tarea de validación. validación.
46
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
En este capítulo centraremos nuestra atención en los algoritmos que se utilizan para generar esos modelos, sin prestar mucha atención a los los pa pará rám metro etross de sint sinton oniz izac ació ión, n, co conn el fin fin de mant manten ener er los los algo algori ritm tmos os lo más senc sencil illo lo po posi sibl blees pa para ra su co com mprens rensió iónn. Comenzaremos por el más sencillo de todos, el UnaRegla (OneR). Esto nos permitirá explorar algunos conceptos básicos de minería de datos. Los datos que se utilizarán para ilustrar cada uno de los algoritmos son los mostrados en la Tabla 2. 2. Tabla 2 La vista globos
COLOR AMARILLO AMARILLO AMARILLO AMARILLO AMARILLO AMARILLO AMARILLO AMARILLO AMARILLO AMARILLO MORADO MORADO MORADO MORADO MORADO MORADO MORADO MORADO MORADO MORADO
TAMAÑO PEQUEÑO PEQUEÑO PEQUEÑO PEQUEÑO PEQUEÑO GRANDE GRANDE GRANDE GRANDE GRANDE PEQUEÑO PEQUEÑO PEQUEÑO PEQUEÑO PEQUEÑO GRANDE GRANDE GRANDE GRANDE GRANDE
ACCION ESTIRAR ESTIRAR ESTIRAR UNTAR UNTAR ESTIRAR ESTIRAR ESTIRAR UNTAR UNTAR ESTIRAR ESTIRAR ESTIRAR UNTAR UNTAR ESTIRAR ESTIRAR ESTIRAR UNTAR UNTAR
EDAD INFLADO ADULTO SI ADULTO SI NIÑO NO ADULTO NO NIÑO NO ADULTO SI ADULTO SI NIÑO NO ADULTO NO NIÑO NO ADULTO SI ADULTO SI NIÑO NO ADULTO NO NIÑO NO ADULTO SI ADULTO SI NIÑO NO ADULTO NO NIÑO NO
47
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
2.1 El algoritmo OneR Comenzaremos nuestro estudio de los algoritmos de minería de datos con el algoritmo más sencillo de todos, el UnaRegla (OneR). Este algoritmo, además de ser el más sencillo de todos, presenta un buen desempeño. Para presentarlo, haremos una prueba de escritorio utilizando la base de datos de globos disponible en el archivo de conjuntos de datos UCI 9. La base de datos presenta un conj co njun unto to de glob globos os co conn dist distin inta tass cara caract cter erís ísti tica cass qu quee fuer fueron on utilizados en experimentos de memoria y asociación, en este caso, la utilizaremos para tratar de determinar si existe alguna relación entre los atributos del globo y el hecho de que el globo se encuentre inflado o desinflado. El conjunto de datos se presentó en Tabla 2. 2. 9
HETTICH, S. and BAY, S. D. The UCI KDD Archive [http://kdd.ics.uci.edu]. [http://kdd.ics.uci.edu].
48
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
El primer paso del algoritmo, es realizar un conteo de frecuencias para determinar cuantas veces aparece cada valor de atributo y cuantas veces toma los valores de la clase. Este paso se presenta en la Tabla 3. 3. Tabla 3 Algoritmo Algoritmo 1R - Conteo de frecuencias frecuencias ATRIBUTO VALO VALOR R OCU OCURRENCIA IAS S SI NO NO AMARILLO 10 4 6 COLOR MORADO 10 4 6 PEQUEÑO 10 4 6 TAMAÑO GRANDE 10 4 6 ESTIRAR 12 8 4 ACCION UNTAR 8 0 8 ADULTO 12 8 4 EDAD NIÑO 8 0 8
Una vez que se tienen las ocurrencias con la que aparece cada valor de atributo, y las frecuencias de cada clase, se seleccionan las clases con mayor frecuencia para cada valor de atributo, y se calcula el error de predicción de cada valor de atributo y el error total para el atributo, como se muestra en la Tabla 4. 4. Tabla 4 Algoritmo 1R - Calculo de Errores ERROR ATRIBUTO VALO VALOR R ERR ERROR CLASE TOTAL AMARILLO 4/10 NO COLOR 8/20 MORADO 4/10 NO PEQUEÑO 4/10 NO TAMAÑO 8/20 GRANDE 4/10 NO ESTIRAR 4/12 SI ACCION 4/20 UNTAR 0/8 NO ADULTO 4/12 SI EDAD 4/20 NIÑO 0/8 NO
49
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Fina Finali liza zado do el co cont nteo eo de los los erro errore res, s, en ento tonc nces es se sele selecc ccio iona na el atributo para el cual el error sea menor, y se crea la regla con base en ese atributo. Si llegare a darse el caso de que dos o más atributos quedaran empatados (como en este caso), entonces se selecciona cualquiera de ellos para crear la regla. En nuestro caso, tenemos posibilidad de crear la regla con el atributo acción o con el atributo edad, ambas con un error del 20%. Seleccionando cualquiera de ellas (Acción), entonces el resultado de nuestro algoritmo será: Acción:
Estirar → SI Untar → NO
2.2 Métodos Bayesianos Quizás los métodos que le siguen en orden de menor complejidad al algoritmo UnaRegla sean los algoritmos que utilizan el teorema de Bayes como soporte a su procesamiento, más que todo, debido a que es una aplicación práctica de fórmulas muy conocidas de la estadística al análisis de datos. P(H|E) = P(E|H)P(H) P(E) Figura 22 Teorema de Bayes
Los métodos bayesianos tienen la característica de ser los únicos algo algori ritm tmos os de miner inería ía de da dato toss qu quee trat tratan an dire direct ctam amen ente te co conn probabilidades, así que pueden ser utilizados como soporte
50
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
estadístico para otras técnicas de minería. El teorema de Bayes se muestra en la Figura 22, y sus componentes son los siguientes: •
•
•
•
•
•
Hipótesis (H): Una afirmación o consecuente que va a ser demostrado mediante métodos estadísticos Evento (E): Es un conjunto de sucesos o antecedentes que se presentan en una instancia y cuyo consecuente es la ocurrencia de la hipótesis Probabilidad a priori P (H): Es la probabilidad observada de que se presente el consecuente sin tener en cuenta los antecedentes. Proba obabili bilida dad d del del event ventoo P (E): (E): Es la prob probab abil ilid idad ad observada de que se presenten los valores del antecedente en la instancia. Ya que el cálculo es muy largo, se obviará y se realizará una normalización de los resultados. Veros erosimi imili litu tud d P (E|H (E|H): ): Es la pro proba babi bili liddad de que se presente un evento dado que se ha observado la hipótesis (un valor del consecuente), también llamada probabilidad condicional. Probabilidad a posteriori P (H|E): Es la probabilidad de que se presen sente la hipótesis sis (consec secuente) dada la observación de los eventos (antecedentes). Nótese que es el valor que deseamos calcular con el teorema de Bayes.
Es decir, el teorema de Bayes nos permite obtener las probabilidades de que el atributo clase tome el valor de cada una de las etiquetas nominales, dado que una tupla de atributos inde indepe pend ndie ient ntes es {A1, {A1, A2 A2,… ,…,A ,An} n} toma tomann un co conju njunt ntoo de va valo lore ress {V1,V2,…,Vn}. Para su funcionamiento solamente necesitaremos
51
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
determinar la probabilidad estimada o a priori de que se presente cada una de las etiquetas nominales como valor del atributo, y las probabilidades condicionales de que se presente cada uno de los valores de los atributos independientes, dado que se presenta un valor determinado del atributo clase. Todas estas observaciones son muy sencillas de obtener a partir de la vista minable, y para demost demostrar rarlo, lo, realiz realizare aremo moss una aplica aplicació ciónn del teorem teoremaa de Bayes Bayes utilizando los datos de la Tabla 2. 2. Comenzaremos calculando las probabilidades de cada uno de los eventos dada la hipótesis que el globo está inflado (P(E|SI)) y dada la hipó hipóte tesi siss de qu quee el glob globoo esté esté de desi sinf nfla lado do (P(E (P(E||NO NO)) )).. Las Las probabilidades de las hipótesis son, respectivamente P(SI) = 8/20 (en ocho ocasiones el globo está inflado) y P(NO) = 12/20 (en las doce veces restantes, el globo está desinflado). En la Tabla 5 se muestra la distribución de probabilidad, nótese que para atributos nominales, estos se calculan utilizando conteo de frecuencias.
Tabla 5 Probabilidades para la vista globos INFLADO ATRIB TRIBU UTO VAL VALOR P(E| P(E|SI SI)) P(E| P(E|NO NO)) AMARILLO 4/8 6/12 COLOR MORADO 4/8 6/12 PEQUEÑO 4/8 6/12 TAMAÑO GRANDE 4/8 6/12 ESTIRAR 8/8 4/12 ACCION UNTAR 0/8 8/12 ADULTO 8/8 4/12 EDAD NIÑO 0/8 8/12
Una vez obtenida la tabla de probabilidades, estamos en capacidad de calcular la probabilidad de que un nuevo globo esté inflado o desinflado, dada la presentación de nueva evidencia. Consideremos
52
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
el siguiente ejemplo: Tenemos un globo amarillo pequeño que está siendo estirado por un adulto. {COLOR=AMARILLO, TAMAÑO=PEQUEÑO, ACCION=ESTIRAR, EDAD=ADULTO}
¿Cuál es la probabilidad de que esté inflado? Aplicando el teorema de Bayes: P(SI|E)=P(AMARILLO|SI) . P(PEQUEÑO|SI) . P(ESTIRADO|SI) . P(ADULTO|SI) . P(SI) (1) P(NO|E)=P(AMARILLO|NO). P(PEQUEÑO|NO) . P(ESTIRADO|NO). P(ADULTO|NO).P(NO) (2)
Resolviendo las ecuaciones 1 y 2: P(SI|E) = (4/8) X (4/8) X (8/8) X (8/8) X (8/20) P(SI|E) = 0.5 X 0.5 X 1.0 X 1.0 X 0.4 = 0.1 (3) P(NO|E) = (6/12) X (6/12) X (4/12) X (4/12) X (12/20) P(NO|E) = 0.5 X 0.5 X 0.33 X 0.33 X 0.6 = 0.0163
Normalizando para tener valores entre 0 y 1: P(SI) =
0,1 = 85.98% 0,1 + 0,0163
P(NO) =
0,0163 = 14.02% 0,1 + 0,0163
Por lo que es mucho mayor la probabilidad de que el globo esté inflado (85.98%) a que este desinflado (14.02%) dada la evidencia suministrada al algoritmo. El denominador P (E) no se tuvo en cuen cu enta ta ya qu quee al fina finall se no norm rmal aliz izar aron on los los resu result ltad ados os.. A esta esta apli ap lica cacción ión del métod étodoo de Bay Bayes so sobr bree tab abla lass de dato atos se le denomina NaiveBayes y constituye por sí misma una técnica de minería de datos. El nombre de “Naive” (Sencillo, en inglés) viene del hecho de que se asume que todos los eventos que participan en el método son inde indepe pend ndie ient ntes es y mutu mutuam amen ente te ex excl clus usiv ivos os en entr tree sí (es (es de deci cir, r, no pueden ocurrir de manera simultánea), lo cual generalmente no es
53
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
cierto en la mayoría de los conjuntos de datos. Sin embargo, el método NaiveBayes, a pesar de su sencillez, obtiene resultados muy buenos al ser utilizado sobre vistas minables reales. Un caso particular que debe tenerse en cuenta al aplicar el método NaiveBayes es la posibilidad que para una hipótesis dada, no se presente un evento (tal como en el caso de que el globo esté inflado si lo manipula un niño, en este caso, P(E|SI)=0/8=0). Ya que el numerador del teorema de Bayes está conformado por una serie de multip multiplic licaci acione ones, s, esta esta probab probabili ilidad dad produc producirá irá una probab probabili ilidad dad falsa de 0%. ¿Qué debe hacerse en este caso? La solución más extendida es utilizar un estimador de Laplace. En su forma más sencilla, se debe sumar uno a cada frecuencia, y recalcular las probabilidades de manera que nunca sea posible tener una frecuencia igual a cero. A continuación, se muestra la Tabla 6 con las probabilidades de la vista globos recalculada utilizando un estimador de Laplace: Tabla 6 Probabilidades de la vista Globos utilizando estimador de Laplace INFLADO ATRIB TRIBU UTO VALO VALOR R P(E| P(E|SI SI)) P(E| P(E|NO NO)) AMARILLO 5/10 7/14 COLOR MORADO 5/10 7/14 PEQUEÑO 5/10 7/14 TAMAÑO GRANDE 5/10 7/14 ESTIRAR 9/10 5/14 ACCION UNTAR 1/10 9/14 ADULTO 9/10 5/14 EDAD NIÑO 1/10 9/14
Calculemos ahora las probabilidades de que un globo esté inflado o desi de sinf nfla lado do pa para ra el ev even ento to en qu quee un niño niño mani manipu pula la un glob globoo grande: P(SI|E) = P(NIÑO|SI) X P(GRANDE|SI) X P(SI) P(SI|E) = (1/10) X (5/10) X (9/22)
54
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
P(SI|E) = 0.1 X 0.5 X 0.41 = 0.0205 (4) P(NO|E) = P(NIÑO|NO) X P(GRANDE|NO) X P(NO) P(NO|E) = (9/14) X (7/14) X (13/22) P(NO|E) = 0.642 X 0.5 X 0.59 = 0.18939
Y normalizando para tener valores entre 0 y 1: P(SI) =
0.0205 __ = 9.7% 0.0205 + 0.18939
P(NO) = 0.18939 _ = 90.3% 0.00205 + 0.18939 Por lo que será más probable que el globo este desinflado (90.3%) a que este inflado (9.7%). No solo es posible trabajar con atributos nominales utilizando el métod métodoo NaiveB NaiveBay ayes. es. Tambié Tambiénn es posibl posiblee trabaj trabajar ar con atribu atributos tos numéricos o con combinaciones de atributos tanto numéricos como nominales; la única diferencia radica en la manera como se calcula en la tabla las probabilidades de los eventos dada la hipótesis. Para el caso de los atributos numéricos, no se utilizará un conteo de frec frecue uenc ncia iass sino sino la func funció iónn de de dens nsid idad ad de prob probab abil ilid idad ad pa para ra calcular el valor de las pruebas de verosimilitud; se asumirá – siguiendo la filosofía Naive- que los datos numéricos siguen una distribución normal. f ( x)
=
1
e
( x − µ ) − 2σ
2
2
2π σ Figura 23 Función de densidad de probabilidad
55
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Para ilustrarlo, veamos la Tabla 7, 7, donde se han reemplazado los valores nominales del atributo edad por valores numéricos: Tabla 7 Vista Globos con el atributo edad numérico nu mérico COLOR TAMAÑO ACCION EDAD INFLADO AMARILLO PEQUEÑO ESTIRAR 20 SI AMARILLO PEQUEÑO ESTIRAR 23 SI AMARILLO PEQUEÑO ESTIRAR 10 NO AMARILLO PEQUEÑO UNTAR 22 NO AMARILLO PEQUEÑO UNTAR 12 NO AMARILLO GRANDE ESTIRAR 24 SI AMARILLO GRANDE ESTIRAR 28 SI AMARILLO GRANDE ESTIRAR 8 NO AMARILLO GRANDE UNTAR 26 NO AMARILLO GRANDE UNTAR 9 NO MORADO PEQUEÑO ESTIRAR 29 SI MORADO PEQUEÑO ESTIRAR 30 SI MORADO PEQUEÑO ESTIRAR 10 NO MORADO PE PEQUEÑO UNTAR 22 NO MORADO PE PEQUEÑO UNTAR 11 NO MORADO GR GRANDE ESTIRAR 27 SI MORADO GR GRANDE ESTIRAR 22 SI MORADO GRANDE ESTIRAR 8 NO MORADO GRANDE UNTAR 24 NO MORADO GRANDE UNTAR 13 NO
A partir de estos datos, el primer paso será calcular la tabla de probabilidades, con los valores de verosimilitud para atributos nominales, y la media (μ) y la desviación estándar (σ) para los atributos numéricos, dado P(E|SI) y P(E|NO). La tabla ilustra el proceso, utilizando un estimador estimador de Laplace. Tabla 8 Probabilidades de la vista globos, utilizando un estimador de Laplace y un atributo numérico nu mérico ATRIBUTO VALOR INFLADO
56
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
P(E|SI) AMARILLO 5/10 COLOR MORADO 5/10 PEQUEÑO 5/10 TAMAÑO GRANDE 5/10 ESTIRAR 9/10 ACCION UNTAR 1/10 μ = 25,375 EDAD σ = 3,622
P(E|NO) 7/14 7/14 7/14 7/14 5/14 9/14 μ = 14,583 σ = 6,815
Ahora calculemos la probabilidad de que un globo esté inflado o desinflado, dado el evento en que un niño de 10 años manipula un globo grande: P (10 | SI ) =
P (10 | NO) =
(10 − 25.375) 2 1 = 0.1101 e − 6.818 = 0.0012 e− 2 2 ⋅ 3.622 2π ⋅ 3.622 (10 − 14.583) 2 1 = 0.058 e = 0.226 = 0.046 e 2 2 ⋅ 6.815 2π 6.815
P(SI|E) = P(10|SI) X P(GRANDE|SI) X P(SI) P(SI|E) = 0.0012 X (5/10) X (9/22) P(SI|E) = 0.0012 X 0.5 X 0.41 = 0.0002 (5) P(NO|E) = P(10|NO) X P(GRANDE|NO) X P(NO) P(NO|E) = 0.046 X (7/14) X (13/22) P(NO|E) = 0.046 X 0.5 X 0.59 = 0.01357
Y normalizando para tener valores entre 0 y 1: P(SI) =
0.0002 __ = 1.4% 0.0002 + 0.01357
P(NO) =
0.01357 _ = 98.6% 0.0002 + 0.01357
57
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
2.3 Árbo rboles de Decisión Mencionamos en el capítulo 1 que los árboles de decisión son una estructura de representación del conocimiento que se basan en una aproximación de divide y vencerás. La estructura general de nodos y hojas resultan en uno de los modelos de minería de datos más sencillos de interpretar por un operador humano. Existen distintos tipo de árboles de decisión, dependiendo en gran medid medidaa del tipo tipo de atribu atributo to clase que deseam deseamos os predecir predecir.. En el caso de una clase nominal hablamos de árboles de clasificación, ya que el resultado final que encontraremos en una hoja será una etiqueta que clasifique la instancia en cuestión. Si el atributo es numérico, en primera instancia puede pensarse en un árbol de regresión; es un árbol de similares características a uno de clasificación, solo que en este caso el resultado que se encuentra en una hoja es la predicción de un valor numérico. Sin embargo, si se de dese seaa más más prec precis isió iónn y todo todoss los los atri atribu buto toss son son nu num méric éricos os,, entonces puede considerarse mejor un árbol de modelos. En este caso, el resultado que se encuentra en las hojas será un modelo de
58
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
regresión lineal con base en los atributos independientes de la vista minable. En cua ualq lqui uier er caso caso,, de debe benn ten tenerse erse en cue uent ntaa dos aspe aspect ctoos al momento de generar un árbol de decisión; el primero es decidir como se realizarán las particiones candidatas de un nodo para gene ge nera rarr sus sus hijo hijos, s, y el segu segund ndoo es ev eval alua uarr esta estass pa part rtic icio ione ness candidatas para seleccionar cual es la más fácil de dividir en la siguiente pasada del algoritmo. Para Para rea realiz lizar un unaa div divisió isiónn del árbol rbol y ge gennera erar una pa part rtic ició iónn candidata, deben generarse condiciones exhaustivas y excluyentes, es decir cada condición debe considerar todas las opciones posibles y cada cada inst instan anci ciaa de debe be cu cump mpli lirr ex excl clus usiv ivam amen ente te co conn un unaa sola sola condic con dición ión;; para para ello ello deb debee tomars tomarsee una de dos aproxim aproximaci acione ones, s, dependiendo de si el atributo que está en el nodo es nominal o numérico. En el caso que se trate de un atributo nominal, se generará una rama por cada uno de los valores que pueda tomar el atributo, tal como se muestra en la Figura 24 para 24 para la vista weather.
Figura 24 Partición atributo nominal
Si el atri atribu buto to es nu numé méri rico co,, el proc proced edim imie ient ntoo a real realiz izar ar es el siguiente: primero se ordenan los valores del atributo, desechando los valores valores repeti repetidos dos y los valore valoress faltan faltantes tes si los hay hay.. Luego, Luego, se gene ge nera rann pa part rtic icio ione ness pa para ra cada cada un unoo de los los va valo lore ress de la list listaa util utiliz izan ando do op oper erac acio ione ness rela relaci cion onal ales es mutu mutuam ament entee ex excl cluy uyen ente tes; s; fina finalm lmen ente te,, se sele selecc ccio iona na la pa part rtic ició iónn qu quee ob obte teng ngaa la mejor ejor
59
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
evaluación. Un ejemplo de particiones de atributos numéricos se muestra en la Figura 25.
Figura 25 Partición atributo numérico
En cuanto a la evaluación de las particiones candidatas, el m étodo más más acer acerta tado do serí seríaa sele selecc ccio iona narr en cada cada mome moment ntoo la pa part rtic ició iónn basada en el atributo que produzca los hijos más puros (es decir, quee ge qu gene nere re la may ayor or pro propo porc rció iónn de inst instaanc nciias de una clase lase espe especí cífi fica ca), ), de esta sta man aner eraa, será será ne nece cesa sari rioo rea realiza lizarr meno noss divisiones en el futuro y el árbol tendrá el tamaño más pequeño posible, siendo mucho más interpretable. ¿Pero como definir una medida de “pureza”? existen varias métricas para tal fin, pero nos enfocaremos aquí en la función información. La función información se define como la cantidad de información que se necesita para especificar la clase de una nueva instancia, y se mide en bits. Mientras mayor información se necesite, más trabajo deberá hacerse para determinar si una instancia pertenece a una clase determinada, y por lo tanto, menos atractiva será la división. Esta función deberá cumplir con las siguientes propiedades: •
Dado el caso binario (dos clases), cuando el número de instancias de alguna de las clases es 0, el valor de la función info inform rmaació ción es 0. Esto Esto es po porq rque ue solam lamen ente te ten tenemos emos inst instan anci cias as de un unaa clas clase, e, en ento tonc nces es no ne nece cesi sita tamo moss más más información para determinar la clase de una instancia que se está catalogando.
60
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
•
•
Cuando el número de instancias de ambas clases es igual (en el caso binario), entonces la información toma el valor máximo. Esto es porque una instancia que se está clasificando puede pertenecer a cualquiera de las dos clases en la misma proporción, por lo que se necesita el máximo de información para poder clasificarla. La función de información debe obedecer la propiedad de multi-etapa. Es decir, Si se tienen más de dos clases, debe ser posible descomponer la función en múltiples etapas de dos clases.
Una función que puede cumplir con todas estas propiedades es la función de entropía. La definición es como sigue: entropía (p1, p2,…,pn) = -p1log 2 p p1-p2log 2 p p2-…-pnlog pn Donde los argumentos p 1, p2,…, pn se expresan como fracciones que suman 1. Ejemplo: 1 + 6
Entropía(1,2,3) = Entropía
3 + = − 6 6 2
1 6
log 2
1 6
−
2 6
log 2
2 6
−
3 6
log 2
3 6
=
0.43 + 0.53 + 0.50 = 1.46
Una vez que se tienen lo valores de información de cada rama, se determina el peso de cada nodo de la siguiente manera: gananci ganancia a(nodo) = inf( nodo) − inf(inf( rama1 ), inf( rama2 ),..., inf( rama n ))
gain) se define como la ganancia de Donde la ganancia ( gain información que se obtiene al realizar la ramificación. Para ilustrar
61
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
el procedimiento, se realizará un árbol de decisión con los datos de la Tabla 2 para la vista globos. El primer paso es decidir cuál será el primer atributo para dividir. Para esto, realizamos un conteo de frecuencias para cada valor de atributo, lo que nos permite calcular la información de cada uno de ellos como se muestra en la Tabla 9. 9. Por ejemplo, para el valor de atributo amarillo el cálculo es de la siguiente manera: entropia (4,6) =
−
4 4 6 6 ⋅ log2 − ⋅ log2 = 0.4 ⋅ log2 ( 0.4) − 0.6 ⋅ log2 ( 0.6) = 0.97 10 10 10 10
Tabla 9 Cálculo de informació inf ormación n para el árbol ATRI TRIBUTO VALOR SI NO INFO(SI,NO) AMARILLO 4 6 0.97 COLOR MORADO 4 6 0.97 PEQUEÑO 4 6 0.97 TAMAÑO GRANDE 4 6 0.97 ESTIRAR 8 4 0.92 ACCION UNTAR 0 8 0.00 ADULTO 8 4 0.92 EDAD NIÑO 0 8 0.00
A con onti tinu nuaación ción,, calc alculam ulamoos el va vallor de la func funció iónn gan anan anccia resu result ltan ante te de divi dividi dirr el árbo árboll po porr cada cada atri atribu buto to,, el cálc cálcul uloo se muestra en la Tabla 10. 10. Esta función nos permitirá obtener una estimación ponderada de que tan buena es la decisión de realizar la partición por un atributo dada la entropía de cada uno de los valores de sus atributos. Para ello, tomamos el valor de la función información para el nodo que se está trabajando (inicialmente como no se han realizado particiones, se toma toda la vista minable), y se le resta la información ponderada que introduce cada una de las ram ramific ificac acio ione nes; s; esta esta dife difere renc ncia ia repr repres esen enta ta la ganancia en información de hacer la partición; de allí el nombre de la función.
62
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Para Para la colum columna na INFO(a INFO(atri tribut buto), o), como como inicia inicialme lmente nte tenem tenemos os 8 globos inflados (SI) y 12 globos desinflados (NO), el valor será INFO(8,12)=0.97. Para calcular la columna INFO(ramas), se toma la sumatoria del número de instancias que bajan por cada rama multiplicado por la ganancia de cada una de las ramas, de acuerdo a la fórmula INFO INFO( rama) =
valoratributon
∑
valoratributoi
ins tan ciasvalor i
⋅ inf o(valor i )
ins tan ciasrama
Por ejemplo, para el atributo color, INFO INFO( rama) =
valoratributon
∑
valoratributoi
INFO INFO(color )
=
INFO INFO(color )
=
ins tan ciasvalor i ins tan ciasrama
ins tan cias(amarillo) ins tan ciasrama 10 10 ⋅ 0.97 + ⋅ 0.97 20 20
=
⋅ inf o(valor i )
⋅ inf o(amarillo) +
ins tan cias(morado) ins tan ciasrama
⋅ inf o(morado)
0.97
Tabla 10 Cálculo de ganancia para los atributos ATRIBU ATRIBUTO TO INFO(atrib INFO(atributo) uto) INFO(ramas) INFO(ramas) GAIN GAIN COLOR 0.97 0.97 0.00 TAMAÑO 0.97 0.97 0.00 ACCION 0.97 0.55 0.42 EDAD 0.97 0.55 0.42
Finalmente, tenemos un empate en el valor final de ganancia para los los atri atribu buto toss ACCIO CCION N y EDAD EDAD.. Sele Selecccio ciona namo moss en ento tonnces ces el atri atribu buto to ACCI ACCION ON –la –la sele selecc cció iónn en este este caso caso,, es alea aleato tori riaa- y realizamos la primera división del árbol, como se muestra en la Figura 26.
63
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 26 Primera división del árbol
Como se ve en la Figura 26, 26, en la rama de untar ya no es necesario volver a dividir, ya que no podemos añadir nueva información, todos los globos untados están desinflados. Continuamos entonces de manera recursiva por la rama de estirar teniendo en cuenta los demás atributos. El cálculo de la información para está nueva situación es la mostrada en la Tabla 11: Tabla 11 Información para la segunda división d ivisión del árbol ATRI TRIBUTO VALOR SI NO INFO(SI,NO) AMARILLO 4 2 0.92 COLOR MORADO 4 2 0.92 PEQUEÑO 4 2 0.92 TAMAÑO GRANDE 4 2 0.92 ADULTO 8 0 0.00 EDAD NIÑO 0 4 0.00
Real Realiz izan ando do los los cálc cálcul ulos os de ga gana nanc ncia ia de la sigu siguie ient ntee pa pasa sada da,, obtenemos los datos de la Tabla 12. 12. Tabla 12 Ganancia para la segunda pasada del árbol ATRIBU ATRIBUTO TO INFO(atrib INFO(atributo) uto) INFO(ramas) INFO(ramas) GAIN GAIN COLOR 0.92 0.92 0.00 TAMAÑO 0.92 0.92 0.00 EDAD 0.92 0.00 0.92
64
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Como los Com los resu result ltaado doss de dell atrib tribuuto EDAD EDAD ob obti tien eneen la may ayor or ganancia, se realiza la nueva división por este atributo, llevándonos a la situación del árbol final que vemos en la Figura 27. 27.
Figura 27 Árbol de decisión completo
2.4 Reglas de Clasificación Cubriremos en esta sección solamente la creación de reglas de clasificación, ya que la minería de reglas de asociación es un poco más compleja pero se puede derivar del estudio que se hará en esta sec secció ción. Las Las reg reglas, las, a dife difere renncia cia de los los árbol rbolees, toma oman un unaa estr estrat ateg egia ia de cu cubr brim imie ient ntoo pa para ra ge gene nera rarr la repr repres esen enta taci ción ón de dell conocimiento. Estas son tal vez la forma de representación de conocimiento más popular dentro y fuera del campo de la minería de datos, debido a que los modelos generados son sencillos de expresar e implementar, y se asemejan en gran medida a la manera como los humanos representamos el conocimiento, por lo cual, su popularidad ha sido bien ganada. ganada. Las reglas obtenidas utilizando algoritmos de generación de reglas son incluso más sencillas y poseen mayor interpretabilidad que aquellas equivalentes que han sido generadas mediante un árbol de decisión. La forma que normalmente toma una regla es la siguiente: s iguiente:
65
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
α => β Donde α es el antecedente y β es el consecuente, la regla se lee “Si α en ento tonc nces es β”. β”. Un Unaa regl reglaa pu pued edee tene tenerr va vari rios os an ante tece cede dent ntes es o consecuentes unidos mediante el operador de conjunción (AND), teniendo cada antecedente/consecuente la forma (atributo operador valor) Sien Siendo do el atri atribu buto to cu cual alqu quie iera ra de los los qu quee co conf nfor orm man la vist vistaa mina minabl ble, e, un op oper erad ador or rela relaci cion onal al (<,< (<,<=, =,=, =,>= >=,> ,>)) y el va valo lorr un número dentro del rango del atributo (si este es numérico) o una etiqueta (si el atributo es nominal). Ahora, la diferencia entre un sistema de reglas de clasificación y un sistema de reglas de asociación, es que en este último, cualquier atributo puede hacer parte del consecuente de una regla, o incluso puede haber varios consecuentes, mientras que en las reglas de clasificación solo puede haber un consecuente, y en este debe participar el atributo clase de la vista minable; además, el atributo clase no podrá aparecer en el antecedente de una regla en un sistema de reglas de clasificación. Existen casos especiales que deben tenerse en cuenta al momento de interpretar un sistema de reglas de clasificación, por lo cual se debe saber de antemano cómo el algoritmo de generación de reglas organiza el modelo. El caso más común es un sistema de reglas que contiene una excepción, como el caso de las reglas generadas en la Figura 20, donde la última regla no tiene antecedente, solo un consecuente. En este caso, la regla se interpreta como “si no se cumple ninguna de las anteriores reglas entonces β”. Otro caso menos común es la presencia de reglas anidadas; en este caso caso,, las las regl reglas as se en encu cuen entr tran an orga organi niza zada dass sim similar ilar a co como mo se
66
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
encontraría un conjunto de bloques condicionales anidados en un algo algori ritm tmoo co comp mput utac acio iona nal, l, de mane manera ra qu quee pa para ra esta establ blec ecer er si un consecuente es verdadero, se necesita evaluar todas las reglas de orde ordenn supe superi rior or ha hast staa lleg llegar ar a la regl reglaa en cu cues esti tión ón;; es po posi sibl blee también también tener sistemas sistemas de reglas reglas anidadas anidadas con excepcio excepciones nes (que func funcio iona narí rían an co com mo la inst instru rucc cció iónn sino de un lenguaje de programación) . Un aspecto a tener en cuenta para cada regla individual de un sistema de reglas de clasificación, son los parámetros de cobertura (support) y confidencia (confidence) de la regla, ya que estos nos permitirán determinar que tan buena es esa regla individual para predecir el valor del atributo clase. La cobertura es el número de instancias para los cuales aplica la regla, es decir, el conjunto de filas de la vista minable donde los atributos toman los valores que se especifican en el antecedente y el consecuente. Mientras mayor sea la cobertura, la regla será más gene ge nera ral, l, pu pues es ap apli lica cará rá a la may mayor cant cantid idad ad de inst instan anci cias as.. La confidencia por su parte, es la habilidad de la regla para predecir el atributo clase, y se calcula dividiendo el número de instancias correctamente clasificadas, entre el número de instancias para las que esta aplica (el soporte de la regla), mientras mayor sea el valor de la confidencia, más correcta será la regla, pues predecirá con mayor exactitud las instancias que aplican a ella. Resulta evidente en este punto que debe existir un balance entre la confidencia y el soporte de una regla, ya que mientras mayor sea el soporte, menor será la confidencia y viceversa. Distintos algoritmos de generación de reglas de clasificación harán diferentes concesiones en uno u otro aspecto. En este caso, echaremos un vistazo al algoritmo PRISM, cuya principal característica es que genera reglas cuya confidencia siempre es 100%.
67
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Para la vista globos, comencemos generando reglas para la clase SI (es decir, el globo está inflado) y luego generaremos reglas para la clase NO (es decir, el globo está desinflado). El orden en que se seleccionen las clases no alterará el conjunto de reglas obtenido. Al iniciar la construcción de la regla, se comienza con una que tiene como consecuente la clase bajo estudio y ningún antecedente, es decir, una regla de la forma
Φ ⇒
inf lado = SI
(1)
Ahora, tabulemos los posibles antecedentes que podrían colocarse en el lado izquierdo de la regla y veamos la cobertura y confidencia de cada una de las opciones, la tabulación se muestra en la Tabla 13.. 13 Tabla 13 Antecedentes cuando Inflado = SI ATRIB TRIBU UTO VAL VALOR COBER OBERTU TURA RA CON CONF FID IDEN ENC CIA AMARILLO 10 4/10 COLOR MORADO 10 4/10 PEQUEÑO 10 4/10 TAMAÑO GRANDE 10 4/10 ESTIRAR 12 8/12 ACCION UNTAR 8 0/8 ADULTO 12 8/12 EDAD NIÑO 8 0/8
Nótese que de todos antecedentes candidatos los que presentan la mejor confidencia son accion = estirar y edad = adulto; en caso de empates como este, se selecciona la regla con la mejor cobertura. Como nuevamente tenemos un empate, seleccionaremos accion = estirar , y lo añadimos al conjunto de antecedentes. accion = estirar ⇒ inf lado = SI
(2)
68
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Aún no hemos logrado obtener confidencia 100%, así que ahora tomaremos el subconjunto de instancias donde accion = estirar y tabu tabule lemo moss nu nuev evam amen ente te los los po posi sibl bles es an ante tece cede dente ntess qu quee po podr dría íann adicionarse a la regla. Observe que a medida que avanza la regla, se va dism dismin inuy uyen endo do el espa espaci cioo de bú búsq sque ueda da.. Los Los an ante tece cede dent ntes es candidatos se muestran en la Tabla 14. 14. Tabla 14 antecedentes candidatos cuando accion = estirar e inflado = si ATRIB TRIBU UTO VALO VALOR R COBER OBERT TURA CON CONFI FID DENC ENCIA AMARILLO 6 4/6 COLOR MORADO 6 4/6 PEQUEÑO 6 4/6 TAMAÑO GRANDE 6 4/6 ADULTO 8 8/8 EDAD NIÑO 4 0/4 En esta ocasión, el antecedente con mejor confidencia es edad = adulto, el cual inmediatamente nos permite finalizar la regla con
confidencia 100%. En este momento finaliza la construcción de la regla, cuya forma final es la siguiente: accion = estirar ∧ edad = adulto ⇒ inf lado = SI
(3)
A continuación retiramos de la vista las instancias que han sido clasificadas correctamente con la regla, y comenzamos el proceso nuevamente con una regla de la forma f orma (1). Como no quedan nuevas inst instan anci cias as pe pend ndie ient ntes es de clas clasif ific icar ar pa para ra la clas clasee SI (log (logram ramos os clasificar todas las instancias con una sola regla), pasamos ahora a generar reglas con la clase NO. Comenzamos nuevamente, con una regla sin antecedentes y con inflado = NO como consecuente:
Φ ⇒
inf lado = NO
(4)
Y tabu tabula lam mos la co cobe bert rtur uraa y co conf nfid iden enci ciaa de los los an ante tece cede dent ntes es candidatos. La tabulación se muestra en la Tabla 15. 15.
69
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Tabla 15 antecedentes cuando inflado = NO ATRIB TRIBUT UTO O VALO VALOR R COBE COBERT RTUR URA A CONF CONFID IDEN ENCI CIA A AMARILLO 10 6/10 COLOR MORADO 10 6/10 PEQUEÑO 10 6/10 TAMAÑO GRANDE 10 6/10 ESTIRAR 12 4/12 ACCION UNTAR 8 8/8 ADULTO 12 4/12 EDAD NIÑO 8 8/8
En este caso, como en la primera pasada de la regla anterior, tenemos un empate tanto en confidencia como en cobertura entre los anteceden antecedentes tes acci accion on = unta untar r y edad=niño. Entr Entree ambo ambos, s, seleccionaremos la primera opción. Apréciese que inmediatamente se obtiene la siguiente regla con confidencia 100%: accion = untar ⇒ inf lado = NO
(5)
Para continuar, eliminamos las instancias que son correctamente clasificadas por la regla. En este caso, aún quedan instancias por clasificar, así que comenzamos nuevamente con una regla de la forma (4) y tabulamos la cobertura y confidencia de los antecedentes candidatos, como en la Tabla 16. 16. Tabla 16 antecedentes para la segunda segund a regla cuando inflado = NO ATRIB TRIBUT UTO O VALO VALOR R COBE COBERT RTUR URA A CONF CONFID IDEN ENCI CIA A AMARILLO 6 2/6 COLOR MORADO 6 2/6 PEQUEÑO 6 2/6 TAMAÑO GRANDE 6 2/6 ESTIRAR 12 4/12 ACCION UNTAR 0 0/0
70
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
EDAD
ADULTO NIÑO
8 4
0/8 4/4
Para Para esta esta regl regla, a, el an ante tece cede dent ntee edad dad = niño niño ob obti tien enee la mejor mejor confidencia, y ya que la confidencia es 100%, inmediatamente finaliza la generación de la regla, cuya forma es la siguiente: edad = niño ⇒ inf lado = NO
(6)
Para continuar, se eliminan de la vista las instancias que quedan clas clasif ific icad adas as co conn esta esta regl regla; a; al no ha habe berr más inst instan anci cias as pa para ra clas clasif ific icar ar,, y no ha habe berr más más clas clases es pa para ra co cont ntin inua uarr el algo algori ritm tmo, o, finaliza la creación de las reglas. El sistema de reglas quedaría compuesto entonces por las reglas (3), (5) y (6).
71
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
2.5 Métodos basados en agrupamiento A dife difere renc ncia ia de los los méto método doss pres presen enta tado doss ha hast staa ah ahor ora, a, en los los méto método doss ba basa sado doss en ag agru rupa pami mien ento to (o clus cluste teri ring ng)) no ex exis iste te un atributo clase en la vista minable, por lo que se intentará agrupar las instancias de manera que puedan relacionarse maximizando sus simi simili litu tude dess y mini minimi miza zand ndoo sus sus dife difere renc ncia ias. s. Nu Nuev evam amen ente te,, es necesario anotar que en general es considerado un método de minería de datos intermedio, pues luego de realizado el agrupamiento suele ser necesario realizar una tarea de minería de datos descriptiva para descubrir las características que tienen en común las instancias que fueron asignadas a cada uno de los grupos. La may mayoría oría de los los algo algori ritm tmos os de ag agru rupa pami mient entoo co comi mien enza zann su procesamiento definiendo un conjunto de instancias aleatorias que se denominarán centroides; algunos algoritmos como el k-means, que explicaremos en esta sección, mantienen fijo el número de centroides a lo largo de toda su ejecución, otros algoritmos lo varían de manera dinámica tratando de establecer el número óptimo de centroides para el conjunto de instancias particular. Luego, se calcula la distancia de cada instancia a cada centroide, para vincular la instancia con el centroide más cercano. En este
72
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
punto, es necesario resaltar la importancia de la función de distancia que se utilizará, pues esta determinará que tan bien se agrupan las instancias alrededor de cada uno de los centroides. La may ayor oría ía de los los alg algorit oritm mos utili tilizzan la fun funció ción de dist distan anci ciaa 2 euclideana, d = ( c1 − a1 ) 2 + ( c2 − a2 ) 2 + ... + ( cn − an ) donde la tupla c = { c1 , c 2 ,..., c n } corresponde a los valores de cada uno de los atributos del centroide, y la tupla i = { a1 , a 2 ,..., a n } corresponde a los valores de cada uno de los atributos de la instancia que está siendo evaluada. Algu Alguna nass modi modific ficac acio ione ness a la func funció iónn de dist distan anci ciaa eu eucl clid idea eana na consisten en no calcular la raíz cuadrada, para hacer más eficiente el algoritmo, o utilizar potencias mayores que dos para “castigar” las distancias largas y favorecer las cortas. Igualmente, pueden utilizarse otras funciones de distancia que se adapten mejor a cada caso puntual que que se esté tratando. Para realizar la asignación de las las instancias a cada agrupación, cada centroide representa un grupo; y cada instancia pertenecerá al grupo que esté a menor distancia. Finalizad Finalizadaa la asignación asignación de instancias, instancias, se recalculan recalculan los valores de los atributos del centroide como el promedio de los valores del atributo para todas las instancias que pertenecen al grupo, esta oper op erac ació iónn es eq equi uiva vale lent ntee a repo reposi sici cion onar ar los los cent centro roid ides es en el “centro” del grupo. Una vez que se han movido los centroides, se calculan nuevamente las distancias de cada instancia a los nuevos centroides, y el proceso se repite hasta que los centroides no se mueven a una nueva posición. Los centroides finales representan la instancia promedio del grupo, y las asignaciones a cada centroide representan la clasificación que se le ha dado a cada instancia. El algoritmo que hemos descrito corresponde con el k-means, en el cual utilizamos un conjunto fijo de k centroides desde el comienzo de la ejecución.
73
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Algunas desventajas del algoritmo son el hecho de que inicialmente no se sabe cuántas agrupaciones existen de manera natural en el conjunto de datos, por lo cual es necesario ejecutar el algoritmo varias veces con distinto número k de centroides y evaluar los resultados para seleccionar la mejor ejecución. Además, como los centroides iniciales se seleccionan de manera aleatoria, en algunas ocasiones los resultados pueden no resultar en un agrupamiento eficaz eficaz de los datos, por lo que es necesario ejecutar ejecutar varias veces el algoritmo hasta conseguir una agrupación con la calidad esperada. Finalmente, en algunas ocasiones si no existe un agrupamiento natural dentro del conjunto de datos, el algoritmo puede producir result resultado adoss inespe inesperad rados os o incohe incoheren rentes tes.. Sin embar embargo go todas todas estas estas desventajas, es un algoritmo extremadamente eficiente, pues tiende a co conv nver erge gerr muy rápi rápida dam men ente te y real realiz izaa un nú núm mero ero meno menorr de iteraciones que el número de instancias en el conjunto de datos. En la Figura 28 se muestra un ejemplo de ejecución del algoritmo kmeans, co conn 20 inst instan anci cias as y 2 clus cluste ters rs.. Los Los cu cuad adra rado doss ne negr groos indican los centroides iniciales y los cuadrados blancos indican los centroides finales.
74
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Figura 28 Ejemplo de ejecución del algoritmo k-means 10
A continuación, aplicaremos el algoritmo k-means sobre la vista globos de la Tabla 2 La vista globos. globos . Aun Aunque que la vist vistaa ya cuen cuenta ta con un atributo clase (inflado = {SI, NO}), para efectos de la prueba de escritorio se asumirá que es un atributo independiente más de la vista. Para comenzar, se define k = 2 y los centroides iniciales: Cent Centro roid ide0 e0 ={AM ={AMARI ARILL LLO, O, PEQUE PEQUEÑO, ÑO, UNTAR, UNTAR, AD ADUL ULTO TO,, NO} Centroide1 ={MORADO, GRANDE, ESTIRAR, ADULTO, NO} 10
http://home.dei.polimi.i http://home .dei.polimi.it/matteucc/Clu t/matteucc/Clustering/tutori stering/tutorial_html/Apple al_html/AppletKM.html tKM.html
75
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Al tratarse de atributos nominales, no es posible aplicar la función de distancia euclidiana sobre las instancias y los centroides. Por eso, para calcular la distancia, utilizaremos la siguiente función sobre cada valor de atributo: 0 si ii ≠ ci y d i = 1 si = ii ci
d =
n
∑ i
d i (1)
Por ejemplo, para calcular la distancia de la instancia I = {AMARILLO, PEQUEÑO, ESTIRAR, ADULTO, SI} A cada uno de los centroides, el cálculo se realiza de la siguiente manera:
d centroide0 = d color + d tamaño + d accion + d edad + d estirado = 1 + 1 + 0 + 1 + 0 = d centroide1 = d color + d tamaño + d accion + d edad + d estirado = 0 + 0 + 1 + 1 + 0 =
3 2
Los cálculos para cada una de las veinte instancias de la vista globos, y las asignaciones a cada grupo se muestran en la Tabla 17. 17.
Tabla 17 Distancias a cada centroide y asignaciones a cada grupo, primera iteración k-means Instancia Dist(C0) Dist(C1) Asignación 1 3 2 Grupo 0 2 3 2 Grupo 0 3 3 2 Grupo 0 4 5 2 Grupo 0 5 4 1 Grupo 0 6 2 3 Grupo 1 7 2 3 Grupo 1
76
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
8 9 10 11 12 13 14 15 16 17 18 19 20
2 4 3 2 2 2 4 3 1 1 1 3 2
3 3 2 3 3 3 3 2 4 4 4 4 3
Grupo 1 Grupo 0 Grupo 0 Grupo 1 Grupo 1 Grupo 1 Grupo 0 Grupo 0 Grupo 1 Grupo 1 Grupo 1 Grupo 1 Grupo 1
A continuación, deben reposicionarse los centroides. Nuevamente, tenemos inconvenientes porque los atributos son todos nominales, así que en lugar de utilizar la media, calcularemos la moda para cada grupo con el fin de realizar el movimiento de los centroides. La reubicación nos da como resultado: Cent Centro roid ide0 e0 ={AM ={AMARI ARILL LLO, O, PEQUE PEQUEÑO, ÑO, UNTAR, UNTAR, AD ADUL ULTO TO,, NO} Centroide1 ={MORADO, GRANDE, ESTIRAR, ADULTO, SI} El cent centro roid idee 1 ha sido sido repo reposi sici cion onad ado, o, así así qu quee se ejec ejecut utaa otra otra iteración del algoritmo. Las distancias a los nuevos centroides, y las asignaciones a cada grupo se muestran en la Tabla 18. 18. Tabla 18 Distancias a cada centroide y asignaciones a cada grupo, segunda iteración k-means Instancia Dist(C0) Dist(C1) Asignación 1 3 3 Grupo 1 2 3 3 Grupo 1 3 3 1 Grupo 0 4 5 1 Grupo 0 5 4 0 Grupo 0 6 2 4 Grupo 1
77
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
7 8 9 10 11 12 13 14 15 16 17 18 19 20
2 2 4 3 2 2 2 4 3 1 1 1 3 2
4 2 2 1 4 4 2 2 1 5 5 3 3 2
Grupo 1 Grupo 1 Grupo 0 Grupo 0 Grupo 1 Grupo 1 Grupo 1 Grupo 0 Grupo 0 Grupo 1 Grupo 1 Grupo 1 Grupo 1 Grupo 1
Y la reposición de los centroides da como resultado: Centroide0 ={AMARILLO, PEQUEÑO, UNTAR, NIÑO, NO} Centroide1 ={MORADO, GRANDE, ESTIRAR, ADULTO, SI} Como el centroide 0 ha sido movido, se realiza otra iteración del algoritmo. Las distancias a los nuevos centroides y las asignaciones a cada grupo se muestran en la Tabla 19. 19. Tabla 19 Distancias a cada centroide y asignaciones a cada grupo, tercera iteración k-means Instancia Dist(C0) Dist(C1) Asignación 1 2 3 Grupo 1 2 2 3 Grupo 1 3 4 1 Grupo 0 4 4 1 Grupo 0 5 5 0 Grupo 0 6 1 4 Grupo 1 7 1 4 Grupo 1 8 3 2 Grupo 0 9 3 2 Grupo 0
78
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
10 11 12 13 14 15 16 17 18 19 20
4 1 1 3 3 4 0 0 2 2 3
1 4 4 2 2 1 5 5 3 3 2
Grupo 0 Grupo 1 Grupo 1 Grupo 0 Grupo 0 Grupo 0 Grupo 1 Grupo 1 Grupo 1 Grupo 1 Grupo 0
La reposición de los centroides finalmente da como resultado Centroide0 ={AMARILLO, PEQUEÑO, UNTAR, NIÑO, NO} Centroide1 ={MORADO, GRANDE, ESTIRAR, ADULTO, SI} Como los centroides finalmente se han estabilizado, no se realizan más iteraciones del algoritmo. Los centroides 0 y 1 representan la instancia promedio del grupo 0 y del grupo 1, respectivamente, y los resultados de la última iteración han determinado a que grupo asignar cada una de las instancias.
3 Result Resultados ados de val validac idación ión Cuando Cuando finaliza finaliza la realización realización de cada cada experimento experimento de minería minería de dato da tos, s, es ne nece cesa sari rioo inte interp rpre reta tarr los los resu result ltad ados os de va vali lida daci ción ón de manera que se pueda inferir si los patrones obtenidos tienen algún valor. Es este el momento de revisar todos los entregables que se generaron durante el transcurso del proceso; una guía muy útil para escribir los informes se encuentra en el aparte IV del estándar interindustrial para el proceso de minería de datos (CRISP-DM).
79
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Un aspecto muy importante que debe tenerse en cuenta para que el proceso de generación generación de modelos sea válido, es que se debió debió haber dividido la muestra de instancias en al menos dos conjuntos, uno de entrenamiento y otro de pruebas, utilizando alguna de las técnicas que se revisaron en el capítulo 1.2.4. 1.2.4. Igualmente, debe asegurarse que la asignación de instancias a uno u otro grupo se realizó de manera aleatoria. De igual manera, debe evidenciarse un control estricto sobre los atributos de la vista minable. Debe haber una explicación para cada una de las transformaciones que se realizaron sobre cada uno de los atributos independientes, de manera que se pueda justificar cada una de las manipulaciones que se han realizado. Asimismo, debe presentarse las estrategias que se utilizaron para controlar la presencia o interferencia de variables extrañas, y asegurarse que éstas se eliminaron de la vista minable. Si es posible, pueden hacerse muestras de control que no contengan el atributo extraño para poder comparar los resultados del modelo ante la presencia o ausencia del atributo. Cuand Cua ndoo ya se ha che hequ queead adoo qu quee se sigu siguió ió el proc proces esoo con la rigurosidad requerida para ello, entonces se realizarán dos tipos diferentes de validaciones, una interna y otra externa.
3.1 Validación Interna La va vali lida daci ción ón inte intern rnaa no noss indi indica ca si real realm men ente te ex exis iste te algu alguna na inte interr rrel elac ació iónn en entr tree los los atri atribu buto toss qu quee se sele selecc ccio iona naro ronn pa para ra qu quee hicieran parte de la vista minable, es decir, si el modelo generado realmente predice o describe los datos que fueron minados. En esta validación, los principales problemas que se pueden encontrar es que la selección de los atributos no fue la más adecuada o fue muy sesgada, y por lo tanto, el modelo es deficiente. Otro posible problema puede ser que no se haya seleccionado la técnica o el
80
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
méto método do de mine minerí ríaa de da dato toss más más ad adec ecua uado do pa para ra el prob proble lema ma estudiado. Esta Esta valida validació ciónn pue puede de realiz realizars arsee realiz realizand andoo una evalua evaluació ciónn del modelo basada en precisión, o basada en costes; incluso, puede buscarse un equilibrio entre ambas evaluaciones de manera que el sist sistem emaa sea sea razo razonnab able lem men ente te prec reciso iso de dent ntro ro de un unoos cos oste tess aceptables. Para la evaluación basada en precisión se realiza la distribución de las instancias en los conjuntos de entrenamiento y pruebas. Luego, se busca determinar cuántas instancias del conjunto de pruebas son perfectamente clasificadas o predichas por el modelo. La precisión del modelo se define como precisión =
NoDeIns tan ciasClasif icadasCorr ectamente NoDeIns tan cias
(1)
Aunque la precisión es un buen indicador de la validez de un modelo, hay un factor que no tiene en cuenta, y es el costo que conlleva cometer un error al momento de clasificar o predecir una instancia. Dependiendo del campo de aplicación en el cual se utilizará el modelo, el costo de cometer una equivocación puede ser incluso más determinante para adoptar un modelo que la precisión del mismo. Considere el caso de los diagnósticos médicos. Resulta más costoso dar un diagnóstico negativo a un paciente enfermo que darle un diagnóstico positivo a un paciente sano; o resulta más costoso otorgarle un crédito a un cliente de riesgo que negarle un crédito a un cliente que no lo es. En cualquier caso, hay un costo asociado al error producido por el modelo, y ese error puede cuantificarse. La evaluación basada en costos permite medir el costo de los erro errore ress qu quee prod produc ucee el mod odel elo, o, y pa para ra real realiz izar ar el cálc cálcul ulo, o, se
81
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
necesitan dos componentes, una matriz de costos y la matriz de confusión. Para determinar los valores de la matriz de costos, se organizan las difere diferente ntess clasif clasifica icacio ciones nes del model modeloo (las (las etique etiquetas tas del atribu atributo to clase nominal) en las filas y columnas de una matriz de manera que puedan estimarse todas las posibles combinaciones de errores de predicción, como se muestra en la Tabla 20 para la vista lentes de contacto11, y se especifican en ella los costos de clasificar cada uno de los valores de las etiquetas como algún otro valor. Tabla 20 Matriz de costos para la vista lentes de contacto
duros duros $0.00 blandos $15.00 ninguno $15.00
blandos $25.00 $0.00 $25.00
ninguno $15.00 $25.00 $0.00
Nótese que en la diagonal principal, todos los valores son $0.00 ya que predecir correctamente una instancia no implica un costo; sin emba embarg rgoo es po posi sibl blee qu quee en algu alguna nass ap apli lica caci cion ones es real reales es,, esto esto implique una ganancia; en estos casos se utilizaría un valor de costo negativo. Para el ejemplo suministrado en la Tabla 20, 20, suponga que una consulta tiene un costo de $5, un par de lentes de contacto duros $10 y un par de lentes de contacto blandos $20. Siguiendo ese razonamiento, si a un paciente se le diagnostica que necesita lentes de contacto duros, y realmente necesitaba blandos, entonces eso implicaría una nueva consulta con el optómetra y el diagnóstico de unos nuevos lentes de contacto blandos, con un sobrecosto de ($5 + $20) $25, tal como se muestra en la intersección de la primera fila con la segunda columna de la tabla. Siguiendo el mismo smo 11
HETTICH, S. and BAY, S. D. The UCI KDD Archive [http://kd [ http://kdd.ics.uci.ed d.ics.uci.edu] u]
82
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
razonamiento se pueden inferir los demás valores de la matriz de costos. La matriz de confusión es aún más sencilla de obtener, ya que se genera automáticamente una vez que se ha validado el modelo de clasificación. Es una matriz con la misma estructura que la matriz de costos, solamente que en cada intersección de la matriz se coloca el número de instancias del conjunto de pruebas que obtuvo dete de term rmin inad adaa clas clasif ific icac ació iónn du dura rant ntee la va vali lida daci ción ón,, y a cu cual al clas clasee pertenecía originalmente. Una matriz de confusión para la vista de lentes de contacto utilizando para clasificar árboles de decisión (algoritmo J48) se muestra en la Tabla 21. Para la primera fila, podemos observar que de cuatro instancias de pruebas donde originalmente se diagnosticaron lentes de contacto duros, el modelo diag diagno nost stic icóó tres tres inst instan anci cias as co corr rrec ecta tame ment ntee y un unaa inst instan anci ciaa la clasificó erróneamente como ningún tipo de lentes de contacto. Tabla 21 Matriz de confusión para la vista lentes de contacto
duros blandos ninguno duros 3 0 1 blandos 0 5 0 ninguno 2 1 12 Una vez que se han obtenido las matrices de costo y confusión, el indicador costo se calcula utilizando la siguiente fórmula, donde costoij es la posición [i, j] de la matriz de costos y confusiónij es la posición [i, j] de la matriz de confusión. cos to =
∑
Costo .Confusión
cos to _ promedio =
ij
ij
cos to NoDeIns tan cias
(2) (3)
83
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
Real Realiz izan ando do los los cálc cálcul ulos os pa para ra el ejem ejempl ploo de la vist vistaa lent lentes es de contacto con las matrices de costo y confusión proporcionadas en la Tabla 20 y en la Tabla 21, 21, obtenemos para el indicador costo el valor $70, con un costo promedio por instancia de $2.91; es decir, si se utiliza el modelo generado para predecir el tipo de lentes de contacto que debe utilizar un paciente, en promedio los pacientes diagnosticados pagarán un sobrecosto de $2.91 por diagnósticos errados, y los 24 pacientes que hacen parte del conjunto de pruebas, habrán pagado en total $70 por estos diagnósticos.
3.2 Validación Externa Durant Dura ntee la va vali lida daci ción ón inte intern rnaa no noss en enfo foca camo moss en de dete term rmin inar ar la precisión y el costo de los modelos modelos generados, desde el campo campo de la minería de datos. En la validación externa se hará una nueva revisión de los modelos, esta vez desde la perspectiva de los objetivos de negocio de la organización donde se desarrolla el proceso, teniendo en cuenta cuenta el contexto de la misma. Esta validación nos permitirá determinar si el modelo generado puede aplicarse a otras instancias distintas a las que se
84
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
seleccionaron para hacer parte de la vista minable. Un aspecto clave es relacionar los modelos generados con los objetivos de negocio de la organización, para lo cual puede ser necesario contar con expertos en el dominio del problema que realicen la validación de los modelos y determinen de que manera cada modelo indi indivi vidu dual al o en co conj njun unto to pu pued eden en ay ayud udar ar a la orga organi niza zaci ción ón a alcanzar sus objetivos estratégicos y convertirse en factores críticos de éx éxit ito. o. En caso caso co cont ntra rari rio, o, será será ne nece cesa sari rioo qu quee los los ex expe pert rtos os sustenten claramente por qué el modelo no ayudará a lograr los objetivos. Debe tenerse en cuenta que en algunas ocasiones los modelos generados pueden descubrir información que estaba escondida en los datos y que no apunte a ningún objetivo de negocio; en ese caso, debe evaluarse la utilidad del modelo y revisar de qué manera la organización puede enfocar nuevos recursos en la explotación del modelo. El principal principal problema que pued puedee surgir surgir durante durante esta validación, validación, es que la muestra que se haya seleccionado no sea representativa de la población de estudio, y que por lo tanto, los modelos no puedan predecir sino solamente las instancias que hicieron parte de la muestra. Si es posible, para corregir esta falencia puede continuarse el proceso de evaluación de modelos mediante la implementación en una aplicación práctica del mismo durante un período de prueba para validar la utilidad del modelo. Si la validación es exitosa, entonces puede decirse que los patrones obtenidos pueden aplicarse de manera extendida para explicar o predecir a toda la población de interés que se seleccionó en el momento de comenzar con el proceso. Una vez terminada la evaluación, debe generarse un reporte donde se relacione cada modelo y a cuales objetivos de negocio puede aplicar. Además, se generan los modelos “aprobados”, es decir,
85
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
formalmen lmentte se plasman en un instructivo o cartilla, o se implementan en software de manera que la organización pueda hacer uso de ellos. Finalmente, se realiza una revisión general de todo el proyecto de minería de datos, para verificar si el proceso cumplió con todas las expe ex pect ctat ativa ivass de cali calida dadd y plan plante tear ar po posi sibl bles es mejor mejoras as futu futura rass al proceso. Algunas cuestiones que pueden surgir durante la revisión puede ser que el equipo informático que realizó el proceso actuó de manera subjetiva sobre el conjunto de datos en el momento de limpiar y redimensionar la muestra por lo cual no se tomó en cuenta algunas instancias o atributos determinantes para realizar un buen proceso de minería de datos; por lo tanto, al final de la validación debe determinarse si ya el proceso ha culminado, o si es necesario realizar una nueva iteración para generar modelo con mayor precisión y utilidad. El resultado de esta última revisión debe ser un informe con la decisión de finalizar o realizar una nueva iteración debidamente sustentada. Si la decisión es culminar el proceso, ¡felicitaciones!, ha finalizado exitosamente el proceso de generar conocimiento a partir de los datos; sin embargo recuerde las siguientes recomendaciones: •
•
•
Orga Organi nice ce y pres presen ente te los los mod odel elos os de man aner eraa qu quee sean sean comprensibles para quienes los utilizarán. De esto depende el valor agregado que el modelo le puede brindar a la organización. Los modelos generados tienen el potencial de convertirse en ventajas competitivas diferenciadoras, siempre y cuando se entr en tret etej ejan an co conn los los proc proces esos os de toma toma de de deci cisi sión ón de la organización. Los Los mod odel elos os tien tienen en un tiem tiempo po de vida vida.. En el en ento torn rnoo cambiante en que viven las organizaciones modernas, se
86
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
hace necesario revisar los modelos ante la presencia de nueva evidencia o cambios en el entorno. Por lo tanto estos deben actualizarse o desecharse si pierden su utilidad.
4
Refere Referenci ncias as Biblio Bibliográ gráfic ficas as
C. BERNAL TORRES: Metodología de la investigación 2da Edición, Pearson Educación 2006 D. GARCIA MORATE: Manual de WEKA, Creative Commons, [http://www.cs.waikato.ac.nz/ml/weka http://www.cs.waikato.ac.nz/ml/weka], ], Consultado en: 28/03/06 S. HETTICH, y S. D. BAY The UCI KDD Archive [http://kdd.ics.uci.edu]. Irvine, CA: University of California, Department of Information and Computer Science 1999
87
Ing. Esp. Juan Pablo Paz Grau – Minería de Datos
W. MENDENHALL, T. SINCICH: Probabilidad y Estadística para Ingeniería y Ciencias 4ta Edición, Prentice Hall 1997 NCR,SPSS,DaimlerChrysler, CRISP-DM 1.0 Step-by-step Step-by-step data mining guide, [http://www.crisp-dm.org [ http://www.crisp-dm.org]] 2000 J. ORALLO, M. RAMIREZ, C. RAMIREZ: Introducción a la Minería de Datos, Pearson Educación 2004 I. WITTEN, E. FRANK: Data Mining, Practical Machine Learning Tools and Techniques, Elsevier – Morgan Kaufmann 2005
88