1 Representación de Teorías con Reglas de Decisión Reglas

Anuncio
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Datamining y Aprendizaje Automatizado
05 – Aprendizaje de Conjuntos de Reglas
Prof. Carlos I. Chesñevar
Inducción de Reglas
& Reglas de Asociación
ƒ Representación de teorías con reglas de
decisión
ƒ Inducción de reglas predictivas
• Acercamientos de cubrimiento secuencial
(sequential covering)
Prof. Carlos Iván Chesñevar
Departamento de Cs. e Ing. de la Computación
Universidad Nacional del Sur
Email: [email protected]
/
Http:\\cs.uns.edu.ar\~cic
Representación de Teorías con
Reglas de Decisión
ƒ Representaciones previas:
• árboles de decisión
• representaciones numéricas
ƒ Una representación popular para definición
de conceptos: reglas ifif-then-else
then else
• IF <instancia cumple condiciones>
THEN <instancia pertenece a Clase>
ƒ ¿Cómo pueden aprenderse estas reglas?
• Arboles de Decisión => pasados a reglas.
• Usar algoritmos genéticos
• Métodos específicos de aprendizaje de reglas.
“Simplicity first”. Algoritmo OneRule
ƒ Algoritmos simples a veces funcionan muy
bien...
ƒ Hay muchos tipos de algoritmos con
estructura sencilla, ej.:
• Hay un atributo que sirve de referencia para la
clasificación
• Hay una combinación linear con pesos que
resuelve el problema
• Hay prototipos (instance-based learning) para
usar de referencia
ƒ El éxito depende en muchos casos del
dominio…
ƒ Reglas de asociación
ƒ Cap. 10 Mitchell (parcialmente)
ƒ Cap. 4 Witten (parcialmente)
Reglas: representación potente
ƒ Reglas proposicionales:
• No poseen variables, son más sencillas de computar.
Ej: IF Weather=Sunny THEN PlayTennis=yes.
ƒ Reglas de primer orden:
• Mayor expresividad, pero más complejas de obtener
automáticamente
IF parent(x,y) THEN ancestor(x,y)
IF parent(x,z), ancestor(z,y) THEN ancestor(x,y)
• Reglas como estas pueden procesarse
automáticamente en lenguajes como Prolog.
Inferencia de reglas via OneRule
ƒ OneRule (1R): aprende un árbol de decisión
de un nivel
• (ie., reglas que miran solamente un atributo)
ƒ Version básica:
• Una rama por cada valor
• Cada rama asigna la clase más frecuente
• Tasa de error: proporción de instancias que no
pertenecen a la clase mayoritaría de la rama
correspondiente
• Idea: elegir el atributo con menor tasa de error (se
asumen atributos nominales)
1
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Prof. Carlos I. Chesñevar
Algoritmo OneRule (1R)
ƒ Para cada atributo A
• Para cada valor del atributo, hacer una regla como
sigue:
• Contar cuán frecuentemente aparece cada clase
• Encontrar la clase más frecuente
• Hacer que la regla asigne esa clase a este atributo
• Calcular la tasa de error de las reglas
ƒ Elegir las reglas que tengan menor tasa de error
ƒ Obs:
si hay valores faltantes (“missing”), se
los trata como un nuevo valor.
*=empate
¿Y ...con atributos numéricos?
ƒ Idea: discretizar atributos
• Dividir el rango de cada atributo en intervalos
• Ordenar instancias según valor, y poner
“breakpoints” donde hay cambio de clase
• Esto minimiza el error total
64 65 68 69 70 71 72 72 75 75 80 81 83 85
y
n
y
y
64.5 66.5
y
n
n
70.5
y
y
y
n
y
y
77.5 80.5
72
n
84
Problema con 1R
Problema con 1R
ƒ El procedimiento tiende a formar un gran
número de categorías.
ƒ El acercamiento prefiere aquellos atributos que
particionen al dataset en muchas clases.
ƒ Pero imaginemos un atributo como NroDNI,
asociado unívocamente a cada instancia
instancia.
ƒ Este atributo dará un error cero con los datos
de entrenamiento, pues cada partición contiene
justamente una instancia!!
ƒ …pero el poder predictivo será muy pobre para
nuevos ejemplos (fenómeno de “overfitting”)
Problema con 1R
ƒ Para 1R, el overfitting aparece cuando un atributo tiene
un gran número de valores posibles.
ƒ Solución: discretizar la clase, asumiendo que debe
haber un número mínimo de instancias de la clase de
la mayoría en cada partición.
ƒ Ej: si mínimo=3, entonces tendriamos
ƒ Aplicando el mismo procedimiento para
Humidity, se obtiene:
Humidity: <=82.5
-> yes
>82.5 and <= 95.5 -> no
> 95.5
-> yes
Errores:
3/14
64 65 68 69 70 71 72 72 75 75 80 81 83 85
y
n
y
y
y
n
n
y
y
y
n
mayoría=y 70.5 mayoría=y 77.5
y
y
n
mayoría=?
Temperature:<=77.5 -> yes
> 77.5 -> no
Errores:
5/14
ƒ Probar en Weka el comportamiento de OneRule
para los datasets WeatherNominal y Weather.
ƒ Obs: Clasificador super naïve en Weka: ZeroR
2
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Sobre 1R
ƒ Fue descrito por primera vez en un paper por
Holte en 1993
• Contiene una evaluación experimental sobre 16
datasets (usando cross-validation, para asegurar que
los resultados fueran representativos sobre la
performance con otros datos)
• Mínimo nro de instancias = 6 (en base a
experimentación)
• Reglas simples de 1R no fueron mucho peores que
árboles de decisión muy complejos!!
Prof. Carlos I. Chesñevar
Acercamientos de
Cubrimiento Secuencial
ƒ Son acercamientos de “dividir y conquistar”
ƒ Principio general: aprender reglas de a una por vez.
• Algoritmo LearnOneRule
• Aprender una regla R que tenga
• Alta exactitud
– Cuando prediga algo, debería ser correcto.
• ...pero con cualquier cubrimiento
– No tiene que predecir todos los ejemplos, sólo algunos de ellos.
• Marcar los ejemplos “cubiertos” por R
• Estos ya han sido tomados en cuenta; ahora nos enfocamos en el
resto.
• Repetir esto hasta que se hayan cubierto todos los
ejemplos.
Acercamientos de
Cubrimiento Secuencial
ƒ Idea del algoritmo SequentialCovering
• Invocar LearnOneRule para todos los ejemplos,
obteniendo una regla R
• Remover todos los ejemplos positivos cubiertos por la
regla R
• Repetir
R
ti ell proceso para aprender
d una segunda
d regla,
l y
asi siguiendo.
ƒ Este algoritmo se denomina de cubrimiento
secuencial (sequential covering) porque aprende
secuencialmente un conjunto de reglas que cubren a
todos los ejemplos positivos.
ƒ Las reglas pueden ordenarse para aplicar las reglas
más exactas primero al clasificar una nueva instancia.
BD de lentes de contacto
Método PRISM: un algoritmo de
cubrimiento sencillo
ƒ Supongamos una regla R que cubre t
instancias, de las cuales p son ejemplos
positivos, y t-p son las demás clases (ie. los
errores de clasificación de la regla). Entonces
buscaremos
busca
e os elegir
e eg u
un nuevo
ue o té
término
o que
maximice el cociente p/t.
ƒ Analicemos el ejemplo del dataset asociado a
lentes de contacto, donde había tres clases
(hard, soft y none).
ƒ Buscamos una regla para hard
If ? Then recommendation=hard
Método PRISM: un algoritmo de
cubrimiento sencillo
ƒ Para el término desconocido ? tenemos las siguientes posibilidades:
If astigmatism=yes Then recommendation=hard
Esta regla aún es
inexacta…¿podemos refinarla?
3
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Método PRISM: un algoritmo de
cubrimiento sencillo
If astigmatism=yes and ? Then recommendation=hard
Parte de la BD para la cual astigmatism=yes
Prof. Carlos I. Chesñevar
Método PRISM: un algoritmo de
cubrimiento sencillo
If astigmatism=yes and tear production rate=normal and ?
Then recommendation=hard
Parte de la BD para la cual astigmatism=yes and tpr = normal
¿Qué condición elegir en
este caso?
Método PRISM: un algoritmo de
cubrimiento sencillo
If astigmatism=yes and tear production rate=normal
and spectacle prescription = myope
Then recommendation=hard
If astigmatism=yes and tear production rate=normal
and spectacle prescription = myope
Then recommendation=hard
Pero esta regla cubre solo tres de los cuatro casos donde
recommendation=hard.
Idea: eliminar las instancias ya cubiertas, y repetir el proceso
Método PRISM: un algoritmo de
cubrimiento sencillo
If astigmatism=yes and tear production rate=normal
and spectacle prescription = myope
Then recommendation=hard
Idea: eliminar las instancias ya cubiertas, y repetir el proceso.
Obtendremos la regla:
If age=young and astigmatism = yes
and tear production rate=normal
Then recommendation=hard
Se cubren así las cuatro instancias de recommendation=hard (una de
las clases).
Repetimos el mismo proceso para recommendation=soft y
recommendation=none.
Método Prism: algoritmo
ƒ Para cada clase C
• E := conjunto de instancias
• Mientras E contenga instancias en clase C
• Crear regla R con LHS vacío, que prediga la clase C
• Hasta que R sea perfecta (ie no hay mas atributos que usar)
hacer:
– Para cada atributo A que no aparece en R, y cada valor
posible v
» Considerar añadir la condición A=v al LHS de la regla R
» Seleccionar A y v para maximizar la exactitud de p/t
(en caso de empate, elegir la condición con mayor p)
– Añadir A=v a la regla R
• Remover de E las instancias cubiertas por R
4
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Cubrimiento Secuencial
ƒ Algoritmo general SequentialCovering para
aprender conjuntos de reglas
• Basado en el algoritmo CN2 (Clark & Niblett)
function AprenderCjtoReglas (Meta, Atributos, Ejemplos, Umbral):
ReglasAprendidas:= ∅
Regla:= AprenderUnaRegla(Meta, Atributos, Ejemplos)
while performance(Regla,Ejemplos) > Umbral do
ReglasAprendidas:= ReglasAprendidas ∪ {Regla}
Ejemplos:= Ejemplos \ {ejemplos clasif. correctam. por Regla}
Regla := AprenderUnaRegla(Meta, Atributos, Ejemplos)
sort ReglasAprendidas según performance
return ReglasAprendidas
Prof. Carlos I. Chesñevar
Aprendiendo Reglas: estrategias
ƒ Para aprender una regla:
• Llevar a cabo “greedy search”
• Puede hacerse top-down o bottom-up
• Top-down:
– Comenzar con la regla máximamente general
– Añadir literales uno a uno
• Bottom-up:
– Comenzar con regla máximamente específica
– Remover literales uno por uno
Ejemplo
+
-
-
+
Ejemplo
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
+
+
+
-
-
-
-
-
+
-
-
IF A & B THEN pos
IF A
true
THEN
& THEN
B THEN
pospospos
IF C
true
THEN
& THEN
D THEN
pos
pospos
Algunas Opciones
Ejemplo:Bottom-up vs. Top-down
ƒ Opciones para aprender una regla:
• ¿Top-down ó Bottom-up?
• ¿Guiada por ejemplos?
• ¿Hill-climbing, beam search, ... ?
Bottom-up: típicamente reglas más específicas
ƒ ¿Aprender reglas de una clase por vez, o
para múltiples
p
p
clases?
+
• Ordenado: 1ra regla que se aplica será usada
• Se permite fácil incorporación de “excepciones”
-
-
+
+
• Ej. primero aprender cjtos. de reglas para pos,
luego un cjto. de reglas para neg; vs. aprender 1
cjto. con reglas pos y neg.
ƒ ¿Aprender conjunto ordenado o desordenado
de reglas?
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
Top-down: típicamente reglas más generales
5
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Prof. Carlos I. Chesñevar
Cómo hacer AprenderUnaRegla
ƒ Forma efectiva de AprenderUnaRegla: organizar el espacio de
hipótesis como en ID3, pero siguiendo solo las ramas más
prometedoras del árbol.
ƒ Comenzar la búsqueda por la regla con la precondición más
general posible (=test vacío) que cubra el mayor número de
ejemplos.
ƒ Ir añadiendo aquel nuevo test de atributo que mejore lo más
posible la performance de la regla medida respecto a los ejemplos
de entrenamiento.
ƒ Repetir este proceso iterativamente, hasta alcanzar un nivel
aceptable de performance.
ƒ A diferencia de ID3, seguimos un único descendiente en cada
paso de búsqueda en lugar de explorar un subárbol para cada par
(atributo,valor).
ƒ Criterio posible elección: elegir descendiente cuya entropía sea lo
más baja posible!
If THEN PlayTennis=yes
If Wind=weak
THEN PlayTennis=yes
…
If Humidity=high
THEN PlayTennis=no
If Wind=strong
THEN PlayTennis=no
If Humidity=normal
H idit
l
THEN PlayTennis=yes
If Humidity=normal
Wind=weak
THEN PlayTennis=yes
If Humidity=normal
Wind=strong
THEN PlayTennis=yes
…
If Humidity=normal
Outlook=rain
If Humidity=normal THEN PlayTennis=yes
Outlook=sunny
THEN PlayTennis=yes
Problemas & variantes
ƒ El algoritmo AprenderUnaRegla hace una búsqueda
depth-first de tipo “codiciosa” y sin backtracking.
ƒ Como en cualquier búsqueda codiciosa, está el peligro
de elegir una opción suboptimal.
ƒ Alternativa: realizar “beam search”
ƒ Se mantiene una lista de los k mejores candidatos en
cada paso,
paso en lugar de un único mejor candidato.
candidato
ƒ En cada paso de búsqueda, se generan descendientes
para los k candidatos, y se reduce nuevamente el
conjunto a los k mejores miembros que queden.
ƒ De esta forma, en cada paso mantenemos siempre las
k mejores alternativas presentes para considerar sus
posibles sucesores.
ƒ Idea usada en el sistema CN2 (Clark&Niblett, 1989).
Variaciones
ƒ Se exploraron muchas variaciones del algoritmo
AprenderUnaRegla.
ƒ Ejemplo: puede ser deseable que el programa que aprende
solo cubra ejemplos positivos, e incluya un “default” para
asignar clasificación negativa a ejemplos no cubiertos por
ninguna regla.
ƒ Puede ser útil para conceptos meta como “mujeres
mujeres
embarazadas que tienen chances de tener mellizos”.
ƒ En este caso, la fracción de ejemplos positivos en la
población es muy pequeña; la regla será mejor si identifica
los ejemplos positivos, y clasifica automáticamente todos
los demás ejemplos como negativos.
ƒ Puede modificarse Performance para evitar considerar
entropía negativa.
Algoritmo Ripper
ƒ Algoritmo RIPPER = Repeated Incremental
Pruning to Produce Error Reduction (RIPPER): es
un aprendiz de reglas proposicionales
implementado en Weka
ƒ “F
“Fastt Effective
Eff ti Rule
R l Induction”
I d ti ” (1995)
William W. Cohen –
Proc. of the 12th Intl. Conf. on Machine Learning.
http://www.cs.cmu.edu/~wcohen/
ƒ Probar en Weka el comportamiento de Ripper
para la base de datos de semillas de soja.
6
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Prof. Carlos I. Chesñevar
Reglas de asociación
ƒ Responden a un enfoque totalmente distinto dentro de
aprendizaje automatizado.
ƒ El aprendizaje automatizado apunta a la clasificación
cuando se intentar predecir una clase meta (target)…
ƒ En el caso de las reglas de asociación, el aprendizaje
automatizado apunta a relacionar atributos entre sí
(asociación) dentro de grandes bases de datos.
ƒ No requieren para su aplicación una base de datos
relacional, sino que son extensibles a bases de datos
transaccionales.
Association rule mining
ƒ Propuesto por Agrawal et al en 1993.
ƒ Es un importante modelo de datamining, estudiado
especialmente por la comunidad de datamining
vinculada a BDs.
ƒ Se asume que todos los datos son categóricos
(
(nominales);
i l ) no h
hay b
buenos algoritmos
l it
para d
datos
t
numéricos.
ƒ Inicialmente usado para el denominado Market Basket
Analysis para encontrar cómo se vinculaban items
comprados por clientes.
Reglas de asociación
ƒ Problema: “minar” una colección grande de transacciones
de datos “tipo canasta” (basket data type), buscando
asociaciones entre conjuntos de ítems con algún factor de
confianza (a especificar).
ƒ Ejemplo: “90% de las transacciones que involucran
comprar pan y manteca también involucran comprar leche
leche”
ƒ Idea: potenciar a las BDs tradicionales con
funcionalidades adicionales para calcular reglas de
asociación.
Ej: datos de supermercado
ƒ Transacciones supermercado:
t1: {pan, queso, leche}
t2: {manzana, huevos, sal, yogurt}
…
…
tn: {bizcochos, huevos, leche}
ƒ Conceptos:
• Item: un item/articulo en la canasta
• I: cjto de todos los items vendidos en el super
• Transacción: items comprados en una
canasta; usualmente poseen TID (transaction
ID)
• BD transaccional: un cjto de transacciones
El modelo: datos
ƒ I = {i1, i2, …, im}: un conjunto de items.
ƒ Transacción t :
j de items,, y t ⊆ I.
• t es un cjto.
ƒ BD transaccional T: un conjunto de
transacciones T = {t1, t2, …, tn}.
BD transaccional: conjunto de
documentos
ƒ Un dataset formado por documentos de
texto. Cada documento = “bolsa” de
palabras clave
doc1:
doc2:
doc3:
doc4:
doc5:
doc6:
doc7:
Student, Teach, School
Student, School
Teach, School, City, Game
Baseball, Basketball
Basketball, Player, Spectator
Baseball, Coach, Game, Team
Basketball, Team, City, Game
7
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Prof. Carlos I. Chesñevar
El modelo: reglas
Medidas para reglas
ƒ Transacción t contiene X, un cjto de items
(itemset) en I, si X ⊆ t.
ƒ Una regla de asociación es una
implicación de la forma:
X → Y,
Y donde X,
X Y ⊂ I,
I y X ∩Y = ∅
ƒ Soporte: Una regla es válida con un soporte sup
en T (la BD transaccional) si sup% de las
transacciones contienen X ∪ Y.
• sup = Pr(X ∪ Y).
ƒ Confianza: Una regla es válida en T con una
confianza conf si conf% de las transacciones
que contienen X también contienen Y.
• conf = Pr(Y | X)
ƒ Una regla de asociación es un patrón que afirma
que cuando ocurre X, entonces Y ocurre con
cierta probabilidad.
ƒ Un itemset es un cjto de items.
• Ej., X = {leche, pan, cereal} es un itemset.
ƒ Un k-itemset es un itemset con k items.
• Ej., {leche, pan, cereal} es un 3-itemset
Confianza vs. Soporte
Soporte y Confianza
ƒ Valor de soporte (support count): El valor
de soporte de un itemset X, denotado
X.count, en un dataset T es el número de
transacciones en T que contienen X. Si T
tiene n transacciones, entonces:
support =
( X ∪ Y ).count
n
confidence =
( X ∪ Y ).count
X .count
Meta. Características
ƒ Meta: Encontrar todas las reglas que satisfagan
un mínimo soporte (minsup) y una mínima
confianza (minconf), especificadas por el usuario.
ƒ Características
• Completitud: encontrar todas las reglas.
• No hay targets en el lado derecho de la regla (no es
clasificación, sino asociación!)
• La minería de datos se hace en el disco (no en
memoria principal)
Cliente
Compra
cerveza
TID
2000
1000
4000
5000
Cliente
Compra
pañales
Hallar todas las reglas X & Y ⇒ Z con un
umbral mínimo de confianza y soporte.
– soporte s: probabidad de que una
transacción contenga {X U Y U Z}
– Confianza c: probabilidad condicional
de que una transacción tenga {X U Y}
también contenga Z
Items
A,B,C
A,C
A,D
B,E,F
Ejemplo
ƒ BD transaccional
ƒ Asumimos:
minsup = 30%
minconf = 80%
ƒ Un
U itemset
it
t frecuente:
f
t
{Pollo, Ropa, leche}
Con soporte mínimo 50%,
y confianza mínima 50%, se
tiene
• A ⇒ C (50%, 66.6%)
• C ⇒ A (50%, 100%)
t1:
t2:
t3:
t4:
t5:
t6:
t7:
Carne, Pollo, Leche
Carne, Queso
Queso, Botas
Carne, Pollo, Queso
Carne,Pollo, Ropa, Queso, Leche
Pollo, Ropa, Leche
Pollo, Leche, Ropa
[sup = 3/7]
ƒ Algunas reglas de asociación para este itemset:
Ropa→ Leche, Pollo [sup = 3/7, conf = 3/3]
…
…
Ropa, Pollo→ Leche, [sup = 3/7, conf = 3/3]
8
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Prof. Carlos I. Chesñevar
Ejemplos y Aplicaciones
ƒ Encontrar: todas las reglas que corelacionen la
presencia de un conjunto de items con otro conjunto
de items.
• E.g., 98% de la gente que compra estampillas
también compra sobres.
ƒ Aplicaciones / Ejemplos
• Detectar patrones en compras de supermercados
• Attached mailing (en marketing)
• Spamming
• Detección de fraudes en sistemas complejos
(ejemplo: anomalías en sistema médico de la
OSUNS, trabajo de Grandinetti & Filocamo, 2002)
Algoritmos para R.Asociación
ƒ Hay varios….
ƒ Usan diferentes estrategias y estructuras de datos.
ƒ Los conjuntos de reglas resultantes son los mismos.
• Dado un conjunto de datos transaccionales T, y un soporte y
confianza mínimos, el conjunto de reglas de asociación
existentes en T está determinado unívocamente.
ƒ Cualquier algoritmo debería encontrar el mismo conjunto
de reglas, aunque su eficiencia computacional y
requerimiento de memoria puede ser diferente.
ƒ Algoritmo tradicional: Apriori (está en Weka/Orange)
ƒ Algoritmos más avanzados: FP-Growth (Han,2001)
Presentación de Reglas de
Asociación (Forma tabular)
ARTool
ƒ ARTool / ARMiner
ƒ ARMiner : aplicación cliente-servidor para
encontrar reglas de asociación
(implementado en Java)
ƒ http://www.cs.umb.edu/~laur/ARtool/
ƒ http://www.cs.umb.edu/~laur/ARMiner/
Visualización de Reglas de Asociación usando Plane Graph
Medidas de performance
Hemos visto:
ƒ
Support(AÆC) = (A U C).Count
ƒ
Confidence(AÆC) = (A U C).Count / A.Count
ƒ
Hay otras medidas adicionales (denominadas interestingness
measures), entre las que se tienen lift y leverage.
ƒ
lift(A->C) = confidence(A->C) / support(C)
ƒ
Valores de lift mayor a 1.0 indican que las transacciones que contienen A tienden
a contener C más a menudo que las transacciones que *no* contienen A.
ƒ
leverage(A->C) = support(A->C) - support(A)*support(C)
ƒ
Leverage es la diferencia entre la frecuencia observada de A+C y la
frecuencia que sería esperable si A y C fueran independientes.
9
Datamining y aprendizaje automatizado
Departamento de Cs. e Ing. De la Computación, UNS
2do Cuat. 2009
Prof. Carlos I. Chesñevar
Medidas de performance
ƒ Notemos que conf(AÆB) = conf(BÆA) (lo mismo vale para lift).
ƒ Conviction está inspirada en la noción de implicación lógica, e
intenta medir el grado de implicación de una regla.
ƒ Conviction es infinita para implicaciones lógicas, y es 1 para el
que A y B son independientes.
p
caso en q
Weka permite adoptar conf, lift,
leverage o conviction para ordenar
reglas de asociación
10
Descargar