REGLAS DE ASOCIACIÓN por Claudia Jiménez R Semestre 1 - 2012 1 Áreas de Aplicación Investigación g de mercados Finanzas Biología Detección de fraude Medicina S Sociología Y en muchas otras áreas!! ANALISIS DE LA CANASTA DEL MERCADO ( basquet q market analysis) y ) Productos comprados por los clientes de un supermercado en los últimos días: S la Sea l transacción ió Tj = {I1, I2,..Ik} Transacción o venta 1 Número total de transacciones = 9 3 Representación p de los ítems Los ítems se suelen representar por medio de códigos como A, B, C, D, E 4 Definiciones básicas en el análisis Item: un objeto o valor de un atributo Los valores cuantitativos continuos deben discretizarse. Itemset I: Subconjunto de posibles atributos o valores (ítems) Ejemplo: Ej l I = {A, {A B , E} (el ( l orden d no es importante) i t t ) Transacción: (TID, (TID itemset) Donde TID es el identificador de la transacción. 5 REGLA DE ASOCIACIÓN Regla de Asociación : Si Itemset1 Æ Itemset2 donde Itemset1 ∩ Itemset2= ∅ e Itemset2 ≠ ∅. Si las ventas incluyen el Itemset1 entonces también incluyen al Itemset2. Ejemplos: Si “Leche” y “Pan” => “Huevos” y “Azúcar” Si A,B Æ E,C Si “Leche” => “Pan” y “Cereal” SI A Æ B,C 6 OBTENIENDO REGLAS A PARTIR DE SUBCONJUNTOS O ITEMSETS Dado el conjunto j de ítems {{A,, B,, E}. } ¿Cuáles ¿ son las posibles p reglas de asociación ? (el orden no es importante: A A, B = B B, A) Si A Æ B, E Si A, B Æ E Si A, E Æ B Si B Æ A, A E Si B, E Æ A Si E Æ A,, B S 7 RESTRICCIONES EN LAS REGLAS DE ASOCIACIÓN Aplicable únicamente a variables cualitativas o discretizadas. Medidas de las fortaleza de una relación: Soporte, Confianza. 8 SOPORTE Y CONFIANZA DE UNA REGLA Sea R: I Æ J una regla de asociación Sop (R) = sop (I ∩J) es el soporte de la regla R (Porcentaje de instancias en las que se cumple tanto el conjunto de ítems I como J) Conf (R) = sop (R) / sop (I) es la confianza de R (Porcentaje de instancias de las que contienen al itemset I que cumplen la regla R. Nota: Las reglas de asociación que cumplen con un mínimo soporte (minsup) y una confianza dada (minconf) son llamadas reglas “interesantes”. 9 REGLAS DE ASOCIACIÓN: EJEMPLO 1 Dada la siguiente base de datos: Nú Número de d ttransacciones i o ventas t = 10 10 REGLAS DE ASOCIACIÓN: EJEMPLO 1 Soporte: sop p ((manzanas)= ) 4 / 10 = 0.4 sop (zanahoria) = 3 / 10 = 0.3 sop (dulces) = 6 / 10 = 0.6 sop (manzana ∩ dulces) = 3 / 10 = 0.3 sop (manzana ∩ papa) = 2 / 10 = 0.2 Confianza: conf (manzana Æ dulces) = sop (manzana ∩ dulces) / sop (manzanas)= 0.3 / 0.4 conf (manzana Æ dulces) = 0.75 conf (manzana Æ papa) = ? conf (manzana Æ tomate) = ? 11 ALGORITMO APRIORI Fue propuesto por Agrawal y Srikant en 1994. Idea: usar un conjunto de ítems (itemset) L con “k” k atributos para generar uno nuevo con “k+1” atributos. Si {{A,B}} es un itemset frecuente entonces {A} y {B} son también itemsets frecuentes Objetivo: Encontrar los itemsets L con mayor frecuencia. ALGORITMO APRIORI PASO 1: Generar todas los itemsets L con un único elemento. Usarlos para generar los ítemsets con 2 elementos y así sucesivamente. Se toman todos los posibles pares cuyo soporte sea mayor o igual a minsup (lo cual permite ir eliminando algunas combinaciones). 13 ALGORITMO APRIORI PASO 2: Por cada itemset frecuente L L’ encontrado Por cada subconjunto J de L’ Determinar todas las reglas de asociación de la forma: Si L’- J Æ J Seleccionar aquellas reglas cuya confianza sea mayor o igual minconf Se repite el paso uno, incluyendo y otro elemento a L. 14 Algoritmo Apriori : Ejemplo con minsup = 2 TID productos 100 200 300 400 Ítemset {1} {2} {3} {4} 1 3 4 2 3 5 1 2 3 5 2 5 {5} Explorar temp3 L1 temp1 D soporte 2 3 3 1 Ítemset {{1}} {2} {3} soporte 2 3 3 {5} 3 3 temp22 L2 ítemset {1 3} {2 3} {{2 5}} {3 5} soporte 2 2 3 2 itemset {135} {2 3 5} soporte 1 2 ítemset {1 2} {1 2} {1 3} {1 5} {2 3} {2 5} {3 5} soporte 1 2 1 2 3 2 L3 itemset {2 3 5} soporte 2 Explorar otra vez a D Usando el algoritmo g a priori p de WEKA Usando la base de datos que sirve para determinar si se puede jugar, dada unas condiciones climáticas determinadas. determinadas 16 USANDO WEKA : Ejemplo datos Golf minsup Medida para evaluar las reglas minconf número máximo de reglas a mostrar maxsup USANDO WEKA : Ejemplo datos golf 18 USANDO WEKA Generando reglas con soporte mínimo de 2 y confianza 100% Regla de Asociación Sup Conf 1 Humidity=Normal H idit N l Windy=False ⇒Pl ⇒Play=Yes Y 4 100% 2 Temperature=Cool ⇒Humidity=Normal 4 100% 3 O l k O Outlook=Overcast ⇒Play=Yes l 4 100% 4 Temperature=Cold Play=Yes ⇒Humidity=Normal 3 100% ... ... ... ... ... 58 ⇒Humidity=High 2 100% Outlook=Sunny Temperature=Hot En total: 3 reglas con soporte 4, 5 reglas con soporte 3 y 50 con soporte 2 19 Características del algoritmo g Apriori p •Facilidad de interpretación de resultados. Las reglas de asociación son fáciles de interpretar dada la naturaleza sencilla de su estructura, facilitando el trabajo j de los analistas a la hora de evaluar los resultados y generar conocimiento. •Posibilidad de trabajar con datos imprecisos. Algunos investigaciones han avanzado en el desarrollo de algoritmos que permitan trabajar con datos que por su naturaleza son difusos o con cierto grado de imprecisión. •El proceso de evaluación de resultados puede ser extenuante considerando la cantidad de reglas que se pueden extenuante, generar y que no son útiles aun cuando cumplen con los requisitos de soporte y confianza establecidos. 20 Mejoras j del Algoritmo g Apriori p • • • Algoritmo Parallel Mining Algoritmo Sampling Al it Algoritmo P titi Partition Algoritmo AprioriTid Algoritmo AprioriHybrid 21