如何挖掘封閉頻繁項集?


在樸素方法中,它可以挖掘頻繁項集的完整集合,然後刪除每個頻繁項集,該項集是當前頻繁項集的真子集,並且具有相同的支援度。

這種方法可以推匯出 2100−1 個頻繁項集以獲得長度為 100 的頻繁項集,所有這些都在它開始刪除冗餘項集之前。推薦的技術是在挖掘階段精確地搜尋封閉頻繁項集。這需要我們在挖掘過程中能夠識別封閉項集的方法時儘快修剪搜尋區域。有各種修剪策略,包括以下內容 -

項合併 - 如果每個包含頻繁項集 X 的事務也包含項集 Y,但不包含 Y 的任何真超集,則 X ∪Y 形成一個頻繁封閉項集,並且不需要搜尋包含 X 但不包含 Y 的任何項集。

子項集修剪 - 如果頻繁項集 X 是先前發現的頻繁封閉項集 Y 的真子集,並且 support_count(X) = support_count(Y),則 X 及其在集合列舉樹中的所有後代都不能是頻繁封閉項集,因此可以被修剪。

項跳過 - 在封閉項集的深度優先挖掘中,在每一層,都可能存在與頭表和投影資料庫相關的字首項集 X。如果本地頻繁項 p 在多層多個頭表中具有相同支援度,則可以安全地從更高層的頭表中修剪 p。

當新的頻繁項集發生變化時,必須實現兩種型別的閉包檢查,如下所示 -

  • 超集檢查 - 它可以測試此新的頻繁項集是否是一些先前發現的具有相同支援度的封閉項集的超集。

  • 子集檢查 - 它可以測試新發現的項集是否為先前發現的具有相同支援度的封閉項集的子集。

它可以在分治結構下采用項合併修剪技術,那麼超集測試實際上是內建的,不需要顯式地實現超集檢查。這是因為,如果頻繁項集 X∪Y 比項集 X 後發現,並且具有與 X 相同的支援度,則它應該在 X 的投影資料庫中,並且應該在項集合並期間生成。

它可以幫助子集檢查,可以構建一個壓縮模式樹來支援挖掘的封閉項集集。模式樹在機制上與 FP-樹相同,除了所有發現的封閉項集都明確地儲存在相應的樹分支中。

更新於: 2022-02-16

1K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.