在Apriori算法中,如何提高apriori算法的效率是關(guān)聯(lián)規(guī)則挖掘中的經(jīng)典算法。Python apriori如何使用類Apriori(object):def _ _ init _ _(self,本文對Apriori算法進(jìn)行分析,利用Apriori算法生成頻繁項(xiàng)集。
Apriori算法是發(fā)現(xiàn)頻繁項(xiàng)集的基本算法。該算法利用了頻繁項(xiàng)集的先驗(yàn)知識。Apriori算法使用一種稱為逐層搜索的迭代方法,在這種方法中,使用k個項(xiàng)集來探索(k 1)個項(xiàng)集。首先通過掃描數(shù)據(jù)庫,累計(jì)每個項(xiàng)目的計(jì)數(shù),收集滿足最小支持度的項(xiàng)目,找出頻繁項(xiàng)目集的集合。該集合被表示為L1。然后,用L1尋找頻繁2項(xiàng)集的集合L2,用L2尋找L3,以此類推,直到再也找不到頻繁k項(xiàng)集。
(2)根據(jù)最小支持度min_sup,由候選L項(xiàng)集的集合Cl生成頻繁1項(xiàng)集的集合LL;(3)對于KL;(4)由Lk執(zhí)行鏈接和修剪操作以生成候選(k 1)。根據(jù)最小支持度min_sup設(shè)置項(xiàng)目集(5)的CK 1,頻繁(k 1)項(xiàng)目集的集合LK 1由候選(k 1)的集合CK 1生成。(6)如果L?≠ ①,然后k.k 1,跳到步驟(4);
算法:Apriori輸入:d事務(wù)數(shù)據(jù)庫;Min_sup最小支持計(jì)數(shù)閾值輸出:ld方法中的頻繁項(xiàng)集:L1 find _ frequency _ 1項(xiàng)集(d);//查找(k2的所有頻繁項(xiàng)集;Lk1!nullk ){ Ckapriori_ gen(Lk1);//生成候選,剪枝Foreach事務(wù)tinD{//掃描d候選計(jì)數(shù)Ctsubset(Ck,
3、如何提高 apriori算法的效率Apriori算法是關(guān)聯(lián)規(guī)則挖掘中的經(jīng)典算法。Apriori算法利用頻繁項(xiàng)集的先驗(yàn)知識,采用逐層搜索的迭代方法。通過掃描數(shù)據(jù)庫,累積每個項(xiàng)目的計(jì)數(shù),并收集滿足最小支持度的項(xiàng)目。需要掃描一次數(shù)據(jù)庫才能找到每個Lk,隨著數(shù)據(jù)量和頻繁項(xiàng)集的增加,算法的效率很低。本文分析了Apriori算法,并應(yīng)用了哈希、事務(wù)壓縮、劃分、采樣等方法。
4、python apriori包怎么使用class apriori(object):def _ _ init _ _(self,):self。最低限度的自立,min _ confidence 50自我。Line _ num0 #項(xiàng)目自身的行數(shù). item_startitem_start#項(xiàng)目自身的哪一行,Item _ enditem _ endself。外景[[I]應(yīng)拍?foriinrange(self . item _ end . item _ start 1)]self . support self . SUT(self . location)self . numlist(sorted(set([jforinself . location for Jini])# Record items self . pre _ support[]#保存以前的支持。