為什麼資料探勘中要使用支援度和置信度?
支援度是一個重要的指標,因為支援度很低的規則很容易偶然出現。從商業角度來看,低支援度規則也很難處理,因為提升使用者很少一起購買的商品的利潤並不高。
關聯規則是一種形式為 X→Y 的蘊含描述,其中 X 和 Y 是不相交的專案集,即 $\mathrm{X\cap\:Y=\phi}$。關聯規則的強度可以用其支援度和置信度來計算。支援度決定了在給定資料集上規則的可訪問性,而置信度決定了在包含 X 的事務中 Y 出現的頻率。
置信度衡量規則產生的推理的準確性。對於給定的規則形式 X→Y,置信度越高,在包含 X 的事務中 Y 存在的可能性就越高。置信度也支援對給定 X 條件下 Y 的條件機率的估計。
必須謹慎地解釋關聯分析的結果。關聯規則產生的推理並不一定意味著因果關係。它表明規則的前件和後件中的元素之間存在很強的共現關係。因果關係需要關於資訊中因果屬性的知識,並且通常包含隨時間推移出現的關聯。
關聯規則挖掘問題可以表述如下:
**關聯規則發現** - 給定一組事務 T,發現一些支援度 ≥ minsup 和置信度 ≥ minconf 的規則,其中 minsup 和 minconf 是等效的支援度和置信度閾值。
挖掘關聯規則的一種暴力方法是計算每個適用規則的支援度和置信度。這種方法計算成本非常高,因為可以從資料集中提取的規則數量呈指數級增長。
提高關聯規則挖掘演算法效率的一個重要步驟是將支援度和置信度要求解耦。如果專案集是奇數,則所有六個候選規則都可以直接修剪,而無需計算它們的置信度值。
因此,許多關聯規則挖掘演算法採用的常見策略是將問題分解為兩個主要子任務:
**頻繁項集生成** - 目標是發現滿足閾值的專案集。這些專案集稱為頻繁項集。
**規則生成** - 目標是從前一步中發現的頻繁項集中提取一些高置信度規則。這些規則稱為強規則。頻繁項集生成的計算需求通常比規則生成的計算需求更高。