機器學習 關聯規則演算法從初識到應用

2021-08-21 00:21:15 字數 2499 閱讀 2051

一、前述

關聯規則的目的在於在乙個資料集中找出項之間的關係,也稱之為購物藍分析 (market basket analysis)。例如,購買鞋的顧客,有10%的可能也會買襪子,60%的買麵包的顧客,也會買牛奶。這其中最有名的例子就是"尿布和啤酒"的故事了。

二、相關概念

交易集:包含所有資料的乙個資料集合,資料集合中的每條資料都是一筆交易

關聯分析:在大規模資料集中尋找有趣關係的任務。這些關係可以有兩種形式:頻繁項集或者關聯規則。

關聯關係:(association rules)暗示兩種物品之間可能存在很強的關係。

項:交易集中的每個商品被成為乙個項

模式/項集(itemset):項組合被成為模式/項集

支援度(support):個項集在在整個交易集中出現的次數/出現的頻度,比如:support()=2表示a和c同時出現的次數是2次

最小支援度:交易次數達到最小支援度的情況下,該項集才會被計算

頻繁項集:如果項集的支援度大於等於最小支援度,那麼改項集被成為頻繁項集,即出現的比較頻繁。

置信度(confidence):關聯規則左件和右件同時出現的頻繁程度,該值越大,表示同時出現的機率越大。

關聯規則:lhs --- rhs(confidence) -----> 如果客戶購買了左件(lhs),也可能購買右件(rhs),購買的置信度為confidence

比如上面的就頻繁出現,他們之間可能存在一些關係,辣麼,如何來確定是否是頻繁項集呢?主要是依靠支援度和可信度。

首先我們來看,什麼是規則?規則形如"如果…那麼…(if…then…)",前者為條件,後者為結果。例如乙個顧客,如果買了可樂,那麼他也會購買果汁。

如何來度量乙個規則是否夠好?有兩個量,置信度(confidence)和支援度(support)

假設有如下表的購買記錄。

上表中橫欄和縱欄的數字表示同時購買這兩種商品的交易條數。如購買有orange的交易數為4,而同時購買orange和coke的交易數為2。

置信度表示了這條規則有多大程度上值得可信。設條件的項的集合為a,結果的集合為b。置信度計算在a中,同時也含有b的概率。即confidence(a==>b)=p(b|a)。例 如計算"如果orange則coke"的置信度。由於在含有orange的4條交易中,僅有2條交易含有coke.其置信度為0.5。

支援度計算在所有的交易集中,既有a又有b的概率。例如在5條記錄中,既有orange又有coke的記錄有2條。則此條規則的支援度為2/5=0.4。現在這條規則可表述為,如果乙個顧客購買了orange,則有50%的可能購買coke。而這樣的情況(即買了orange會再買coke)會有40%的可能發生。支援度是針對項集來說的,因此可以定義乙個最小支援度,而只保留滿足最小支援度的項集。

關聯規則要求項集必須滿足的最小支援閾值,稱為項集的最小支援度(minimum support),記為supmin支援度大於或等於supmin的項集稱為頻繁項集,簡稱頻繁集

,反之則稱為非頻繁集。通常k-項集如果滿足supmin,稱為k-頻繁集,記作lk。關聯規則的最小置信度(minimum confidence)記為confmin,它表示關聯規則需要滿足的最低可靠性。

三、apriori演算法

1、原理

如果某個項集是頻繁的,那麼它的所有子集也是頻繁的。該定理的逆反定理為:如果某乙個項集是非頻繁的,那麼它的所有超集(包含該集合的集合)也是非頻繁的。apriori原理的出現,可以在得知某些項集是非頻繁之後,不需要計算該集合的超集,有效地避免項集數目的指數增長,從而在合理時間內計算出頻繁項集。

2、實現

apriori演算法是發現頻繁項集的一種方法。apriori演算法的兩個輸入引數分別是最小支援度和資料集。該演算法首先會生成所有單個物品的項集列表->接著掃瞄交易記錄來檢視哪些項集滿足最小支援度要求,其中不滿足最小支援度的集合會被去掉->然後對剩下的集合進行組合以生成包含兩個資料集的項集->接著重新掃瞄交易記錄,去掉不滿足最小支援度的項集->該過程重複進行直到所有項集都被濾掉。

機器學習 EM演算法從初識到應用

一 前述 em演算法是解決數學公式的乙個演算法,是一種無監督的學習。em演算法是一種解決存在隱含變數優化問題的有效方法。em演算法是期望極大 expectation maximization 演算法的簡稱,em演算法是一種迭代型的演算法,在每一次的迭代過程中,主要分為兩步 即求期望 expectat...

機器學習 EM演算法從初識到應用

一 前述 em演算法是解決數學公式的乙個演算法,是一種無監督的學習。em演算法是一種解決存在隱含變數優化問題的有效方法。em演算法是期望極大 expectation maximization 演算法的簡稱,em演算法是一種迭代型的演算法,在每一次的迭代過程中,主要分為兩步 即求期望 expectat...

機器學習 Apriori演算法(關聯規則)

上來乙個公式 支援度 p a b 既有a又有b的概率 置信度 p b a 在a發生的事件中同時發生b的概率 p ab p a 例如購物籃分析 牛奶 麵包 例子 支援度 3 置信度 40 支援度3 意味著3 顧客同時購買牛奶和麵包 置信度40 意味著購買牛奶的顧客40 也購買麵包 如果事件a中包含k個...