1. 程式人生 > >資料探勘中的模式發現(六)挖掘序列模式

資料探勘中的模式發現(六)挖掘序列模式

序列模式挖掘

序列模式挖掘(sequence pattern mining)是資料探勘的內容之一,指挖掘相對時間或其他模式出現頻率高的模式,典型的應用還是限於離散型的序列。。

其涉及在資料示例之間找到統計上相關的模式,其中資料值以序列被遞送。通常假設這些值是離散的,因此與時間序列挖掘是密切相關的,但時間通常被認為是不同的活動。序列模式挖掘是結構化資料探勘的一種特殊情況。

圖4

基礎概念

為了幫助大家理解,我這裡講序列是如何產生的稍微描述一下。

例如,一個事務資料庫,一個事務代表一筆交易,一個單項代表交易的商品,單項屬性中的數字記錄的是商品ID

圖1

一般為了方便處理,需要把資料庫轉化為序列資料庫。方法是把使用者ID相同的記錄合併,有時每個事務的發生時間可以忽略,僅保持事務間的偏序關係。

圖2

序列(Sequence)

通常以SID表示,一個序列即是一個完整的資訊流。每個序列由不同的元素按順序有序排列,每個元素由不同專案(或者也可以稱之為事件)組成,

讓我們將其符號化

例:一條序列<(10,20)30(40,60,70)>有3個元素,分別是(10,20),30,(40,60,70);

3個事務的發生時間是由前到後。其中專案10和專案20是同時發生的,所以處在同一個元素中。這條序列是一個6-序列。

子序列(Subsequence)

設序列α=<a1a2an>,序列β=<b1b2bm>aibi都是元素。如果存在整數序列J1j1<j2<

<jnm,使得a1bj1a2bj2anbjn,則稱序列α為序列β的子序列,又稱序列β包含序列α,記為αβ

支援度

序列α在序列資料庫S中的支援度為序列資料庫S中包含序列支援度的序列個數,記為Support(α)。

給定最小支援度閾值ξ,如果序列α在序列資料庫中的支援數不低於ξ,則稱序列α為序列模式。

長度為l的序列模式記為l-模式。

序列模式挖掘:找出所有的頻繁子序列,即該子序列在序列集中的出現頻率不低於最小支援度閾值。

例子:設序列資料庫如下圖所示,並設使用者指定的最小支援度min-support = 2。

圖3

序列<a(bc)df>

是序列<a(abc)(ac)d(cf)>的子序列。

序列<(ab)c>是長度為3的序列模式,<a(abc)(ac)d(cf)>中出現了2次,<(ad)c(bc)(ae)>出現了一次。