一、序列模式挖掘簡介
序列模式的概念最早是由agrawal和srikant 提出的。
動機:大型連鎖超市的交易資料有一系列的使用者事務資料庫,每一條記錄包括使用者的id,事務發生的時間和事務涉及的專案。
如果能在其中挖掘涉及事務間關聯關係的模式,即使用者幾次購買行為間的聯絡,可以採取更有針對性的營銷措施。
二、事務資料庫例項
例:乙個事務資料庫,乙個事務代表一筆交易,乙個單項代表交易的商品,單項屬性中的數字記錄的是商品id
有時每個事務的發生時間可以忽略,僅保持事務間的偏序關係。
三、prefixspan
字首
假設所有的項在乙個元素中按照字母表的順序排列出來。給定乙個序列α=
(在這裡每乙個e都和在s中給定的連續的元素相一致)和乙個序列β=(m≤n).只有如果:
1、ei』=ei(i≤m-1),2、em』∈em ,3、所有在(em—em』)的連續項在em』中都是按照字母表順序排列的,
那麼我們就說β是α的乙個字首。
例如:,,和都是序列s=的字首,但是如果每個項都在s中的序列s是連續的,
那麼和都認為是的乙個字首。
字尾
序列α關於子串行β = 的投影為α』 = (n >= m),則序列α關於子串行β的字尾為,
其中em」 = (em - em』)。
例如:對於序列s=,就被認識為是關於字首的字尾,
就被認為是關於字首的字尾,就被被認為是關於字首的字尾。
投影
投影即投影
資料庫,是序列資料庫s中所有相對於α字首的字尾序列的集合。
演算法步驟:
1)對投影資料庫s|α進行一次掃瞄,找到一組連續的項b,其中b可以集合成為α的最後乙個元素或者可以被追加到α上,形成乙個序列模式。
2)對於每乙個連續的項b,把他新增到α上形成乙個序列α』,並且輸出α』。
3)對於每乙個α』,建立乙個α』-投影資料庫s|α』,並呼叫prefixspan(α』,l+1,s|α』).
例子:
1、使用之前的序列資料庫進行簡單的說明(給定的最小支援度是2):
掃瞄序列資料庫s,產生長度為1的序列模式有:: 4,:4, : 4, : 3, : 3, : 3
序列模式的全集必然可以分為分別以,,,,和為字首的序列模式的集合,
構造不同字首所對應的投影資料庫,結果如下頁圖所示:
2、分別以和為字首的序列進行分析說明 :
pre
sequence
12:pre
sequence
12:pre
sequence12
可以得出字首是f的序列模式為 :
pre
sequence12
34對於a的對映資料庫進行查詢區域性頻繁項(長度為一),可以得出: 2,: 4, : 4,: 2, : 2, < _b> : 2 (
要注意,第一項中的ab和_b是表示同樣的元素)
(對於組合項的字尾提取,可以分為2個情況,1個是從_x中尋找,乙個從後面找出連續的項集) :
pre
sequence12
3對於的對映資料庫進行查詢區域性頻繁項,可以得出 : 2, : 2, : 2 :
pre
sequence12
:pre
sequence1:
pre
sequence12
:pre
sequence12
對於的對映資料庫進行查詢區域性頻繁項,可以得出: 2, : 2, : 2
:pre
sequence12
到此以和為字首的序列模式全部找出
以下是支援度為2的所有結果
PrefixSpan演算法原理總結
前面我們講到頻繁項集挖掘的關聯演算法apriori和fp tree。這兩個演算法都是挖掘頻繁項集的。而今天我們要介紹的prefixspan演算法也是關聯演算法,但是它是挖掘頻繁序列模式的,因此要解決的問題目標稍有不同。首先我們看看項集資料和序列資料有什麼不同,如下圖所示。左邊的資料集就是項集資料,在...
PrefixSpan演算法原理總結
原文 前面我們講到頻繁項集挖掘的關聯演算法apriori和fp tree。這兩個演算法都是挖掘頻繁項集的。而今天我們要介紹的prefixspan演算法也是關聯演算法,但是它是挖掘頻繁序列模式的,因此要解決的問題目標稍有不同。首先我們看看項集資料和序列資料有什麼不同,如下圖所示。左邊的資料集就是項集資...
序列模式PrefixSpan演算法
與gsp一樣,prefixspan演算法也是序列模式分析演算法的一種,不過與gsp演算法不同的是prefixspan演算法不產生任何的侯選集,在這點上可以說已經比gsp好很多了。prefixspan演算法可以挖掘出滿足閾值的所有序列模式,可以說是非常經典的演算法。prefixspan演算法的全稱是p...