關(guān)聯(lián),其實(shí)很簡(jiǎn)單,就是幾個(gè)東西或者事件是經(jīng)常同時(shí)出現(xiàn)的,“啤酒+尿布”就是非常典型的兩個(gè)關(guān)聯(lián)商品。
所謂關(guān)聯(lián),反映的是一個(gè)事件和其他事件之間依賴(lài)或關(guān)聯(lián)的知識(shí)。當(dāng)我們查找英文文獻(xiàn)的時(shí)候,可以發(fā)現(xiàn)有兩個(gè)英文詞都能形容關(guān)聯(lián)的含義。第一個(gè)是相關(guān)性relevance,第二個(gè)是關(guān)聯(lián)性association,兩者都可以用來(lái)描述事件之間的關(guān)聯(lián)程度。其中前者主要用在互聯(lián)網(wǎng)的內(nèi)容和文檔上,比如搜索引擎算法中文檔之間的關(guān)聯(lián)性,我們采用的詞是relevance;而后者往往用在實(shí)際的事物之上,比如電子商務(wù)網(wǎng)站上的商品之間的關(guān)聯(lián)度我們是用association來(lái)表示的,而關(guān)聯(lián)規(guī)則是用association rules來(lái)表示的。
如果兩項(xiàng)或多項(xiàng)屬性之間存在關(guān)聯(lián),那么其中一項(xiàng)的屬性值就可以依據(jù)其他屬性值進(jìn)行預(yù)測(cè)。簡(jiǎn)單地來(lái)說(shuō),關(guān)聯(lián)規(guī)則可以用這樣的方式來(lái)表示:A→B,其中A被稱(chēng)為前提或者左部(LHS),而B(niǎo)被稱(chēng)為結(jié)果或者右部(RHS)。如果我們要描述關(guān)于尿布和啤酒的關(guān)聯(lián)規(guī)則(買(mǎi)尿布的人也會(huì)買(mǎi)啤酒),那么我們可以這樣表示:買(mǎi)尿布→買(mǎi)啤酒。
關(guān)聯(lián)算法的兩個(gè)概念
在關(guān)聯(lián)算法中很重要的一個(gè)概念是支持度(Support),也就是數(shù)據(jù)集中包含某幾個(gè)特定項(xiàng)的概率。
比如在1000次的商品交易中同時(shí)出現(xiàn)了啤酒和尿布的次數(shù)是50次,那么此關(guān)聯(lián)的支持度為5%。
和關(guān)聯(lián)算法很相關(guān)的另一個(gè)概念是置信度(Confidence),也就是在數(shù)據(jù)集中已經(jīng)出現(xiàn)A時(shí),B發(fā)生的概率,置信度的計(jì)算公式是 :A與B同時(shí)出現(xiàn)的概率/A出現(xiàn)的概率。
數(shù)據(jù)關(guān)聯(lián)是數(shù)據(jù)庫(kù)中存在的一類(lèi)重要的可被發(fā)現(xiàn)的知識(shí)。若兩個(gè)或多個(gè)變量的取值之間存在某種規(guī)律性,就稱(chēng)為關(guān)聯(lián)。關(guān)聯(lián)可分為簡(jiǎn)單關(guān)聯(lián)、時(shí)序關(guān)聯(lián)、因果關(guān)聯(lián)等。關(guān)聯(lián)分析的目的是找出數(shù)據(jù)庫(kù)中隱藏的關(guān)聯(lián)網(wǎng)。有時(shí)并不知道數(shù)據(jù)庫(kù)中數(shù)據(jù)的關(guān)聯(lián)函數(shù),或者即使知道也是不確定的,因此關(guān)聯(lián)分析生成的規(guī)則帶有置信度。
關(guān)聯(lián)規(guī)則挖掘發(fā)現(xiàn)大量數(shù)據(jù)中項(xiàng)集之間有趣的關(guān)聯(lián)或相關(guān)聯(lián)系。它在數(shù)據(jù)挖掘中是一個(gè)重要的課題,最近幾年已被業(yè)界所廣泛研究。
關(guān)聯(lián)規(guī)則挖掘的一個(gè)典型例子是購(gòu)物籃分析。關(guān)聯(lián)規(guī)則研究有助于發(fā)現(xiàn)交易數(shù)據(jù)庫(kù)中不同商品(項(xiàng))之間的聯(lián)系,找出顧客購(gòu)買(mǎi)行為模式,如購(gòu)買(mǎi)了某一商品對(duì)購(gòu)買(mǎi)其他商品的影響。分析結(jié)果可以應(yīng)用于商品貨架布局、貨存安排以及根據(jù)購(gòu)買(mǎi)模式對(duì)用戶(hù)進(jìn)行分類(lèi)。
關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)過(guò)程可分為如下兩步:
第一步是迭代識(shí)別所有的頻繁項(xiàng)目集(Frequent Itemsets),要求頻繁項(xiàng)目集的支持度不低于用戶(hù)設(shè)定的最低值;
第二步是從頻繁項(xiàng)目集中構(gòu)造置信度不低于用戶(hù)設(shè)定的最低值的規(guī)則,產(chǎn)生關(guān)聯(lián)規(guī)則。識(shí)別或發(fā)現(xiàn)所有頻繁項(xiàng)目集是關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法的核心,也是計(jì)算量最大的部分。
支持度和置信度兩個(gè)閾值是描述關(guān)聯(lián)規(guī)則的兩個(gè)最重要的概念。一項(xiàng)目組出現(xiàn)的頻率稱(chēng)為支持度,反映關(guān)聯(lián)規(guī)則在數(shù)據(jù)庫(kù)中的重要性。而置信度衡量關(guān)聯(lián)規(guī)則的可信程度。如果某條規(guī)則同時(shí)滿(mǎn)足最小支持度(min-support)和最小置信度(min-confidence),則稱(chēng)它為強(qiáng)關(guān)聯(lián)規(guī)則。
關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘階段
第一階段必須從原始資料集合中,找出所有高頻項(xiàng)目組(Large Itemsets)。高頻的意思是指某一項(xiàng)目組出現(xiàn)的頻率相對(duì)于所有記錄而言,必須達(dá)到某一水平。以一個(gè)包含A與B兩個(gè)項(xiàng)目的2-itemset為例,我們可以求得包含{A,B}項(xiàng)目組的支持度,若支持度大于等于所設(shè)定的最小支持度(Minimum Support)門(mén)檻值時(shí),則{A,B}稱(chēng)為高頻項(xiàng)目組。一個(gè)滿(mǎn)足最小支持度的k-itemset,則稱(chēng)為高頻k-項(xiàng)目組(Frequent k-itemset),一般表示為L(zhǎng)arge k或Frequent k。算法并從Large k的項(xiàng)目組中再試圖產(chǎn)生長(zhǎng)度超過(guò)k的項(xiàng)目集Large k+1,直到無(wú)法再找到更長(zhǎng)的高頻項(xiàng)目組為止。
關(guān)聯(lián)規(guī)則挖掘的第二階段是要產(chǎn)生關(guān)聯(lián)規(guī)則。從高頻項(xiàng)目組產(chǎn)生關(guān)聯(lián)規(guī)則,是利用前一步驟的高頻k-項(xiàng)目組來(lái)產(chǎn)生規(guī)則,在最小可信度(Minimum Confidence)的條件門(mén)檻下,若一規(guī)則所求得的可信度滿(mǎn)足最小可信度,則稱(chēng)此規(guī)則為關(guān)聯(lián)規(guī)則。
更多詳細(xì)信息,請(qǐng)您微信關(guān)注“計(jì)算網(wǎng)”公眾號(hào):