Documento 14 Proyecto Futbin
En este fichero vamos a explicar las funciones no conocidas en el proyecto futbin creado por Daniel Redondo: https://danielredondo.com/posts/20200405_reglas_asociacion/
- Se calculan los itemsets maximales y cerrados:
# Itemsets maximales
imaxfutbin_transacciones <- ifutbin_transacciones[is.maximal(ifutbin_transacciones)]
# Itemsets cerrados
iclofutbin_transacciones <- ifutbin_transacciones[is.closed(ifutbin_transacciones)]
is.maximal: devuelve un vector lógico con la misma longitud que x que indica para cada elemento en x si es itemset maximal.
- Se eliminan las reglas que son redundantes, esto es, reglas que están incluidas dentro de otras (antecedente de una regla incluida en el antecedente de otra regla).
# Matriz con todas las reglas como nombres de filas y columnas.
# is.subset comprueba para cada regla qué elementos son subconjuntos
# de todas las reglas una a una
subsetMatrix <- is.subset(rulesSorted, rulesSorted)
# Se filtran ahora los que han salido contenidas en 2 o más reglas
# porque como mínimo, cada regla es un subconjunto de sí misma
redundant <- colSums(subsetMatrix, na.rm = TRUE) >= 2
# Se eliminan las reglas redundantes
rulesPruned <- rulesSorted[!redundant]
- Se seleccionará un conjunto pequeño de reglas que puedan ser relevantes, en el sentido de que aporten información que no es obvia.
# Añadimos a las reglas varias medidas de interés:
mInteres <- interestMeasure(reglas_seleccionadas,
measure = c("gini", "chiSquared"),
transactions=futbin_transacciones)
quality(reglas_seleccionadas) <- cbind(quality(reglas_seleccionadas), mInteres)
La función interestMeasure sirve para calcular varias medidas de interés adicional para conjuntos existentes de itemsets o reglas.
Además gini es una medida de desilguadad que puede utilizarse para medir cualquier forma de distribución desigual.
chiSquared: El estadístico ji-cuadrado (o chi cuadrado) sirve para someter a prueba hipótesis referidas a distribuciones de frecuencias.
- Se visualizan ahora las 10 reglas más relevantes encontradas, usando distintos métodos de visualización del paquete arulesViz.