① lIG演算法解決了apriori演算法的什麼問題
關聯分析是一種在大規模數據集中尋找有趣關系的任務。Apriori是解決這一問題的基本演算法。這個演算法也是數據挖掘的入門演算法。
Apriori演算法的功能是尋找所有支持度不小於minsup的項集。項集的支持度是指包含該項集的事務所佔所有事務的比例。
頻繁項集就是指滿足給定的最小支持度的項集。Apriori的關鍵在於它使用了一種分層的完備搜索演算法。
② apriori演算法是什麼
經典的關聯規則挖掘演算法包括Apriori演算法和FP-growth演算法。
apriori演算法多次掃描交易資料庫,每次利用候選頻繁集產生頻繁集;而FP-growth則利用樹形結構,無需產生候選頻繁集而是直接得到頻繁集,大大減少掃描交易資料庫的次數,從而提高了演算法的效率,但是apriori的演算法擴展性較好,可以用於並行計算等領域。
基本演算法:
Apriori algorithm是關聯規則里一項基本演算法
Apriori演算法將發現關聯規則的過程分:
第一通過迭代,檢索出事務資料庫1中的所有頻繁項集,即支持度不低於用戶設定的閾值的項集;
第二利用頻繁項集構造出滿足用戶最小信任度的規則。其中,挖掘或識別出所有頻繁項集是該演算法的核心,占整個計算量的大部分。
③ 關於數據挖掘中的apriori演算法,幫忙推出關聯規則 事務數為 5 支持度為0.6,置信度為0.6
abc的支持數P1=3,acd的支持數P2=3,bcd的支持數P3=3,關聯規則的輸出就是在由頻繁項集的項組成的關聯規則中,找出置信度大於等於最小置信度閾值的關聯規則。因為由頻繁項集的項組成的關聯規則的支持度大於等於最小支持閾值,所以規則產生過程就是在由頻繁項集的項組成的關聯規則中,找出置信度大於等於最小置信度閾值的強關聯規則,基本步驟如下:
1) 對於每個頻繁項集L,產生L的所有非空真子集。
2) 對於L的每個非空真子集 ,如果L的支持計數除以 的支持計數大於等於最小置信度閾值min_conf,則輸出強關聯規則 =>(L- )。
例如:abc的非空真子集有a,b,c,ab,ac,bc。分別算出他們的支持數,再除以abc的支持數,若結果大於0.6則可輸出強關聯規則。Pa/P1=4/3>0.6,則可以輸出關聯規則:a=>bc;同理可輸出強關聯規則:b=>ac,c=>ab;
同理,對於acd,bcd採用同樣地方法。
④ 模式挖掘(一):頻繁項集挖掘演算法Apriori和FP Tree
Apriori是最常用的頻繁項集挖掘演算法,其計算邏輯簡單易於直觀理解。在實際應用中舉例,其易於從大量訂單數據中獲取頻繁出現的組合項集,以便於輸出計算單元之間的關聯度,從而給組套銷售、上架擺放等提供建議。下面介紹下工作中總結的知識,和需要避開的問題。
以訂單數據為例。在大量的訂單中,如何評價某一商品組合對的出現頻繁?其組合出現的次數多於其它組合嗎。若訂單覆蓋的商品品類豐富,那麼需求量不高的品類的組合便會被淹沒在快消品的組合里。所以在Apriori中有從三個不同的角度評價頻繁項集,描述元素關聯關系的指標:支持度、置信度、提升度。
在Apriori中有三個維度的頻繁項集的指標: 支持度 、 置信度 、 提升度 。下面以二元的組合舉例說明。
支持度:
置信度:
提升度:
⑤ SPSS modeler關聯規則apriori里支持度和置信度的值設置為多少比較好
置信度、支持度、提升度是評價關聯規則的三個重要指標。
樣本100,條件A=》結果B,A:60,B40,同時發生A和B:30
則:
條件支持度=P(A)=條件A60/樣本100=0.6
結果支持度=P(B)=結果B40/樣本100=0.4(在sas中稱為預期置信度)
規則支持度=P(A&B)=30/100=0.3
規則置信度=P(B|A)=P(A&B)/P(A)=30/60=0.5,即同時發生的記錄數除以樣本數,
提升度=P(B|A)/P(B)=0.5/0.4=1.25
,注意不要混淆了條件支持度和規則支持度,網文好多隻說支持度,實際上有的指的條件支持度、有的值規則支持度,我今天搞了一早上才恍然大悟,效率低啊,自我鄙視一下。
在spss的apriori的運行結果中還有部署能力的概念,觀察了一下,發現:部署能力=條件支持度-規則支持度,就是說還有多少人有發展空間,比如有10人,符合條件的有7人,同時如何條件和結果的有4人,那部署能力就是7-4=3人了。
二、演算法
關聯分析基本就是Apriori演算法,沒用過其他的。
apriori演算法的具體實現就不說,暫時我也說不清楚,我只追求會用,不求甚解,只知道大概步驟就是:1、根據設置的條件支持度找出頻繁項集;2、分析找出來的這些頻繁項集,得出規則;3、找出大於或等於給定置信度的規則。
一般各個dm軟體跑apriori演算法的時候都需要設置:最小條件支持度,最小規則置信度,有的還需要設置最大前項數,spss的modeler就需要設置這三個。
⑥ apriori演算法
Apriori演算法是第一個關聯規則挖掘演算法,也是最經典的演算法。它利用逐層搜索的迭代方法找出資料庫中項集的關系,以形成規則,其過程由連接(類矩陣運算)與剪枝(去掉那些沒必要的中間結果)組成。
⑦ 關聯規則演算法(The Apriori algorithm)
關聯規則的目的在於在一個數據集中找出項之間的關系,也稱之為購物籃分析 (market basket analysis)。例如,購買鞋的顧客,有10%的可能也會買襪子,60%的買麵包的顧客,也會買牛奶。這其中最有名的例子就是"尿布和啤酒"的故事了。
本篇的Apriori演算法主要是基於頻繁集的關聯分析。其主要目的就是為了尋找強關聯規則。
要理解頻繁集、強關聯規則,要先藉助下面的一個情境,來介紹幾個重要概念。
下表是一些購買記錄:
將購買記錄整理,可得到下表,橫欄和縱欄的數字表示同時購買這兩種商品的交易條數。如購買有Orange的交易數為4,而同時購買Orange和Coke的交易數為2。
置信度,表示這條規則有多大程度上值得可信。
設條件的項的集合為A,結果的集合為B。置信度計算在A中,同時也含有B的概率。即Confidence(A->B)=P(B|A)。例 如計算"如果Orange則Coke"的置信度。由於在含有Orange的4條交易中,僅有2條交易含有Coke。其置信度為0.5。
支持度,計算在所有的交易集中,既有A又有B的概率。
例如在5條記錄中,既有Orange又有Coke的記錄有2條。則此條規則的支持度為2/5=0.4。現在這條規則可表述為,如果一個顧客購買了Orange,則有50%的可能購買Coke。而這樣的情況(即買了Orange會再買Coke)會有40%的可能發生。
支持度大於預先定好的最小支持度的項集。
關聯規則:令項集I={i1,i2,...in},且有一個數據集合D,它其中的每一條記錄T,都是I的子集。那麼關聯規則是形如A->B的表達式,A、B均為I的子集,且A與B的交集為空。這條關聯規則的支持度:support = P(A並B)。這條關聯規則的置信度:confidence = support(A並B)/suport(A)。
強關聯規則:如果存在一條關聯規則,它的支持度和置信度都大於預先定義好的最小支持度與置信度,我們就稱它為強關聯規則。
下面用一個例子說明演算法的過程:
項目集合 I={1,2,3,4,5};
事務集 T:
設定最小支持度(minsup)=3/7,最小置信度(misconf)=5/7。
假設:n-頻繁項目集為包含n個元素的項目集,例如1-頻繁項目集為包含1個元素的項目集
則這里,1-頻繁項目集有:{1},{2},{3},{4},{5}
生成2-頻繁項目集的過程如下:
首先列出所有可能的2-項目集,如下:
{1,2},{1,3},{1,4},{1,5}
{2,3},{2,4},{2,5}
{3,4},{3,5}
{4,5}
計算它們的支持度,發現只有{1,2},{1,3},{1,4},{2,3},{2,4},{2,5}的支持度 滿足要求,因此求得2-頻繁項目集:
{1,2},{1,3},{1,4},{2,3},{2,4}
生成3-頻繁項目集:
對於現有的2-頻繁項目集,兩兩取並集,並確保第三個二元組也在2-頻繁項目集內,把得到的所有3-項目集分別計算支持度,剔除不滿足最小支持度的項目集;
例如,
{1,2},{1,3}的並集得到{1,2,3};
{1,2},{1,4}的並集得到{1,2,4};
{1,3},{1,4}的並集得到{1,3,4};
{2,3},{2,4}的並集得到{2,3,4};
但是由於{1,3,4}的子集{3,4}不在2-頻繁項目集中,所以需要把{1,3,4}剔除掉。{2,3,4} 同理剔除。
然後再來計算{1,2,3}和{1,2,4}的支持度,發現{1,2,3}的支持度為3/7 ,{1,2,4}的支持度為2/7,所以需要把{1,2,4}剔除。因此得到3-頻繁項目集:{1,2,3}。
重復上面步驟繼續尋找n-頻繁項目集,直到不能發現更大的頻繁項目集。所以,到此,頻繁項目集生成過程結束。
這里只說明3-頻繁項目集生成關聯規則的過程,即以集合{1,2,3}為例:
回顧事物集,先生成1-後件的關聯規則:
(1,2)—>3,置信度=3/4(出現(1,2)的記錄共4條,其中有3條包含3,所以3/4);
(1,3)—>2,置信度=3/5;
(2,3)—>1,置信度=3/3;
第二條置信度<5/7,未達到最小置信度,所以剔除掉。所以對於3-頻繁項目集生成的強關聯規則為:(1,2)—>3和(2,3)—>1。
這表示,如果1、2出現了,則極有可能出現3;2、3出現,則極有可能有1。
http://www.cnblogs.com/junyuhuang/p/5572364.html
⑧ apriori演算法是什麼
Apriori演算法是第一個關聯規則挖掘演算法,也是最經典的演算法。它利用逐層搜索的迭代方法找出資料庫中項集的關系,以形成規則,其過程由連接(類矩陣運算)與剪枝(去掉那些沒必要的中間結果)組成。該演算法中項集的概念即為項的集合。包含K個項的集合為k項集。項集出現的頻率是包含項集的事務數,稱為項集的頻率。如果某項集滿足最小支持度,則稱它為頻繁項集。
演算法應用
隨著高校貧困生人數的不斷增加,學校管理部門資助工作難度也越加增大。針對這一現象,提出一種基於數據挖掘演算法的解決方法。將關聯規則的Apriori演算法應用到貧困助學體系中,並且針對經典Apriori挖掘演算法存在的不足進行改進,先將事務資料庫映射為一個布爾矩陣,用一種逐層遞增的思想來動態的分配內存進行存儲,再利用向量求"與"運算,尋找頻繁項集。
⑨ 第九章 數據關聯規則分析演算法——基於Apriori演算法的關聯項分析
9.1 基於Apriori演算法的關聯分析
Aprior演算法是關聯規則分析中較為經典的頻繁項集演算法。關聯規則反映的是兩個或多個事物相互之間的依存性和關聯性。如果兩個或者多個事物相互之間存在一定的關聯關系,則它們之間存在一種關聯規則使得它們之間可以進行搭配。
9.1.1 基本概要
Apriori演算法利用頻繁項集的先驗知識,不斷地按照層次進行迭代,計算數據集中的所有可能的頻繁項集,它的分析主要包括兩個核心部分。
1、根據支持度找出頻繁項集;
2、根據置信度產生關聯規則。
9.1.2 Apriori演算法原理
基本流程:
1、掃描歷史數據,並對每項數據進行頻率次數統計。
2、構建候選集 ,並計算其支持度,即數據出現頻率次數與總數的比。
3、對候選項集進行篩選,篩選的數據項支持度應當不小於最小支持度,從而形成頻繁項集 .
4、對頻繁項集 進行連接生成候選集 ,重復上述步驟,最終形成頻繁K項集或者最大頻繁項集。
Apriori演算法存在兩大定理:
1、如果一個集合是頻繁項集,那麼它的所有子集都是頻繁集合。
2、如果一個集合它不是頻繁集合,那麼它的所有超集都不是頻繁項集。
9.1.3 Apriori演算法優缺點
優:運算過程非常簡單,理論方法也比較容易理解,對數據特徵的要求也相對較低。
缺:
1、產生候選集是產生較多的組合,沒有考慮將一些無關的元素排除後再進行組合。
2、每次計算項集的過程中都會掃描元素的數據表。
針對不足推出不斷改進的Apriori演算法:
1、將數據表(事務表)進行壓縮。
2、利用哈希表的快速查找特性對項集進行計數統計。
3、合理選樣。
⑩ 請教推薦演算法中關聯規則的最小支持度和最小置信度如何確認
apriori演算法有支持度和置信度兩個概念,都是在執行演算法之前自己設定的,在每一次迭代過程後,大於支持度的項集被保留為頻繁項集,最後生成的規則由最終的頻繁項集組成,簡單說也就是支持度越小,頻繁項集越多,置信度越小