基于MapReduce的并行關聯(lián)規(guī)則挖掘算法
數(shù)據(jù)挖掘( data mining)又稱做知識發(fā)現(xiàn)(knowledge disco-ver in database,KDD),其目的在于發(fā)現(xiàn)大量數(shù)據(jù)集中有價值的隱含信息。常見的數(shù)據(jù)挖掘任務有關聯(lián)規(guī)則挖掘、分類、聚集、離群點檢測等。關聯(lián)規(guī)則挖掘是最重要的數(shù)據(jù)挖掘任務之一,由Agrawal等人提出,其目的是發(fā)現(xiàn)事務(項)之間存在的隱含關聯(lián)。關聯(lián)規(guī)則挖掘一般分為兩個階段,即發(fā)現(xiàn)頻繁項集和根據(jù)頻繁項集產(chǎn)生關聯(lián)規(guī)則。由于根據(jù)頻繁項集產(chǎn)生關聯(lián)規(guī)則相對容易實現(xiàn),所以關聯(lián)規(guī)則挖掘研究主要關注的是如何在數(shù)據(jù)集中找到頻繁出現(xiàn)的項集,這個過程也稱為頻繁項集挖掘( frequent itemsets mining)或頻繁模式挖掘(frequent patterns mining)。傳統(tǒng)的關聯(lián)規(guī)則挖掘算法主要可以分為三類:a)產(chǎn)生測試方法,通過迭代產(chǎn)生候選頻繁項集并進行分別計數(shù),統(tǒng)計得到頻繁項集,典型的算法是Agrawal等人心1提出的算法及其一系列的改進算法,如DHP、DIC等;b)模式增長方法,它不用產(chǎn)生候選項集,而是將所有頻繁項壓縮成一種特殊的數(shù)據(jù)結(jié)構(gòu)(一般為樹結(jié)構(gòu)),通過在數(shù)據(jù)結(jié)構(gòu)上進行遍歷直接產(chǎn)生頻蘩項集,典型的算法有FP-Growth、LP-tree、FIUT、IFP、FPUTPLElol等;c)垂直格式方法,是將水平格式的數(shù)據(jù)集轉(zhuǎn)換成垂直格式,通過交運算來得到頻繁項集,典型的算法有Eclat等。
隨著信息技術(shù)的快速發(fā)展,需要存儲和分析的數(shù)據(jù)量呈爆炸性增長,人類已經(jīng)進入了大數(shù)據(jù)時代,傳統(tǒng)的關聯(lián)規(guī)則挖掘算法已經(jīng)不能適應大數(shù)據(jù)挖掘的要求,主要困難是:單一計算機無法存儲所需要挖掘的所有數(shù)據(jù)及挖掘過程中產(chǎn)生的中間結(jié)果;挖掘過程所需要的內(nèi)存遠遠超過單一機器的存儲量;計算時間太長無法忍受等。需要開發(fā)分布式、并行關聯(lián)規(guī)則挖掘算法解決上述問題。
MapReduce是一種由Google于2004年提出的一種易用且功能強大的并行編程模型,具有使用簡單、自動容錯、負載均衡、伸縮性好等優(yōu)點,其開源實現(xiàn)Hadoop已經(jīng)廣泛應用于很多大數(shù)據(jù)分析領域,已經(jīng)有了很多將傳統(tǒng)關聯(lián)規(guī)則挖掘算法向MapReduce模型進行遷移的研究,很大程度上解決了大數(shù)據(jù)關聯(lián)規(guī)則挖掘的問題。這些算法的主要思想都是利用Ha-doop中的分布式文件系統(tǒng)(HDFS)來解決海量數(shù)據(jù)存儲和分片的問題,利用MapReduce未實現(xiàn)挖掘算法的并行執(zhí)行。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
基于MapReduce的并行關聯(lián)規(guī)則挖掘算法下載
相關電子資料下載
- 一文弄懂數(shù)據(jù)挖掘的十大算法,數(shù)據(jù)挖掘算法原理講解 706
- 用Python進行線性回歸 用Python中的mlxtend包實現(xiàn)關聯(lián)規(guī)則挖掘 1080
- MapReduce和Spark概要介紹 1297
- Apache Storm的安裝部署 777
- 人工智能的八大類算法你知道多少 2949
- Apriori關聯(lián)規(guī)則算法(Python代碼) 3295
- 數(shù)據(jù)分析的4個目的3個意義 新手小白一定要看! 3259
- 谷歌大腦和DeepMind聯(lián)合發(fā)布堪稱AI界的MapReduce 4342
- MapReduce實現(xiàn)與自定義詞典文件基于hanLP的中文分詞詳解 221
- 數(shù)據(jù)挖掘算法:決策樹算法如何學習及分裂剪枝 5546