關聯規則的基本思想

2021-10-06 01:15:57 字數 1290 閱讀 9765

2.原理

在學習關聯規則之前,首先要知道一大堆的定義。

num雞蛋

牛奶啤酒

尿布飲料t10

1100

t2110

01t30

1010

每一行是購買記錄,每一列是對應物品。

每一列看作乙個項,每一行看作乙個事務。乙個事務有幾個項,事務的寬度就是多少。t1的寬度是2,t2的寬度是3 ,t3的寬度是2。

數學定義是一大串公式,我們跳過。但是理解很簡單,項集簡稱項,用來描述事務。例如t1有兩個元素,事務t1就是2項集,t2是3項集,t3是2項集。當然,項集可以是空的。

簡單理解,支援數就是計數,支援度就是所佔百分比。例如,**中雞蛋出現的次數為1,那麼它的支援數就是1。而事務總數為3,因此雞蛋的支援度是1/3。同理,牛奶的支援數為3,支援度為3/3=1。支援度定義如下:

支援度 :support(x)=count/|t|

這裡說的是單維度,如果是多維度,x就是並集。例如:

support(雞蛋∩飲料)=count/|t|=1/3

support(雞蛋∩啤酒)=count/|t|=0

conf(x ⇒ y)=0.6

意為在x發生的條件下,y發生出現的概率式60%。在這個例子中,

conf(牛奶⇒ 雞蛋)=1/3

conf(雞蛋⇒ 牛奶)=1

conf(雞蛋⇒ 啤酒)=0

多維情況下 同支援度

關聯規則,關聯和規則,定義為形如x ⇒ y的蘊涵式,其中x,y均為項集。在使用的過程中,它只是蘊含式的形式。至於到底有什麼規則,需要我們的挖掘。

重點來了,項集前面說了,就是列。頻繁項集就是列中的項集大於某個概率,這個概率我們一般定義為最小支援度。設定最小支援度為50%,則只有牛奶這項是頻繁的,頻繁項集為。若最小支援度為20%,則所有項均是頻繁的,頻繁項集為。因為是5項,所以稱之為頻繁5-項集。

項集x,y同時滿足最小支援度和最小置信度,就是強關聯,反之弱關聯。同時滿足這兩種情況,說明兩者的相關性非常高。

上面兩條的公理有什麼用呢?挖掘頻繁項集的時候使用。apriori演算法的第一步就是剪枝,剪枝就是刪除概率不滿足的項,這裡的剪枝和深度學習的剪枝類似,但是不相同。演算法的過程是頻繁1-項集,2-項集,…n-項集。剪枝一次後需要連線,然後剪枝第二次,然後再連線,再剪枝,再連線…直到最後挖掘出所有的頻繁項集。具體的過程會在後面的演算法種詳細介紹。

MVP基本思想

mvp的邏輯性思維都在p層,他降低了頁面的耦合度,具備低耦合的特性,mvp的出現使 更具邏輯性 首先我們看到分包的嚴謹性 mvp的結構分析 p層負責整體邏輯並且將m層和v層聯絡起來,m層主要負責 塊,callback將結果集返回p層,v層最後展示檢視 注意以下介面 public inte ce my...

git基本思想

git相比叫傳統的基於檔案svn優勢明顯,主要體現在天然分布式不怕丟失 不以檔案為為基礎,基於git的資料庫 commit雜湊健值檔案 的版本管理,分支 標籤等操作飛速,而不是緩慢地檔案和目錄操作 git下每個人都有乙個獨特的工作區和分支,不必實時和中心伺服器同步就可以 帶有社交性質的基於fork ...

Michael Abrash 的基本思想。

在大學的時候老鄉老楊買了一本厚厚的書,他看了幾天認為沒有什麼多大用途,就要讓給我。給我的 已記不得多少了。這本書就是michael abrash的 griphics programming black book 的中文版。這也是我看的第一本關於程式設計思想的書。後面的內容當時基本看不懂,但前幾章可以...