挖掘頻繁模式、關聯和相關性:基本概念和方法數據庫
頻繁模式(frequent pattern)是頻繁地出如今數據集中的模式(如項集、子序列或子結構)。ide
例如,頻繁地同時出如今交易數據集中的商品(如牛奶和麪包)的集合是頻繁項集。佈局
一個子序列,如首先購買PC,而後是數碼相機,再後是內存卡,若是它頻繁地出如今購物歷史數據庫中,則稱它爲一個(頻繁地)序列模式。spa
一個子結構可能涉及不一樣的結構形式,如子圖、子樹或子格,它可能與項集或子序列結合在一塊兒。若是一個子結構頻繁地出現,則稱它爲(頻繁的)結構模式。設計
對於挖掘數據之間的關聯、相關性和許多其餘有趣的聯繫,發現這種頻繁模式起着相當重要的做用。此外,它對數據分類、聚類和其餘數據挖掘任務也有幫助。事務
1.基本概念
頻繁模式挖掘搜索給定數據集中反覆出現的聯繫。內存
1.1購物籃分析
頻繁項集挖掘的一個典型例子是購物籃分析。該過程經過發現顧客購買過商品之間的聯繫,分析顧客的購物習慣。這種關聯能夠幫助零售商瞭解哪些商品頻繁地被顧客同時購買,從而幫助他們制定更好的營銷策略。ci
分析結果能夠幫助設計不一樣的商店佈局。it
一種策略是:常常同時購買的商品能夠擺放近一些,以便進一步刺激這些商品同時銷售。數據挖掘
另外一種策略:把同時購買的商品擺放在商店兩端,可能誘發買這些商品的顧客一路挑選其餘商品。
購物籃分析也能夠幫助零售商規劃什麼商品降價出售。若是顧客趨向於同時購買計算機和打印機,則打印機的降價出售可能既促使購買打印機,又促使購買計算機。
每種商品有一個布爾變量,表示該商品是否出現。每一個購物籃能夠使用一個布爾向量表示。能夠分析布爾向量,獲得反映商品頻繁關聯或同事購買的購買模式。這些模式能夠用關聯規則(association rule)的形式表示。
購買計算機也趨向於購買殺毒軟件,能夠使用如下關聯規則表示:
Computer => antivirus_software[support = 2%; confidence = 60%]
關聯規則的支持度爲2%,意味着所分析的全部事務的2%顯示計算機和殺毒軟件被同事購買。
置信度60%意味着購買計算機的顧客60%也購買了殺毒軟件
規則的支持度(support)和置信度(confidence)是規則興趣度的兩種度量。它們分別反映所發現規則的有用性和肯定性。若是關聯規則知足最小支持度閾值和最小置信度閾值。這些閾值能夠由用戶或領域專家設定。
1.2頻繁項集、閉項集和關聯規則
設I = {I1, I2, I3, ... , Im}是項的集合。設任務相關的數據D是數據庫事務的集合,其中每一個事務T是一個非空項集,使得 T ⊆ I。每一個事務都有一個標識符,稱爲TID。設A是一個項集,事務T包含A,當且僅當A ⊆ T。關聯規則是形如 A→B的蘊含式,其中A⊂I,B⊂I,A不爲空,B不爲空,而且A∩B不爲空。
規則A→B在事務集D中成立,具備支持度s,其中s是D中事務A∪B(即集合A和B的並或A和B兩者)的百分比。它是機率P(A∪B)。
Support(A→B) = P(A∪B) = P(A&B)
規則A→B在事務集D中具備置信度c,其中c是D中包含A的事務同時也包含B的事務的百分比。這是條件機率P(B|A)。
Confidence(A→B) = P(B|A) = P(A&B)/P(A)
同時知足最小支持度閾值(min_sup)和最小置信度閾值(min_conf)的規則稱爲強規則。
項的集合稱爲項集。包含k個項的項集稱爲k項集。集合{computer, antivirus_soft-ware}是一個2項集。項集的出現頻度是包含項集的事務數,簡稱爲項集的頻度、支持度計數或計數。
Support(A→B) 定義的項集支持度有時稱爲相對支持度,而出現頻度稱爲絕對支持度。若是項集I的相對支持度知足預約義的最小支持度閾值(即I的絕對支持度知足對應的最小支持度計數閾值),則I是頻繁項集(frequent itemset)。
通常而言,關聯規則的挖掘是一個兩步的過程:
(1)找出全部的頻繁項集:根據定義,這些項集的每個頻繁出現的次數至少與預約義的最小支持計數(min_sup)同樣。
(2)由頻繁項集產生強關聯規則:根據定義,這些規則必須知足最小支持度和最小置信度。