日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

关联规则算法c语言样例及分析_推荐系统总结系列-关联规则算法(四)

發布時間:2025/3/12 windows 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关联规则算法c语言样例及分析_推荐系统总结系列-关联规则算法(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于關聯規則的推薦有三種方法:Apriori關聯規則算法FP Tree關聯規則算法;PrefixSpan關聯規則算法;

關聯規則挖掘推薦算法:

關聯規則挖掘是一種在大規模交易中識別類似規則關系模式的通用技術,可以應用到推薦系統中。交易T是所有有效產品集合P={p 1 ,p 2 ,...,p n }的子集,表示被一起購買的產品集合,關聯規則X=>Y表示只要交易T中包含了X里面的元素,那么認為Y里面的元素也有可能被T包含。常見的規則挖掘算法是Apriori算法,關聯規則的衡量指標是:支持度(support)和可信度(confidence)。將關聯規則應用到推薦系統的主要問題就是需要將評分轉換為交易,一般情況把所有的向前(正向)的評分集合<可以是做過去均值化操作后的評分矩陣>或者用戶的購買行為可以看做一次交易。

Apriori算法概述:

Apriori算法是常用的用于挖掘出數據關聯規則的算法,它用來找出數據值中頻繁出現的數據集合,這些找出的集合有助于我們的業務決策,同時我們也可以認為這些頻繁出現的數據集合中的數據項存在一定的關聯性,簡而言之,可以認為這些數據項之間存在某種“相似性”。比如在電商的網購數據中,如果發現某一些商品經常一起被購買,那么我們可以認為這些商品之間存在某種“相似性”,從而我們可以優化網站中這些商品的排列位置、優化商品的倉庫位置或者將這些“相似”的物品推薦給正在瀏覽對應物品的客戶,從而可以達到增加經濟效益、節約成本的目的。

交易集:包含所有數據的一個數據集合,數據集合中的每條數據都是一筆交易;項:交易集中的每個商品被成為一個項;模式/項集(ItemSet):項組合被成為模式/項集;支持度(Support):一個項集在在整個交易集中出現的次數/出現的頻度,比如:Support({A,C})=2表示A和C同時出現的次數是2次;最小支持度:交易次數達到最小支持度的情況下,該項集才會被計算;頻繁項集:如果項集的支持度大于等于最小支持度,那么該項集被成為頻繁項集;置信度(Confidence):關聯規則左件和右件同時出現的頻繁程度,該值越大,表示同時出現的幾率越大;關聯規則:LHS ? RHS(confidence) -----> 如果客戶購買了左件(LHS),也可能購買右件(RHS),購買的置信度為confidence

Apriori算法原理:

Apriori算法本質的作用是找出購物數據集中的最頻繁的K項集;Apriori算法采用了迭代的方法,先搜索出候選1項集及對應的支持度,剪枝去掉低于最小支持度的1項集,得到頻繁1項集。然后對剩下的頻繁1項集進行連接,得到候選的頻繁2項集,篩選去掉低于最小支持度的候選頻繁2項集,得到頻繁2項集,以此類推,迭代下去,直到無法找到頻繁k+1項集為止,對應的頻繁k項集的集合即為算法的輸出結果。

輸入:數據集合D,支持度閾值α;輸出:最大的頻繁K項集

1. 掃描整個數據集,得到所有出現過的1項集,得到候選頻繁1項集。2. 令k = 1;3. 挖掘頻繁k項集;掃描數據計算候選頻繁k項集的支持度去除候選頻繁k項集中支持度低于閾值的數據集,得到頻繁k項集。如果得到的頻繁k項集為空,則直接返回頻繁k-1項集的集合作為算法結果,算法結束。如果得到的頻繁k項集只有一項,則直接返回頻繁k項集的集合作為算法結果,算法結束。基于頻繁k項集和頻繁1項集,連接生成候選頻繁k+1項集。4. k=k+1,轉入步驟3。

Apriori算法總結:

priori算法是一種非常經典的頻繁項集的挖掘算法,很多算法都是基于Apriori算法的一種擴展,比如:FP-Tree、GSP、CBA等等。理解掌握Apriori算法原理,對于對數據挖掘相關算法的學習具有非常好的作用。不過,現在一般很少直接使用Aprior算法來進行數據挖掘了,原因是:Apriori算法的數據挖掘效率比較低。

FP Tree算法概述:

Apriori算法作為挖掘頻繁項集的算法,需要多次掃描數據,I/O瓶頸比較高,為了解決這個問題,提出了FP-Tree算法,也稱為FP Growth算法;在FP Tree算法中,不管存在多少數據量,只需要掃描兩次數據集,因此提高了算法的運行效率。FP Tree算法改進了Apriori算法的I/O瓶頸,類似BIRCH聚類,利用樹結構來提高算法的執行效率,是一種利用空間換時間的一種算法效率提升方式。備注:FP Tree是我們在生產環境中常用的一種數據挖掘頻繁項集的算法。

FP Tree算法原理:

為了減少I/O次數,FP Tree算法引入了一些數據結構來臨時存儲數據,主要包含

三個部分:

1. 項頭表:記錄所有的1項頻繁集以及出現的次數,按照次數降序排列。2. FP Tree:將原始數據集映射到內存中的一棵FP樹。3. 節點鏈表:基于項頭表保存的在FP Tree中對應的項的存儲位置的一個鏈表。FP Tree算法可以分為一下兩個過程:1. 項頭表和FP Tree的構建2. FP Tree的挖掘

FP-Tree算法原理之項頭表構建:

掃描所有數據,得到所有一項集的支持度,然后刪除支持度低于閾值的項,得到頻繁一項集,將所有頻繁一項集按照支持度降序排列,放入項頭表中。

FP-Tree算法原理之FP Tree構建:

FP Tree樹的構建是FP-Tree算法的關鍵點,主要分為兩個過程:

1. 掃描數據,對于每條數據刪除非頻繁的1項集,并按照支持度降序排列,得到排序后的數據集。

2. 基于排序好的數據集構建FP Tree。初始狀態FP樹是空的,建立FP樹時我們一條條的讀入排序后的數據集,插入FP樹,插入時按照排序后的順序,插入FP樹中,排序靠前的節點是祖先節點,而靠后的是子孫節點。如果有共用的祖先,則對應的公用祖先節點計數加1。插入后,如果有新節點出現,則項頭表對應的節點會通過節點鏈表鏈接上新節點。直到所有的數據都插入到FP樹后,FP樹的建立完成。

FP-Tree算法原理之FP Tree挖掘:

當構建好FP樹、項頭表以及節點鏈表后,就可以開始進行頻繁項集的挖掘了。首先從項頭表的底部項依次向上挖掘,對于項頭表對應于FP樹的每一項,找出對應的條件模式基,所謂條件模式基是以我們要挖掘的節點作為葉子節點所對應的FP子樹,得到這個FP子樹,我們將子樹中每個節點的的計數設置為葉子節點的計數,并刪除計數低于支持度的節點。從這個條件模式基,我們就可以遞歸挖掘得到頻繁項集了。

尋找F節點的條件模式基;我們很容易得到F的頻繁2項集為{A:2,F:2}、{C:2,F:2}、{E:2,F:2}、{B:2,F:2}。遞歸合并二項集,得到頻繁三項集為{A:2,C:2,F:2}、{A:2,E:2,F:2},...。當然一直遞歸下去,最大的頻繁項集為頻繁5項集,為{A:2,C:2,E:2,B:2,F:2}

FP-Tree算法總結歸納:

FP-Tree算法流程主要包括一下幾步:掃描數據,得到所有的頻繁1項集的計數,然后刪除支持度低于閾值的項,將1項頻繁集放入項頭表,并按照支持度降序排列。讀取數據集中的數據,將數據中的非頻繁1項集刪除,并按照支持度排序排列后將數據插入到FP樹中,插入時按照排序后的順序插入,并計算當前節點的后序子孫節點的數目。直到所有數據均插入到FP樹后,FP樹構建完成。從項頭表的底部項依次向上找到項頭表項對應的條件模式基。從條件模式基遞歸挖掘得到項頭表項項的頻繁項集。如果不限制頻繁項集的項數,則返回上一步驟的所有的頻繁項集,否則只返回滿足項數要求的頻繁項集。

PrefixSpan算法概述:
PrefixSpan全稱Prefix-Projected Pattern Growth(即前綴投影的模式挖掘),是用于挖掘頻繁序列的數據挖掘算法,和Apriori算法以及FP Tree算法的挖掘目標稍有不同。PrefixSpan算法是生產中常用的一種頻繁序列模式挖掘算法。備注:序列中的項集是具有時間上的先后關系的。

子序列:如果某個序列A所有的項集在序列B中都可以找到,則A是B的子序列。

頻繁序列:出現頻次超過支持度的子序列就叫做頻繁序列。

前綴序列:即序列前面部分的子序列。

后綴序列:即序列中位于前綴序列之后的子序列就叫做后綴序列。

前綴投影:即投影數據庫,即序列數據庫S中所有相對于前綴的后綴序列的集合

PrefixSpan算法原理:

類似Apriori算法,先找出所有子序列中長度為1的前綴開始挖掘序列模型(并且刪除原始序列中非頻繁的長度為1的序列),搜索對應的投影數據庫得到長度為1的前綴對應的頻繁序列,然后遞歸的挖掘長度為2的前綴所對應的頻繁序列,。。。以此類推,一直遞歸到不能挖掘到更長的前綴挖掘為止。

PrefixSpan算法流程:

輸入:序列數據庫S和支持度閾值α 輸出:所有滿足支持度要求的頻繁序列集

步驟:(備注:所找到的前綴即頻繁序列)

1. 找出所有子序列中長度為1的前綴以及對應的投影數據庫;2. 對于長度為1的前綴進行計數,將支持度低于閾值α的前綴對應的項從序列數據庫;S中刪除,同時得到所有的頻繁1項序列。3. 對于每個長度為i滿足支持度的前綴進行遞歸挖掘:

a. 找出前綴對應的投影數據庫,如果投影數據庫為空,則遞歸返回;b. 統計對應投影數據庫中各項的支持度計數,如果所有項的支持度計數都低于閾值α,則遞歸返回。;c. 將滿足支持度計數的各個單項和當前的前綴進行合并,得到若干新的前綴。;d. 令i=i+1,前綴為合并單項后的各個前綴,分別遞歸執行第三步。

協同過濾各種方式總結:

廣義的協同過濾算法主要包括三種算法:基于用戶(UserCF)的協同過濾算法;基于物品(ItemCF)的協同過濾算法;基于模型(ModelCF)的協同過濾算法;

使用關聯規則的協同過濾;使用聚類算法的協同過濾;使用分類算法的協同過濾;使用回歸的協同過濾;使用矩陣分解/隱語義模型的協同過濾;使用神經網絡的協同過濾;

總結

以上是生活随笔為你收集整理的关联规则算法c语言样例及分析_推荐系统总结系列-关联规则算法(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丰满少妇av| 波多野吉衣中文字幕 | 在线一二区 | 日本人妖japanesexxx | 五个女闺蜜把我玩到尿失禁 | 天堂网ww| 国产稀缺真实呦乱在线 | 视频久久 | 亚洲国产999| 欧美日韩国产伦理 | 精品久久ai| 日韩视频h | 日韩亚洲在线观看 | 草视频在线观看 | 成人小视频免费在线观看 | 鲁丝一区二区 | 亚洲色图日韩精品 | 能在线观看的av网站 | 超碰在线中文字幕 | 欧美黄页| 性做爰视频免费播放大全 | 激情四射网站 | 午夜精品视频 | 岛国黄色片| 亚洲欧美精品suv | 四虎黄色 | 免费特级黄色片 | 亚洲毛片久久 | 国产乱码一区二区三区播放 | 极品销魂美女一区二区 | 欧美成人国产精品高潮 | 一区二区视频网站 | 99在线无码精品入口 | 最近免费中文字幕大全免费版视频 | 人操人| 激情黄色小视频 | 亚洲av无一区二区三区久久 | 男女羞羞的视频 | 日本三级久久久 | 成人在线免费观看视频 | 性欢交69精品久久久 | www.亚洲成人 | 欧美私人情侣网站 | 国产精品久久久久9999 | 开心激情五月网 | 久久久性色精品国产免费观看 | 黄色网址哪里有 | 97欧美| 丝袜 亚洲 另类 国产 制服 | 裸体女人a级一片 | 亚洲综合一二三 | 久久久久黄色片 | 日韩avav| 亚洲欧美bt| 国产又粗又大又黄 | 91免费在线看 | 毛片基地免费 | 午夜痒痒网 | 日韩高清在线播放 | 免费看的黄色 | 在线观看黄网址 | 天天综合网在线观看 | 男女黄床上色视频 | 禁漫天堂黄漫画无遮挡观看 | 日韩色视频在线观看 | 男女爱爱福利视频 | 大肉大捧一进一出好爽视频 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 天堂av2014 | 国内福利视频 | 国产一区 在线播放 | 一本色道久久88亚洲精品综合 | 国产区在线观看视频 | 久久精品在线免费观看 | 成人免费网站黄 | 精品国产91久久久久久 | 亚洲av激情无码专区在线播放 | 91羞羞网站 | xxx麻豆 | 国产精品久久久久影院老司 | 欧美亚洲天堂网 | 亚洲视频图片小说 | 香蕉视频在线网址 | 少妇性色av| 国产乱淫av片杨贵妃 | 伊人成人在线 | 我要操av | 日本一区二区不卡在线观看 | 色播五月婷婷 | 亚洲一二三区在线 | 性一交一乱一乱一视频 | 亚洲影院中文字幕 | 偷看洗澡一二三区美女 | 亚洲偷自 | 尤物精品在线观看 | 日韩精品中文字幕一区二区三区 | 成人视屏在线观看 | 亚洲综合在线中文字幕 | 日本不卡免费 |