openminer中挖掘關聯規則的演算法實現概述

2021-04-02 23:22:51 字數 589 閱讀 9562

關聯規則挖掘演算法很簡單,比如apriori,fpg這些都是典型的基礎演算法。但是一般的書籍卻很少提到如何在真是的資料庫上實現。真實的資料庫不一定是海量資料庫,哪怕是乙個記錄超過1w的關係表,如果屬性很多,超過20個,那麼中間過程中產生的候選項集也是很龐大的。其實所需的記憶體主要是儲存候選項集和頻繁項集。

候選項集的產生是組合交叉產生的,如果以組合公式來計算,屬性個數n=20,那麼產生的候選項集中,最大可以達到2^20-1項,大約就是1mb個候選項。而如果屬性個數超過32個,那麼最大的候選個數就超過4gb,即使乙個候選項只儲存乙個位元組,也達到了32位機器的記憶體極限了。顯然,無論如何,候選項集是不能儲存在記憶體中的。

現在大部分的書上的關聯挖掘講解都是基於演算法演示,也沒有多少運用於實際的資料庫專案。openminer裡面需要關聯挖掘的事務資料的事務項可能超過200個,顯然不能同於一般資料探勘教材上的那些演算法了。

上述辦法,openminer解決了記憶體有限的問題,但是效率方面並沒有解決。其實關於提高apriori效率的研究早就已經有很多**了。比如基於hash-tree的apriori,以及後面的fpg等等,都是解決速度的不錯方法,但是無論如何,關聯挖掘的在進行支援度查詢的時候,每次都要遍歷整個資料表,實在快不起來。

資料探勘 關聯規則挖掘

關聯規則 association rule 是資料中所蘊含的一類重要規律。關聯規則挖掘的目標是在資料專案中找出所有的併發關係 cooccurrence relationships 這種關係也稱為關聯 association 關聯規則挖掘的經典應用是購物籃 market basket 關聯規則挖掘並沒...

關聯規則挖掘

關聯規則反映事物之間的相互依存性和關聯性。如果事物之間存在一定的關聯,那麼我們就可以通過乙個事物去 另乙個事物。我們要挖掘大量資料中人們感興趣的,有價值的資訊,包括概念,規則,規律等。關聯規則 發現資料中的規律 超市中什麼產品會 起購買?組合推薦 顧客在買了 臺pc之後下 步會購買?搭配推薦 哪種d...

關聯規則挖掘

直接用例項來解釋概念更清楚一些,加入資料庫中存在10條交易記錄 transaction 具體如下表所示 交易id tid 購買商品 items b bread c cream m milk t tea t01b c m t t02b c m t03c m t04m t t05b c m t06b t...