歡迎來到魔據教育大數據學院,專注大數據工程師培養!
當前位置:首頁 > 學習資料 > 講師博文 > 關聯規則

關聯規則

時間:2017-08-17 18:08:20作者:[!--zuozhe--]

 

什么是關聯規則
Association rule learning is a rule-based machine learning method for discovering interesting relations between variables in large databases.
關聯規則學習一種基于機器學習的,用于發現大型數據變量之間有趣關系的方法。
關聯規則是無監督學習,是一種描述性而非預測性的方法,常用于發現數據背后的隱藏規則,經典案例為沃爾瑪的啤酒尿布之間的隱藏規則
相關概念
假定一家超市包含 {面包,牛奶,尿布,啤酒,雞蛋,可樂} 物品,某天共有五名顧客來購買,每名顧客購買物品如表1所示:
 

 
面包
牛奶
尿布
啤酒
雞蛋
可樂
顧客1
1
1
0
0
0
0
顧客2
1
0
1
1
1
0
顧客3
0
1
1
1
0
1
顧客4
1
1
1
1
0
0
顧客5
1
1
1
0
0
1

表1 顧客購物籃數據
面包、牛奶、尿布等單品種商品被稱為
k-項集:k個項構成的集合被稱為k-項集,如 {面包,牛奶,雞蛋} 即為一個3-項集
頻繁項集發生次數“較”多的項集。“較”字說明“次數”是一個可調節變量
事務一個購物籃被稱為一件事務
關聯規則對于項集XY,關聯規則是形如X → Y的蘊含表達式,其中X和Y是不相交的項集,即X∩Y=關聯規則強度可以用的支持度和置信度衡量。
支持度(Support)X和Y的支持度
 
13-公式1.png
 
即XY同時發生次數,占全部事務的比例,用于確定規則的頻繁程度。比如 {面包牛奶} 支持度=3/5=0.6,{面包可樂} 的支持度=1/5=0.2。支持度有啥用?出現次數太少的商品組合別浪費資源和時間去算了。
置信度(Confidence)項集Y項集X的置信度
 
13-公式2.png
 
即當X發生時,Y發生的比例,用于確定Y包含X事務中出現的頻繁程度。比如{ 面包,牛奶}的置信度=3/4=0.75{ 面包,可樂 }置信度=1/4=0.25
關聯規則的目的是找到隱藏在數據集下面的規則,很顯然,支持度越高、置信度越高越有可能是被隱藏起來的強規則
但是只有支持度和置信度還是不夠,對于有些規則而言,X和Y的支持度很高、置信度也很高,但X和Y有可能是互斥的(想一想這是為什么?)。這時就需要考慮提升度概念。
提升度(lift)項集X對項集Y提升度
 
13-公式3.png
 

 

如果XY相互獨立(即X的發生既沒有促進Y的發生,也沒有阻礙Y的發生,則提升度為1。如果X促進了Y的發生,則提升度大于1,反之則小于1。
Apriori算法原理
定義 關聯規則發現:給定事務的集合T,關聯規則發現是指找出支持度大于等于minsup并且置信度大于等于minconf的所有規則。其中minsup和minconf是對應的支持度和置信度的閾值(取值基于案例)
關聯規則的難點在于計算每種可能規則的支持度和置信度,如果兩兩匹配所有可能規則所產生的計算量將指數級增加。而如果能排除掉一部分不常見的規則找到規則中的頻繁項集,計算量有可能會大幅下降。關聯規則算法Apriori、FP樹算法等,都是關于如何產生頻繁項集的算法。
Apriori一種基于支持度的剪枝技術,用于系統地控制候選項集指數增長。它的剪枝依據如下原理:
先驗原理:如果一個項集是頻繁的,則它的所有子集一定也是頻繁的
推論:如果一個項集是非頻繁的,則它的所有超集(可以理解為html中的祖先結點也一定是非頻繁的
有啥用簡單地說,如果我們發現某個項集是非頻繁的,那么所有這個項集的子結點和祖先結點就可以不用算了,這就省下一大筆計算開支,這就是Apriori的思想。
Apriori算法步驟
Ck候選k-項集的集合(啥是候選?就是我們還不知道它是不是頻繁先拿來候),Fk頻繁k-項集的集合(很顯然Fk是從Ck選出來的)Apriori算法產生頻繁項集的過程如下:
1、 掃描數據集,確定單個項的支持度,得到頻繁1-項集的集合F1
2、 根據發現的頻繁1-項集F1,產生候選2-項集C2候選的產生使用apriori-gen方法
3、 計算候選集C2支持度,剪掉支持度小于minsup的候選集(找出頻繁項集)
4、 循環
a) 根據上一次迭代發現的頻繁(k-1)項集,產生新的候選k-項集
b) 計算候選集Ck   支持度,找出頻繁項集
5、 直到沒有新的頻繁項集產生Fk=,結束
得到所有頻繁集以后,就可以根據提升度等指標,找出所有事務中各項集之間的隱藏規則了,比如買尿布的人有可能會買啤酒,并且如果我們把尿布和啤酒放在一起,正向促進啤酒的銷量(顧客買東西時拿著更順手了)

更多大數據相關資訊敬請關注魔據教育,為您分享最及時的大數據資訊。
學習大數據敬請關注魔據教育微信二維碼。
魔據教育微信二維碼

【版權與免責聲明】如發現內容存在版權問題,煩請提供相關信息發郵件至[email protected],我們將及時溝通與處理。本站內容除非來源注明魔據教育,否則均為網友轉載,涉及言論、版權與本站無關。

全國咨詢熱線:18501996998,值班手機:18501996998(7*24小時)

在線咨詢:張老師QQ 320169340

企業合作服務專線:010-82340234-821, 院校合作洽談專線:010-82340234

Copyright 2001-2019 魔據教育 - 北京華育興業科技有限公司 版權所有,京ICP備17018991號-2

免費在線咨詢立即咨詢

免費索取技術資料立即索取

大數據技術交流QQ:226594285

電話咨詢010-82340234

六合图库118万众图库