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.
El procesamiento de dicho algoritmo puede y tiende ser más lento que los de radom forest.
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.
## 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
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")
Data Scientist y Desarrollador Cuantitativo, MsC en Estadística (c)↩
Si desea ver mejor está definición por favor visite el siguiente link email us↩
Este pdf da una idea clara file:///Users/danieljimenez/Downloads/p79.pdf↩
Los autores son : María Amparo Vila Miranda, Daniel Sanchez y Luis Cerda.↩
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↩
Es extremadamente recomendada la lectura del Paper “Fast Algorithms for Mining Association Rules” de Agrawal↩