好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > FP-growth算法發現頻繁項集——發現頻繁項集

FP-growth算法發現頻繁項集——發現頻繁項集

熱門標簽:如何地圖標注公司 電銷機器人錄音要學習什么 外賣地址有什么地圖標注 煙臺電話外呼營銷系統 銀川電話機器人電話 上海正規的外呼系統最新報價 長春極信防封電銷卡批發 企業彩鈴地圖標注 預覽式外呼系統

上篇介紹了如何構建FP樹,FP樹的每條路徑都滿足最小支持度,我們需要做的是在一條路徑上尋找到更多的關聯關系。

抽取條件模式基

首先從FP樹頭指針表中的單個頻繁元素項開始。對于每一個元素項,獲得其對應的條件模式基(conditional pattern base),單個元素項的條件模式基也就是元素項的關鍵字。條件模式基是以所查找元素項為結尾的路徑集合。每一條路徑其實都是一條前輟路徑(perfix path)。簡而言之,一條前綴路徑是介于所査找元素項與樹根節點之間的所有內容。

下圖是以{s:2}或{r:1}為元素項的前綴路徑:

{s}的條件模式基,即前綴路徑集合共有兩個:{{z,x,y,t}, {x}};{r}的條件模式基共三個:{{z}, {z,x,y,t}, {x,s}}。

尋找條件模式基的過程實際上是從FP樹的每個葉子節點回溯到根節點的過程。我們可以通過頭指針列表headTable開始,通過指針的連接快速訪問到所有根節點。下表是上圖FP樹的所有條件模式基:

創建條件FP樹

為了發現更多的頻繁項集,對于每一個頻繁項,都要創建一棵條件FP樹。可以使用剛才發現的條件模式基作為輸入數據,并通過相同的建樹代碼來構建這些樹。然后,遞歸地發現頻繁項、發現條件模式基,以及發現另外的條件樹。

以頻繁項r為例,構建關于r的條件FP樹。r的三個前綴路徑分別是{z},{z,x,y,t},{x,s},設最小支持度minSupport=2,則y,t,s被過濾掉,剩下{z},{z,x},{x}。y,s,t雖然是條件模式基的一部分,但是并不屬于條件FP樹,即對于r來說,它們不是頻繁的。如下圖所示,y→t→r和s→r的全局支持度都為1,所以y,t,s對于r的條件樹來說是不頻繁的。

過濾后的r條件樹如下:

重復上面步驟,r的條件模式基是{z,x},{x},已經沒有能夠滿足最小支持度的路徑, 所以r的條件樹僅有一個。需要注意的是,雖然{z,x},{x}中共存在兩個x,但{z,x}中,z是x的父節點,在構造條件FP樹時不能直接將父節點移除,僅能從子節點開始逐級移除。

代碼如下

def ascendTree(leafNode, prefixPath):
    if leafNode.parent != None:
        prefixPath.append(leafNode.name)
        ascendTree(leafNode.parent, prefixPath)
def findPrefixPath(basePat, headTable):
    condPats = {}
    treeNode = headTable[basePat][1]
    while treeNode != None:
        prefixPath = []
        ascendTree(treeNode, prefixPath)
        if len(prefixPath) > 1:
            condPats[frozenset(prefixPath[1:])] = treeNode.count
        treeNode = treeNode.nodeLink
    return condPats
def mineTree(inTree, headerTable, minSup=1, preFix=set([]), freqItemList=[]):
    # order by minSup asc, value asc
    bigL = [v[0] for v in sorted(headerTable.items(), key=lambda p: (p[1][0],p[0]))]
    for basePat in bigL:
        newFreqSet = preFix.copy()
        newFreqSet.add(basePat)
        freqItemList.append(newFreqSet)
        # 通過條件模式基找到的頻繁項集
        condPattBases = findPrefixPath(basePat, headerTable)
        myCondTree, myHead = createTree(condPattBases, minSup)
        if myHead != None:
            print('condPattBases: ', basePat, condPattBases)
            myCondTree.disp()
            print('*' * 30)
            mineTree(myCondTree, myHead, minSup, newFreqSet, freqItemList)
simpDat = loadSimpDat()
dictDat = createInitSet(simpDat)
myFPTree,myheader = createTree(dictDat, 3)
myFPTree.disp()
condPats = findPrefixPath('z', myheader)
print('z', condPats)
condPats = findPrefixPath('x', myheader)
print('x', condPats)
condPats = findPrefixPath('y', myheader)
print('y', condPats)
condPats = findPrefixPath('t', myheader)
print('t', condPats)
condPats = findPrefixPath('s', myheader)
print('s', condPats)
condPats = findPrefixPath('r', myheader)
print('r', condPats)
mineTree(myFPTree, myheader, 2)

控制臺信息

總結

本篇文章就到這了,本例可以發現兩個頻繁項集{z,x}和{x}。取得頻繁項集后,可以根據置信度發現關聯規則,這一步較為簡單,可參考上篇的相關內容,不在贅述。希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的其他精彩內容!

您可能感興趣的文章:
  • FP-growth算法發現頻繁項集——構建FP樹
  • FP-Growth算法的Java實現+具體實現思路+代碼
  • 詳解Java如何實現FP-Growth算法
  • Java編程實現A*算法完整代碼
  • python+pyqt5實現24點小游戲

標簽:宜昌 西寧 湖北 潮州 盤錦 佳木斯 珠海 上饒

巨人網絡通訊聲明:本文標題《FP-growth算法發現頻繁項集——發現頻繁項集》,本文關鍵詞  FP-growth,算法,發現,頻繁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《FP-growth算法發現頻繁項集——發現頻繁項集》相關的同類信息!
  • 本頁收集關于FP-growth算法發現頻繁項集——發現頻繁項集的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产精品被???熟女| japanese强行极度| 亚洲精品久久久久久A片| 巴基斯坦女人特黄aa大片视频| 好多水好舒服再快点视频| 国产精品久久久久久久毛片| 国产精品自产拍在线观看网站| 被调教成玩物的女教师电影| 日本黄色美女视频| 妓女的屈辱调教1~47| 91在线无码精品秘?色| 992tv福利| 麻豆国产96在线|日韩| 荡娃h| ??羞羞漫画sss在线观看| 又色又爽又黄的三级农村电影| 99久久er这里只有精品17| 韩国R级激情大合集| 欧美一区二区三区免费看| 欧美专区一区二区三区| 美国一级片黄色| 我和两个小婕子做过爱| 新疆一级毛片| 国产精品国产三级国产AⅤ在线| 久久综合亚洲伊人色| 淫咪咪| 日韩一卡二卡三卡| 丰满的岳?v66Av| 黄色三级一级片| bt7086国产一区合集亚洲| 日本被强制侵犯在线观看| 中文字幕人妻一区二区在线视频| 国产一卡二卡3卡四卡二百| 3级毛片| 艳妇500篇短篇h系列王洋苏媚| 成人毛片18女人毛片免费看百度| 无码无遮拦午夜福利院特色| 国产宾馆在线| 免费网站看v片在线成人国产系列| 激情性生活视频在线播放免费观看| 和两个男一起玩3p好爽|