概述
关联分析
关联分析在机器学习领域属于无监督模型,它的试用场景还是非常广泛的。比如数据挖掘中一直有个广为流程的一个故事,啤酒与尿布的故事。美国沃尔玛超市管理人员分析其销售数据时,发现了一个奇特的现象:在日常的生活中,“啤酒”与“尿布”这两件商品看上去风马牛不相及,但是经常会一起出现在消费者的同一个购物篮中。沃尔玛的管理人员发现该现象后,立即着手把啤酒与尿布摆放在相同的区域,让年轻的美国父亲非常方便地找到尿布和啤酒这两件商品,并让其较快地完成购物。这样一个小小的陈列细节让沃尔玛获得了满意的商品销售收入。当然后来听说这个故事是Teredata编的,编的。。。。
美国学者艾格拉沃(Agrawal)在1993年从数学及计算机算法角度提出了商品关联关系的计算方法——Aprior算法,即通过分析购物篮中的商品集合,找到商品之间关联关系的关联算法,根据商品之间的关系,利用这些insight可以应用在不同场景:
- 对于门店来说,可以把频繁一起购买的商品放在临近的地方,消费者买了A,看到B,大概率会买B
- 对于CRM来说,如果消费者买过A,那么可以给他们推些B的券,提高买B的可能性,也提高券的兑换率
- 对于CRM来说,可以设置一些商品组合折扣,比如同时买A和B可以享受8折,这样可以提高券的兑换率
- 最经常购买的商品可以组套包
本文主要是概述下关联分析的基本概念以及在真实案例中如何用,hands on coding前,我们介绍下关联分析的基本原理
基本原理
频繁项集的几个基本指标:support、confidence、lift
- support(支持度):数据集中所有包含该商品的记录占总体记录数的比例,公式为: s u p p o r t ( A ) = 包 含 A 的 记 录 数 总 体 记 录 数 support({A}) = frac {包含A的记录数}{总体记录数} support(A)=总体记录数包含A的记录数
- confidence(置信度,可信度):同时包含商品A和B的记录数除以仅包含商品A的记录数,公式为: c o n f i d e n c e ( A − > B ) = 同 时 包 含 A , B 的 记 录 数 包 含 A 的 记 录 数 confidence({A}->{B}) = frac {同时包含A,B的记录数}{包含A的记录数} confidence(A−>B)=包含A的记录数同时包含A,B的记录数。这个指标是衡量,当消费者买了A时,有多大可能性也会买B,数值越高越好
- lift(提升度):这个和支持度和置信度有关,就是confidence除以support。公式为: l i f t ( A − > B ) = c o n f i d e n c e ( A − > B ) s u p p o r t ( B ) lift({A}->{B}) = frac {confidence({A}->{B})}{support(B)} lift(A−>B)=support(B)confidence(A−>B)当这个提升度大于1时,说明商品A对商品B是有提升作用的。用户买A,大概率会买B,这个规则是有效的。当提升度等于1时,说明商品A和商品B没有相关性。当提升度小于1时,说明商品A对于商品B有负面作用。
关联算法大概的步骤都可以归为两步,第一步是找到频繁项集,第二步是找到有效的关联规则。找到频繁项集的方法目前有两种,Apriori和FP-Growth.大牛们早就把基础代码打包成了library,我们这里简单理解下这两种算法的区别。
- Apriori: 频繁项的指标是support(支持度),也就是说找支持度超过阈值的集合。当商品数目为4种时,要遍历所有的集合,需要扫描数据集15次。如果商品数目为N时,需要扫描 2 N − 1 2^N-1 2N−1次。这个运算时间和空间都是巨大的。aprior原理是说如果某个集合是频繁的,那么这个集合的子项也是频繁的。反过来,如果一个集合是非频繁项,那么它的超集也是非频繁的。比如{0,1}是非频繁的,那么包含{0,1}元素的集合如{0,1,2}也是非频繁的。因此,如果我们算出{0,1}是非频繁项,那么就不需要计算{0,1,2}的support了。这样,可以避免项集数目的指数增长。
- FP_Growth:Fp-Growth只会扫描数据集两次,第一次建立FP树,第二次挖掘FP树的频繁项集。
上代码实例
导入libraries
import pandas as pd
import numpy as np
pd.set_option('display.max_columns', None)
import pandas as pd
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules,fpgrowth
数据预处理
看下rawdata的结构
df_order_sh.tail()
order_key | order_business_date | product_code | |
---|---|---|---|
11822747 | 1397431 | 2022-03-21 | 64 |
11822748 | 1397431 | 2022-03-21 | 160 |
11822749 | 1397432 | 2022-03-21 | 281 |
11822750 | 1397432 | 2022-03-21 | 18 |
11822751 | 1397432 | 2022-03-21 | 160 |
需要将原始数据处理成算法输入的结构,这里省掉数据本身的清洗过程。在实际工程案例中,数据本身的清洗过程也非常重要,当然也非常耗时。
lis_dataset = []
start = dt.datetime.now()
df_item = df_order_sh.groupby(by='order_key',as_index=False).agg({'product_code':lambda x:list(set(x))})
lis_dataset = df_item['product_code'].values
te = TransactionEncoder()
# oht_ary = te.fit(lis_dataset).transform(lis_dataset, sparse=True)
# sparse_df = pd.DataFrame.sparse.from_spmatrix(oht_ary, columns=te.columns_)
te_ary = te.fit(lis_dataset).transform(lis_dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
end = dt.datetime.now()
print('Time taken: %s' % (end - start))
Time taken: 0:00:13.465850
看下数据结构,行是每笔交易订单,column是产品
df.head()
0 | 1 | 10 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 11 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 12 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 13 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 14 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 15 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 16 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 17 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 18 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 19 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 2 | 20 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 21 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 22 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 23 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 24 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 25 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 26 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 27 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 28 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 29 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 3 | 30 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 31 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 32 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 33 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 34 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 35 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 36 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 37 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 38 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 39 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 4 | 40 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 41 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 42 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 5 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 6 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 7 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 8 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 9 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | True | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False |
1 | False | True | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False |
2 | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False |
3 | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False |
4 | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | False | True | False | False | False | False | False | False | False | False | False | False |
关联算法
对比下fpgrowth和apriori的速度
- fpgrowth
start = dt.datetime.now()
fp_df = fpgrowth(df, min_support=0.005, use_colnames=True)
end = dt.datetime.now()
print('Time taken: %s' % (end - start))
Time taken: 0:00:07.011471
- apriori
start = dt.datetime.now()
apriori_df = apriori(df, min_support = 0.005,use_colnames = True)
end = dt.datetime.now()
print('Time taken: %s' % (end - start))
Time taken: 0:01:06.819719
df.shape
(1397433, 427)
这个case看,apriori找到频繁项集需要76s,但是fpgrowth却需要7.2s,是apriori耗时的1/10。我们的实验集差不多1百多万行记录,如果数据集更大,差距会更明显。
apriori和fpgrowth的找频繁项集的原理不一样,但是输出基本是一致的。后面我们用apriori的结果寻找关联规则。
找到频繁项集后,最后一步是找到合适的规则
rules = association_rules(apriori_df, metric ="lift", min_threshold = 1)
rules = rules.sort_values(['confidence', 'lift'], ascending =[False, False])
# 看下结果
rules
antecedents | consequents | antecedent support | consequent support | support | confidence | lift | leverage | conviction | |
---|---|---|---|---|---|---|---|---|---|
0 | (42) | (0) | 0.012379 | 0.251175 | 0.008678 | 0.701023 | 2.790977 | 0.005569 | 2.504626 |
28 | (89) | (63) | 0.010715 | 0.010990 | 0.005210 | 0.486176 | 44.237429 | 0.005092 | 1.924803 |
29 | (63) | (89) | 0.010990 | 0.010715 | 0.005210 | 0.474020 | 44.237429 | 0.005092 | 1.880841 |
21 | (62) | (5) | 0.017415 | 0.020842 | 0.007068 | 0.405860 | 19.473361 | 0.006705 | 1.648025 |
18 | (6) | (5) | 0.018978 | 0.020842 | 0.007547 | 0.397662 | 19.080041 | 0.007151 | 1.625596 |
6 | (116) | (5) | 0.012930 | 0.020842 | 0.005003 | 0.386906 | 18.563944 | 0.004733 | 1.597076 |
23 | (65) | (5) | 0.014304 | 0.020842 | 0.005501 | 0.384562 | 18.451466 | 0.005203 | 1.590993 |
27 | (65) | (6) | 0.014304 | 0.018978 | 0.005391 | 0.376907 | 19.860584 | 0.005120 | 1.574440 |
19 | (5) | (6) | 0.020842 | 0.018978 | 0.007547 | 0.362094 | 19.080041 | 0.007151 | 1.537880 |
25 | (62) | (6) | 0.017415 | 0.018978 | 0.006217 | 0.357002 | 18.811702 | 0.005887 | 1.525700 |
20 | (5) | (62) | 0.020842 | 0.017415 | 0.007068 | 0.339124 | 19.473361 | 0.006705 | 1.486793 |
24 | (6) | (62) | 0.018978 | 0.017415 | 0.006217 | 0.327602 | 18.811702 | 0.005887 | 1.461314 |
15 | (22) | (9) | 0.020221 | 0.149780 | 0.006367 | 0.314860 | 2.102145 | 0.003338 | 1.240943 |
11 | (18) | (26) | 0.023198 | 0.025452 | 0.007122 | 0.306990 | 12.061344 | 0.006531 | 1.406253 |
17 | (31) | (26) | 0.018835 | 0.025452 | 0.005384 | 0.285855 | 11.230988 | 0.004905 | 1.364636 |
26 | (6) | (65) | 0.018978 | 0.014304 | 0.005391 | 0.284087 | 19.860584 | 0.005120 | 1.376838 |
10 | (26) | (18) | 0.025452 | 0.023198 | 0.007122 | 0.279802 | 12.061344 | 0.006531 | 1.356296 |
12 | (31) | (18) | 0.018835 | 0.023198 | 0.005257 | 0.279131 | 12.032405 | 0.004821 | 1.355033 |
2 | (9) | (0) | 0.149780 | 0.251175 | 0.040789 | 0.272326 | 1.084209 | 0.003168 | 1.029067 |
22 | (5) | (65) | 0.020842 | 0.014304 | 0.005501 | 0.263931 | 18.451466 | 0.005203 | 1.339136 |
7 | (5) | (116) | 0.020842 | 0.012930 | 0.005003 | 0.240034 | 18.563944 | 0.004733 | 1.298835 |
13 | (18) | (31) | 0.023198 | 0.018835 | 0.005257 | 0.226633 | 12.032405 | 0.004821 | 1.268693 |
16 | (26) | (31) | 0.025452 | 0.018835 | 0.005384 | 0.211538 | 11.230988 | 0.004905 | 1.244404 |
3 | (0) | (9) | 0.251175 | 0.149780 | 0.040789 | 0.162393 | 1.084209 | 0.003168 | 1.015058 |
5 | (11) | (9) | 0.120835 | 0.149780 | 0.019016 | 0.157368 | 1.050658 | 0.000917 | 1.009005 |
8 | (19) | (17) | 0.059039 | 0.105605 | 0.008239 | 0.139546 | 1.321399 | 0.002004 | 1.039446 |
4 | (9) | (11) | 0.149780 | 0.120835 | 0.019016 | 0.126956 | 1.050658 | 0.000917 | 1.007011 |
9 | (17) | (19) | 0.105605 | 0.059039 | 0.008239 | 0.078014 | 1.321399 | 0.002004 | 1.020581 |
14 | (9) | (22) | 0.149780 | 0.020221 | 0.006367 | 0.042507 | 2.102145 | 0.003338 | 1.023275 |
1 | (0) | (42) | 0.251175 | 0.012379 | 0.008678 | 0.034550 | 2.790977 | 0.005569 | 1.022964 |
从这个结果看,实验集中最多两个产品之间会存在关联关系。我们这里support(支持度)设的是0.005,很低,实际案例中可以根据分析场景进行调节。
最后
以上就是魁梧日记本为你收集整理的购物篮分析-关联分析关联分析的全部内容,希望文章能够帮你解决购物篮分析-关联分析关联分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复