1、關聯規則算法
一、是數據中所蘊含的一類重要規律,對關聯規則挖掘的目標是在數據項目中找出全部的併發關係,這種搞關係也稱爲關聯。數據庫
eg、奶酪->啤酒[支持度 = 10%,置信度 = 80%]併發
二、關聯規則的基本概念spa
設一個項目集合I = {i1,i2,i3,……,im},一個(數據庫)事務集合T = {t1,t2,t3,,,tn},其中每一個事務ti是一個項目集合,而且。blog
一個關聯規則是以下形式的蘊涵關係:排序
三、關聯規則強度指標:支持度和置信度事務
(1)支持度:規則X->Y的支持度是指,T中包含的事務的百分比。支持度是一個頗有用的評價指標,若是他的值過於的小,則代表時間可能只是偶然發生io
(2)置信度:決定了規則的可預測度,表示在全部發生了X的事務中一樣發生了Y的機率。原理
2、Apriori算法搜索
一、Apriori原理:Apriori算法基於演繹Apriori原理(向下封閉屬性)
向下封閉屬性(Downward Closure Property):若是一個項目集知足某個最小支持的度要求,那麼這個項集的任何非空子集必需都知足這個最小支持度。
爲了確保頻繁項目集成的高效性,Apriori算法假定I中的項目都是排序好的。
二、描述
就是對於數據集D,遍歷它的每一條記錄T,獲得T的全部子集,而後計算每個子集的支持度,最後的結果再與最小支持度比較。且不論這個數據集D中有多少條記錄(十萬?百萬?),就說每一條記錄T的子集個數({1,2,3}的子集有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},即若是記錄T中含有n項,那麼它的子集個數是2^n-1)。計算量很是巨大,天然是不可取的。
因此Aprior算法提出了一個逐層搜索的方法,如何逐層搜索呢?包含兩個步驟:
1.自鏈接獲取候選集。第一輪的候選集就是數據集D中的項,而其餘輪次的候選集則是由前一輪次頻繁集自鏈接獲得(頻繁集由候選集剪枝獲得)。
2.對於候選集進行剪枝。如何剪枝呢?候選集的每一條記錄T,若是它的支持度小於最小支持度,那麼就會被剪掉;此外,若是一條記錄T,它的子集有不是頻繁集的,也會被剪掉。
算法的終止條件是,若是自鏈接獲得的已經再也不是頻繁集,那麼取最後一次獲得的頻繁集做爲結果。