熱線電話:13121318867

登錄
首頁精彩閱讀R語言:關聯規則+時間因素=序貫關聯規則
R語言:關聯規則+時間因素=序貫關聯規則
2017-05-19
收藏

R語言關聯規則+時間因素=序貫關聯規則

序貫模型=關聯規則+時間因素。
今天下午基本上把通過arulesSequences來進行序列模式挖掘搞明白了,晚上又把arulesSequences中最重要的函數cspade查看了一下。Mark一下。

還是先簡單寫一個模式挖掘的例子。
1、數據準備
假設數據存放在E盤下的test.txt,而且E盤中的數據為:
1 10 2 C D A F H E
1 15 3 A B C E A F
1 20 3 A B F D C F
1 25 4 A C D F D D
2 15 3 A B F
2 20 1 E
3 10 3 B F
4 10 3 D G H
4 20 2 B F
4 25 3 A G H F
4 30 12 A H H H A F F F A G G G
數據比zaki稍微復雜一些,不過只是多添加了一些個別內容。
2、建模
[html] view plain copy
print?
    >x=read_baskets(con="E:/zaki.txt",info=c("sequenceID","eventID","SIZE"))  
    >s1 <- cspade(x, parameter = list(support = 0.6,maxlen=3), control = list(verbose = TRUE))  
    >as(s1,"data.frame") 
主要就這么三步,就完成了序列模式挖掘?,F在需要看一下核心的函數cspade()。
3、cspade函數解釋
根據文檔,cspade函數結構如下:
[html] view plain copy
print?
    cspade(data, parameter = NULL, control = NULL, tmpdir = tempdir()) 
其實,參數data沒啥可說的,就導入transactions類型的數據就可以了。
parameter是設定各種參數,這個還需要認真了解一下。
parameter中,可選的參數有如下幾個:
support:0-1之間的一個數值,代表得到的高頻序列的最小支持度。
        支持度其實是這樣計算的:看上面的data中有4個序列,比如我們要計算{A}的支持度,則直接看{A}在4個序列中出現過幾次,用次數再除以4就得到了支持度。至于一次訂單中出現多少次A,則對序列挖掘是沒啥影響的。
maxsize:一個整數值,代表在尋找高頻序列的過程中,任意一個序列里面的每一個元素的最多能有幾個項。
        舉個例子, <{D,H},{B,F},{A}> 是我們通過序列挖掘得到的一個序列s,那么序列s包含3個元素element,其中第一個元素又包含2個項item。通過設定maxsize,可以在序列挖掘中設定1對1或多對1的不同挖掘方式。
maxlen:一個整數值,代表挖掘的序列最大可以是多長,也即一個序列最多可以有幾個元素。
        比如,如果s1 <- cspade(x, parameter = list(support = 0.6,maxlen=2), control = list(verbose = TRUE))  ,那么最終得到的序列可能為: <{D,H},{B}><{A,F,H},{A,F}>
  因此,通過maxlen參數可以去挖掘較短的序列。
mingap:一個整數值,確定兩個連續的訂單之間的最小時間差值,默認為none。
maxgap:一個整數值,確定兩個連續的訂單之間的最大時間差值,默認為none。
maxwin:一個整數值,確定一個序列中任意兩個訂單之間的最大時間差值,默認為none。
control其實是對內存了什么的控制,一般用不到,第四個也是用不到。因此,cspade函數主要就parameter的設定。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢