2013-01-04 162 views
4

我幾天來一直在爲我的考試做些工作,而且我正在瀏覽一些過去的論文,但不幸的是沒有相應的答案。我已經回答了這個問題,我想知道如果有人能告訴我我是否正確。數據挖掘和頻繁數據集

我的問題是

(c)一個事務性數據集,T,在下面給出:

T1:牛奶,雞肉,啤酒

T2:雞,奶酪

t3:奶酪,靴子

t4:奶酪,雞肉,啤酒,

T5:雞,啤酒,服裝,奶酪,牛奶

T6:衣服,啤酒,牛奶

T7:啤酒,牛奶,衣服

假設最小支持爲0.5(最小支持度= 0.5 )。 (i)找出所有頻繁項目集。

這裏是我的工作了:

貨品:金額

牛奶:4

雞:4

啤酒:5

奶酪: 4

靴子:1

衣服:3

現在,因爲最小支持度爲0.5,則您消除靴子和衣服,使剩餘給人一種組合:

{項目}:金額

{牛奶,雞肉}:2

{牛奶,啤酒}:4

{牛奶,奶酪}:1

{雞,啤酒}:3

{雞,奶酪}:3

{啤酒,奶酪}:2

哪隻有牛奶和啤酒作爲唯一的頻繁項目集,那麼它是唯一一個在上面的人?

回答

1

有兩種方法來解決這個問題:

  1. 使用Apriori算法
  2. 使用FP計數

假設你正在使用先驗,你得到的答案是正確的。

該算法很簡單:
首先您計算頻繁的1項目集,並排除項目集低於最低支持。
然後通過組合來自先前迭代的頻繁項目來計數頻繁的2項目集合,並且將項目集合排除在支持閾值以下。
算法可以繼續,直到沒有項目集大於閾值。
在給你的問題上,你只會得到比閾值大2個項目的1個集合,所以你不能進一步移動。
在維基百科here上有一個解決的進一步步驟的例子。

您可以參考Han和Kamber的「Data Mining Concepts and Techniques」獲取更多示例。

+0

有兩種以上的算法來解決這個問題。我只會提到其中的一些:Apriori,FPGrowth,Eclat,HMine,DCI,Relim,AIM等。 – Phil

0

要開始,首先必須瞭解,數據挖掘(有時稱爲數據或知識發現)是從不同角度分析數據並將其彙總爲有用信息的過程 - 可用於增加收入,降低成本的信息, 或兩者。數據挖掘軟件是分析數據的衆多分析工具之一。它允許用戶分析來自許多不同維度或角度的數據,對其進行分類並總結所識別的關係。從技術上講,數據挖掘是在大型關係數據庫的幾十個領域中找到相關性或模式的過程。

現在,公司數據庫中存儲的原始數據量正在爆炸式增長。從數萬億的銷售點交易和信用卡購買到星系的逐像素圖像,數據庫現在以千兆字節和兆兆字節爲單位進行測量。 (一兆兆字節=一萬億字節,一兆兆字節相當於大約兩百萬本書籍)例如,沃爾瑪每天上傳2000萬個銷售點交易到一個大規模並行系統,其中483個處理器運行集中數據庫。但原始數據本身並不能提供很多信息。在當今競爭激烈的商業環境中,企業需要迅速將這些TB數據轉化爲對客戶和市場的重要見解,以指導其營銷,投資和管理戰略。

現在你必須明白,關聯規則挖掘是數據挖掘中的一個重要模型。其挖掘算法發現數據中滿足用戶指定的最小支持(minsup)和最小置信度(minconf)約束的所有項目關聯(或規則)。 Minsup控制規則必須覆蓋的最少數量的數據案例。 Minconf控制規則的預測強度。由於整個數據庫只使用一個minsup,因此該模型隱含假定數據中的所有項目具有相同的性質和/或數據中具有相似的頻率。然而,這在實際應用中很少出現。在許多應用中,一些項目在數據中出現頻率很高,而其他項目很少出現。如果minsup設置得太高,那些涉及稀有物品的規則將無法找到。要找到涉及頻繁項目和稀有項目的規則,必須將minsup設置得非常低。這可能會導致組合爆炸,因爲這些頻繁項目將以各種可能的方式彼此關聯。這種困境被稱爲稀有物品問題。本文提出了一種新的技術來解決這個問題。該技術允許用戶指定多個最小支持度來反映項目的性質及其在數據庫中的不同頻率。在規則挖掘中,取決於規則中的項目,不同的規則可能需要滿足不同的最小支持。給定一組事務T(數據庫),挖掘關聯規則的問題是發現所有支持和置信度大於用戶指定的最小支持度(稱爲minsup)和最小置信度(稱爲minconf)的關聯規則)。

我希望一旦你理解了數據挖掘的基礎知識,這個問題的答案就會變得明顯。

2

我同意你應該去Apriori算法。

Apriori算法是基於這樣的想法,即對於頻繁的項目對,每個單獨的項目也應該是頻繁的。 如果漢堡包番茄醬對頻繁出現,漢堡包本身也必須經常出現在籃子裏。關於番茄醬也可以這樣說。

因此,該算法建立了一個「閾值X」來定義什麼是或不是頻繁的。如果某個項目出現超過X次,則視爲頻繁。

該算法的第一步是傳遞每個籃子中的每個項目,並計算它們的頻率(計算它出現的次數)。 這可以用大小爲N的散列來完成,其中散列的位置y指的是Y的頻率。

如果項目y的頻率大於X,則說它是頻繁的。

在算法的第二步中,我們再次迭代項目,計算籃子中對的頻率。我們得到的結果是 我們只計算個別頻繁的項目。因此,如果項目y和項目z本身頻繁,我們然後計算該對的頻率。這種情況極大地減少了要計算的配對,並減少了佔用的內存量。

一旦計算出來,大於閾值的頻率就稱爲頻繁項目集。

http://girlincomputerscience.blogspot.com.br/2013/01/frequent-itemset-problem-for-mapreduce.html