¿Qué son las reglas de asociación?

Una de las definiciones más practicas sobre las reglas de asociación la da IBM , donde la define de la siguiente manera > Relaciona una determinada conclusión […] con un conjunto de condiciones. 2

Otra definición, una más enciclopédica dice que las reglas de asociación estudian las ocurrencias de un evento dentro de un conjunto de datos, dadas las diferentes medidas de interés (ítems), por ello es importante conocer la estructura en que viene la base de datos, puesto que el método de aprendizaje que presentan las reglas deben ser coherente con el objeto de estudio.

El anterior concepto se estructura de la definición regla fuerte3 asociada a grandes volumenes de datos por ello en la ciencia de datos las reglas de asociación son de gran uso, dado la obtención de conocimiento útil por una variable (la cual será llamada transacción en lenguaje técnico).

Un articulo llamado “REGLAS DE ASOCIACIÓN APLICADAS A LA DETECCIÓN DE FRAUDE CON TARJETAS DE CRÉDITOS” dice que :

Las reglas de asociación son implicaciones que relacionan la presencia de ítem en las transacciones. Las transacciones son la estructura básica desde donde las reglas de asociación son obtenidas. 4

Un ejemplo típico de las reglas de asociación es la mayoria de personas que compran pan , compran leche , en lenguaje matemático sería: \[F(PAN)\Rightarrow Leche\] Donde, la parte izquierda se le llama antecedente y a la derecha consecuente. La definición más formal se dará en el siguiente apartado.

La definición que da Agrawal5 es sumamente interesante desde la óptica del desarrollo y abstracción donde \(X= \{i_1,i_2,...i_n\} \mbox{ son los items}\) Entonces \(D\) son los set (o escenarios) donde se realizan las transacciones, y \(T\) son las transacciones pertenecientes a \(X\), por lo tanto \(T\subseteq X\) 6

Una parte importante para entender este argumento viene dado por el confidence el cual mide la confiabilidad en que está dada la regla , por lo tanto \(X \Rightarrow Y \mbox{ entonces viene dado por la transacción } D \mbox{ con confiabilidad del } c\%\)

Otra parte importante en la construcción de la regla de asociación es el support, el cual es la frecuencia relativa de una regla dada el total de las transacciones. Por lo tanto \(X \Rightarrow Y \mbox{ tiene support} s \mbox{ en las transacciones del set } D\)

El último argumento para finalizar la construcción de las reglas es el lift el cual valora la independencia del set de datos, es un calculo que proporciona la confianza de la regla y la consecuencia rhs en lenguaje técnico.

Ventajas de la regla de asociación

Desventajas

El procesamiento de dicho algoritmo puede y tiende ser más lento que los de radom forest.

A tener en cuenta

Definición formal de las variables

Estás definiciones son de las variables como las llama R

Para trabajar la regla de asociación es necesario cargar varias librerías

## Loading required package: arules
## 
## Attaching package: 'arules'
## The following objects are masked from 'package:base':
## 
##     abbreviate, write
## Loading required package: grid
## Warning in strptime(x, format, tz = tz): unknown timezone 'zone/tz/2018c.
## 1.0/zoneinfo/America/Bogota'

Se transforma la base de datos, teniendo en cuenta que Área es el ítem importante a evaluar

## Warning in asMethod(object): removing duplicated items in transactions

Se crea la regla

## Apriori
## 
## Parameter specification:
##  confidence minval smax arem  aval originalSupport maxtime support minlen
##        0.01    0.1    1 none FALSE            TRUE       5    0.01      1
##  maxlen target   ext
##      10  rules FALSE
## 
## Algorithmic control:
##  filter tree heap memopt load sort verbose
##     0.1 TRUE TRUE  FALSE TRUE    2    TRUE
## 
## Absolute minimum support count: 1 
## 
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[3 item(s), 115 transaction(s)] done [0.00s].
## sorting and recoding items ... [3 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 done [0.00s].
## writing ... [12 rule(s)] done [0.00s].
## creating S4 object  ... done [0.00s].
## set of 12 rules

Se imprimen la regla de mayor confiabilidad

##     lhs                       rhs        support   confidence lift    
## [1] {Ciencias,Matemáticas} => {Lenguaje} 0.4608696 0.9298246  1.304022

Entonces, se puede decir que el resultado de lenguaje corresponde a la consecuencia de los resultados de matemáticas y Ciencias , con una frecuencia del 46% y una confiabilidad del 92%, para el caso de colegios distritales.

Base de datos con frecuencia porcentual por cada asignatura

##      Producto Frecuencia
## 1    Ciencias  0.7478261
## 2    Lenguaje  0.7130435
## 3 Matemáticas  0.6869565
##       items                           transactionID
## [1]   {Ciencias}                      225          
## [2]   {Ciencias}                      234          
## [3]   {Ciencias}                      241          
## [4]   {Ciencias}                      245          
## [5]   {Ciencias}                      247          
## [6]   {Ciencias}                      248          
## [7]   {Ciencias}                      249          
## [8]   {Ciencias}                      250          
## [9]   {Ciencias}                      253          
## [10]  {Ciencias,Lenguaje}             254          
## [11]  {Ciencias}                      255          
## [12]  {Ciencias}                      257          
## [13]  {Ciencias}                      258          
## [14]  {Ciencias,Lenguaje,Matemáticas} 259          
## [15]  {Ciencias}                      261          
## [16]  {Ciencias}                      262          
## [17]  {Ciencias,Matemáticas}          263          
## [18]  {Ciencias}                      264          
## [19]  {Ciencias}                      265          
## [20]  {Ciencias}                      266          
## [21]  {Ciencias,Lenguaje}             267          
## [22]  {Ciencias}                      268          
## [23]  {Ciencias}                      269          
## [24]  {Ciencias,Lenguaje}             270          
## [25]  {Ciencias}                      271          
## [26]  {Ciencias,Lenguaje}             272          
## [27]  {Ciencias,Lenguaje,Matemáticas} 273          
## [28]  {Ciencias}                      274          
## [29]  {Ciencias,Lenguaje}             275          
## [30]  {Ciencias,Lenguaje}             276          
## [31]  {Ciencias}                      277          
## [32]  {Ciencias,Lenguaje,Matemáticas} 278          
## [33]  {Ciencias,Lenguaje,Matemáticas} 279          
## [34]  {Ciencias,Matemáticas}          280          
## [35]  {Ciencias,Lenguaje,Matemáticas} 281          
## [36]  {Ciencias,Lenguaje,Matemáticas} 282          
## [37]  {Ciencias,Lenguaje,Matemáticas} 283          
## [38]  {Ciencias,Matemáticas}          284          
## [39]  {Ciencias,Lenguaje,Matemáticas} 285          
## [40]  {Ciencias,Lenguaje,Matemáticas} 286          
## [41]  {Ciencias,Lenguaje,Matemáticas} 287          
## [42]  {Ciencias,Lenguaje,Matemáticas} 288          
## [43]  {Ciencias,Lenguaje,Matemáticas} 289          
## [44]  {Ciencias,Lenguaje,Matemáticas} 290          
## [45]  {Ciencias,Lenguaje,Matemáticas} 291          
## [46]  {Ciencias,Lenguaje,Matemáticas} 292          
## [47]  {Ciencias,Lenguaje,Matemáticas} 293          
## [48]  {Ciencias,Lenguaje,Matemáticas} 294          
## [49]  {Ciencias,Lenguaje,Matemáticas} 295          
## [50]  {Ciencias,Lenguaje,Matemáticas} 296          
## [51]  {Ciencias,Lenguaje,Matemáticas} 297          
## [52]  {Ciencias,Lenguaje,Matemáticas} 298          
## [53]  {Ciencias,Lenguaje,Matemáticas} 299          
## [54]  {Ciencias,Lenguaje,Matemáticas} 300          
## [55]  {Ciencias,Lenguaje,Matemáticas} 301          
## [56]  {Ciencias,Lenguaje,Matemáticas} 302          
## [57]  {Ciencias,Lenguaje,Matemáticas} 303          
## [58]  {Ciencias,Lenguaje,Matemáticas} 304          
## [59]  {Ciencias,Lenguaje,Matemáticas} 305          
## [60]  {Ciencias,Lenguaje,Matemáticas} 306          
## [61]  {Ciencias,Lenguaje,Matemáticas} 307          
## [62]  {Ciencias,Lenguaje,Matemáticas} 308          
## [63]  {Ciencias,Lenguaje,Matemáticas} 309          
## [64]  {Ciencias,Lenguaje,Matemáticas} 310          
## [65]  {Ciencias,Lenguaje,Matemáticas} 311          
## [66]  {Ciencias,Lenguaje,Matemáticas} 312          
## [67]  {Ciencias,Lenguaje,Matemáticas} 313          
## [68]  {Ciencias,Lenguaje,Matemáticas} 314          
## [69]  {Ciencias,Lenguaje,Matemáticas} 315          
## [70]  {Lenguaje,Matemáticas}          316          
## [71]  {Ciencias,Lenguaje,Matemáticas} 317          
## [72]  {Ciencias,Lenguaje,Matemáticas} 318          
## [73]  {Ciencias,Lenguaje,Matemáticas} 319          
## [74]  {Lenguaje,Matemáticas}          320          
## [75]  {Ciencias,Lenguaje,Matemáticas} 321          
## [76]  {Ciencias,Lenguaje,Matemáticas} 322          
## [77]  {Ciencias,Lenguaje,Matemáticas} 323          
## [78]  {Ciencias,Lenguaje,Matemáticas} 324          
## [79]  {Lenguaje,Matemáticas}          325          
## [80]  {Ciencias,Lenguaje,Matemáticas} 326          
## [81]  {Ciencias,Lenguaje,Matemáticas} 327          
## [82]  {Ciencias,Lenguaje,Matemáticas} 328          
## [83]  {Lenguaje,Matemáticas}          329          
## [84]  {Lenguaje,Matemáticas}          330          
## [85]  {Ciencias,Lenguaje,Matemáticas} 331          
## [86]  {Ciencias,Lenguaje,Matemáticas} 332          
## [87]  {Lenguaje,Matemáticas}          333          
## [88]  {Lenguaje,Matemáticas}          334          
## [89]  {Lenguaje,Matemáticas}          335          
## [90]  {Ciencias,Lenguaje,Matemáticas} 336          
## [91]  {Ciencias,Lenguaje,Matemáticas} 337          
## [92]  {Lenguaje}                      338          
## [93]  {Ciencias,Lenguaje,Matemáticas} 339          
## [94]  {Lenguaje,Matemáticas}          340          
## [95]  {Lenguaje,Matemáticas}          342          
## [96]  {Lenguaje,Matemáticas}          343          
## [97]  {Lenguaje,Matemáticas}          344          
## [98]  {Lenguaje,Matemáticas}          346          
## [99]  {Lenguaje}                      347          
## [100] {Ciencias,Matemáticas}          348          
## [101] {Lenguaje}                      350          
## [102] {Lenguaje,Matemáticas}          352          
## [103] {Lenguaje}                      353          
## [104] {Lenguaje,Matemáticas}          354          
## [105] {Matemáticas}                   355          
## [106] {Lenguaje}                      358          
## [107] {Lenguaje}                      359          
## [108] {Ciencias}                      360          
## [109] {Matemáticas}                   361          
## [110] {Matemáticas}                   363          
## [111] {Matemáticas}                   364          
## [112] {Matemáticas}                   366          
## [113] {Matemáticas}                   369          
## [114] {Lenguaje,Matemáticas}          370          
## [115] {Lenguaje}                      376

Gráficos

rules <-sort(rules, by="confidence", decreasing=TRUE)
itemFrequencyPlot(trx,topN=5,type="absolute", col=1:3)

Se desarrolla el gráfico de las 2 reglas con mayor confianza

plot(head(rules,2), method="graph", control=list(type="items"))

Gráfico de matriz con mayor regla de confianza

plot(head(rules,3), method="grouped")


  1. Data Scientist y Desarrollador Cuantitativo, MsC en Estadística (c)

  2. Si desea ver mejor está definición por favor visite el siguiente link email us

  3. Este pdf da una idea clara file:///Users/danieljimenez/Downloads/p79.pdf

  4. Los autores son : María Amparo Vila Miranda, Daniel Sanchez y Luis Cerda.

  5. Científico computacional, conocido por desarrollar modelos fundamentales en la minería de datos, para mayor información visite el siguiente link https://www.cs.wisc.edu/people/bov001

  6. Es extremadamente recomendada la lectura del Paper “Fast Algorithms for Mining Association Rules” de Agrawal