用關(guān)聯(lián)規(guī)則來分析移動(dòng)端用戶行為數(shù)據(jù)(R語言)

曾經(jīng)在Airbnb的博客上看到一篇關(guān)于建立信任的文章(外網(wǎng)需翻墻)含懊,當(dāng)時(shí)留意到里面描述如何運(yùn)用數(shù)據(jù)來支持設(shè)計(jì)的部分俊犯。其中一個(gè)點(diǎn)是關(guān)于對(duì)房東個(gè)人主頁(yè)的加強(qiáng)汉额,因?yàn)樗麄儚臄?shù)據(jù)上看到那些成功下單的用戶,有一半的人都去過房東個(gè)人主頁(yè),這其中68%的訪問是在下單前去的丰榴,而且他們還發(fā)現(xiàn)新用戶在下單去訪問房東個(gè)人主頁(yè)的可能性比老用戶高出了20%。他們逐漸發(fā)現(xiàn)該頁(yè)面的重要性秆撮,所以進(jìn)行了相應(yīng)的改進(jìn)(比如房東必須上傳真實(shí)頭像)四濒,這樣能加強(qiáng)房客對(duì)房東的了解,從而增進(jìn)信任职辨。雖然這部分?jǐn)⑹龅梅浅:?jiǎn)單盗蟆,但是可以想象,在這些數(shù)據(jù)的支持下舒裤,產(chǎn)品團(tuán)隊(duì)能夠找到方向去改進(jìn)喳资,那就是房東個(gè)人主頁(yè),至于如何改進(jìn)惭每,輔以一些定性的研究,就知道該如何提升該頁(yè)面宏赘。

身為用研峻汉,當(dāng)時(shí)看完這部分時(shí)扳埂,就想找機(jī)會(huì)試下怎樣能得到這樣的數(shù)據(jù)。剛好最近在網(wǎng)上和書上看到用關(guān)聯(lián)規(guī)則來挖掘數(shù)據(jù)的文章和這個(gè)場(chǎng)景比較類似,所以我就試著提取了一些用戶的瀏覽數(shù)據(jù)來嘗試号枕。

其實(shí)關(guān)聯(lián)規(guī)則在R語言里面的實(shí)現(xiàn)很簡(jiǎn)單蛙紫,網(wǎng)上也有很多實(shí)例,不過我在處理原始數(shù)據(jù)方面還是花了不少精力。這次是希望多從業(yè)務(wù)角度去嘗試運(yùn)用關(guān)聯(lián)規(guī)則挖掘后的結(jié)果浆西,而不僅局限于能得到一些規(guī)則夭咬。我會(huì)盡量把與關(guān)聯(lián)規(guī)則相關(guān)的語句使用說明講清楚(也幫助我自己更好理解原理)训枢,但是不會(huì)過多停留在R語言的技巧使用上虾宇。本文面向的是已經(jīng)有過R語言編程經(jīng)歷的童鞋,所以基本的東西(比如數(shù)據(jù)類型等)我就不贅述了嘱朽。

我這次要分析的數(shù)據(jù)表頭中主要的維度如下:

用戶id 訪問頁(yè)面名稱

我提取的是發(fā)生首次投資的用戶當(dāng)天瀏覽的所有頁(yè)面(按時(shí)間順序排列)旭贬,不過我這次用的關(guān)聯(lián)規(guī)則是無序分析,所以其實(shí)頁(yè)面的瀏覽次數(shù)在這里沒有什么作用搪泳。

關(guān)聯(lián)規(guī)則簡(jiǎn)述

關(guān)于關(guān)聯(lián)規(guī)則稀轨,有很多其他的文章都講得很好,我就不細(xì)談了岸军,這邊列一些寫得比較易懂的references奋刽。
數(shù)據(jù)挖掘系列(1)關(guān)聯(lián)規(guī)則挖掘基本概念與Aprior算法
小白學(xué)數(shù)據(jù)分析之關(guān)聯(lián)分析理論篇

關(guān)聯(lián)規(guī)則的算法有很多種,比如Apriori艰赞、FP-Growth算法等佣谐,我作為用研雖然并不關(guān)心具體這個(gè)規(guī)則如何實(shí)現(xiàn),為了加深印象我還是把規(guī)則生成過程還是惡補(bǔ)了一下猖毫。在R語言里面有個(gè)包是arules台谍,里面的apriori函數(shù)就是實(shí)現(xiàn)了Apriori算法,只要按照它的格式把數(shù)據(jù)整好就可以輸出結(jié)果了吁断。

有幾個(gè)概念這里要講一下趁蕊,因?yàn)榇龝?huì)的分析會(huì)用上。

  • 支持度 support:x的支持度就是x在所有訂單里面出現(xiàn)的頻率仔役。
  • 置信度confidence:x→y規(guī)則的置信度就是含x的所有訂單里出現(xiàn)y的頻率掷伙。
  • 提升度lift:support(X\Y)/support(X)support(Y),即x又兵、y一起出現(xiàn)的概率與他們單獨(dú)出現(xiàn)的概率之比任柜,主要是看倆事件的獨(dú)立性;如果>1則說明有一些相關(guān)性沛厨,不過通常大于3的話認(rèn)為這條規(guī)則比較有意義宙地。

R語言中的關(guān)聯(lián)規(guī)則挖掘

首先,將數(shù)據(jù)集準(zhǔn)備好逆皮,就像本文一開始提到的格式就好宅粥。然后安裝并加載所需要的包arules。

#加載arules包
library(arules)

這里需要引入事務(wù)型數(shù)據(jù)類型transactions电谣,這是專門用于挖掘項(xiàng)集和規(guī)則的類型秽梅。需要用as函數(shù)轉(zhuǎn)換成transactions抹蚀,可以轉(zhuǎn)換的類型有l(wèi)ist、matrix和data frame企垦。雖然我們的數(shù)據(jù)一般都是data frame格式的环壤,但是在這種情況下最好是把需要的轉(zhuǎn)換成list格式。因?yàn)閠ransaction里面規(guī)定是如果從data frame格式轉(zhuǎn)換過來的話钞诡,要求每一行就是一個(gè)transaction郑现,所有列的類型只能是factor類或binary類,如果是binary臭增,則標(biāo)記T的時(shí)候表示該transaction含這個(gè)item懂酱,并以該變量的名稱的形式出現(xiàn)(比如下表中的pass)竹习;如果是factor類誊抛,則直接使用對(duì)應(yīng)的level就行(如下表中的age和grade)。比如下面這個(gè)系統(tǒng)自帶的例子(transactionID是自動(dòng)生成的)整陌。

data frame

age grade pass
6 A TRUE
8 C TRUE
16 F FALSE
6 A TRUE

轉(zhuǎn)變成 transaction 后

items transactionID
{age=6, grade=A, pass} 1
{age=8, grade=C, pass} 2
{grade=F} 3
{age=16, grade=A, pass} 4

回到我們這個(gè)場(chǎng)景,也就是說我們可以不用在表中含用戶id泌辫,只需要把所有的頁(yè)面名稱變成每一列的變量名,然后如果該用戶訪問過該頁(yè)面震放,則標(biāo)記為T,否則為F殿遂。這需要我們把原始數(shù)據(jù)進(jìn)行一個(gè)大的轉(zhuǎn)換才能達(dá)到這種要求(可以用cast相關(guān)函數(shù)達(dá)到這個(gè)效果),如果是用用戶所有的原始瀏覽數(shù)據(jù)來做的話墨礁,不建議用這個(gè)方式,因?yàn)橥ǔI婕暗捻?yè)面數(shù)會(huì)很多焕毫,而且這樣的表格過于龐大而且大部分值可能是0,浪費(fèi)內(nèi)存邑飒,除非是以稀疏矩陣的格式存儲(chǔ)的。

網(wǎng)上一般用的案例都是變成list再轉(zhuǎn)換的疙咸,也更適合我自己已有的數(shù)據(jù)格式唇牧。我這邊的數(shù)據(jù)是下面這樣的聚唐,每行是某用戶單次訪問的某頁(yè)面,然后順序下去相同ID的就說明這是該用戶順序?yàn)g覽的頁(yè)面腔召。

用戶id 訪問頁(yè)面名稱
0244397D-467A-40B2-XXXX 充值
0244397D-467A-40B2-XXXX 充值成功
0244397D-467A-40B2-XXXX 定期詳情頁(yè)
... ...

在這里要用到split函數(shù)(split函數(shù)返回的就是一個(gè)list)杆查。這個(gè)list是以用戶id來分組,然后每個(gè)分組里面包含了該用戶訪問的所有頁(yè)面臀蛛。由于我提取的是原始數(shù)據(jù)亲桦,1個(gè)用戶可能重復(fù)訪問一些頁(yè)面,所以有些分組里同樣的頁(yè)面多次出現(xiàn)浊仆,不過這個(gè)沒有關(guān)系客峭,等轉(zhuǎn)變成transaction格式的時(shí)候頁(yè)面都是唯一的。之后用as函數(shù)把該list轉(zhuǎn)換成transaction類型抡柿。

#生成事務(wù)型數(shù)據(jù)舔琅,后者相當(dāng)于是transactionID,前者相當(dāng)于是商品list
data_trans<-as(split(data1$頁(yè)面名稱, data1$用戶id), "transactions") 
#可以看下生成的結(jié)果總覽
summary(data_trans) 
#可以預(yù)覽前10行生成的交易數(shù)據(jù)
inspect(data_trans[1:10])

我的數(shù)據(jù)最后形成的transaction示例如下(隱去部分信息)洲劣。

items transactionID
{充值,充值成功,定期詳情-產(chǎn)品詳情頁(yè),定期詳情頁(yè),定期購(gòu)買頁(yè),我的-定期,我的余額,我的賬戶,投資成功,新手專場(chǎng),活動(dòng)頁(yè),理財(cái)投資頁(yè)} 010C7271-D7A0-XXXX

生成了transaction類型的數(shù)據(jù)之后备蚓,開始用apriori函數(shù)來生成關(guān)聯(lián)規(guī)則。首先看一下apriori函數(shù)里的參數(shù)設(shè)置囱稽,apriori(data, parameter = NULL, appearance = NULL, control= NULL)郊尝。

  • data就是之前建好的transaction數(shù)據(jù)
  • parameter是一個(gè)list,常設(shè)置的是4個(gè)參數(shù):supp(支持度)和conf(置信度)在apriori里面默認(rèn)是0.1和0.8战惊,我自己設(shè)置的是0.1和0.3流昏,默認(rèn)的稍微嚴(yán)格了些,之前用書上的支持度0.01發(fā)現(xiàn)挖掘出來的規(guī)則太多了吞获,所以自己調(diào)整了一下况凉,通常網(wǎng)頁(yè)訪問這種數(shù)據(jù)還是設(shè)置高一些比較好,這樣挖掘出來的規(guī)則才比較有意義衫哥,調(diào)整后試著看下產(chǎn)生的規(guī)則數(shù)量和使用的元素?cái)?shù)量茎刚,不要太少或太多即可;target(挖掘目標(biāo))在apriori函數(shù)下只能用"rules"撤逢;maxlen(項(xiàng)集內(nèi)的最多項(xiàng)數(shù))默認(rèn)是10膛锭,我自己設(shè)置的是2,因?yàn)槲谊P(guān)心的是一個(gè)頁(yè)面對(duì)另一個(gè)頁(yè)面的貢獻(xiàn)值初狰,所以規(guī)則(X->Y)里面X只要1個(gè)頁(yè)面就好奢入。
  • appearance是用來指定lhs和rhs為你比較關(guān)注的幾個(gè)項(xiàng)腥光,比如你只關(guān)心某些具體頁(yè)面的時(shí)候可以設(shè)置。我這里還是默認(rèn)生成全部的規(guī)則议双。
  • control是用來控制算法處理過程的平痰,比如免去處理過程報(bào)告宗雇、對(duì)項(xiàng)集排序什么的赔蒲。這次我也沒有特別設(shè)置嘹履。
#生成關(guān)聯(lián)規(guī)則
data_rules<- apriori(data_trans, parameter = list(supp=0.1, conf=0.3, target="rules", maxlen=2)) 
#如果想要先預(yù)覽一下生成的規(guī)則,用inspect函數(shù)
inspect(data_rules)
#按照提升度由高到低來排序規(guī)則
rules.sorted <- sort(data_rules, by="lift")

在R里面生成的規(guī)則前幾個(gè)如下幼苛,已經(jīng)按lift排序舶沿。

lhs rhs support confidence lift
{綁定銀行卡} => {綁卡成功} 0.1544715 0.9047619 4.7355623
{綁卡成功} => {綁定銀行卡} 0.1544715 0.8085106 4.7355623
{注冊(cè)} => {登錄} 0.1219512 0.9090909 3.6363636
{登錄} => {注冊(cè)} 0.1219512 0.4878049 3.6363636
{理財(cái)投資頁(yè)} => {新手專場(chǎng)} 0.2540650 0.6793478 2.4045981
{新手專場(chǎng)} => {理財(cái)投資頁(yè)} 0.2540650 0.8992806 2.4045981

這里的support值是指這對(duì)規(guī)則出現(xiàn)的概率高镐,所以即使lhs和rhs互換support值都是一樣的嫉髓。成對(duì)的規(guī)則里算行,可以通過confidence值推測(cè)頁(yè)面間的關(guān)聯(lián)州邢,比如有瀏覽注冊(cè)的都去登錄了量淌,但是登錄的只有一部分去注冊(cè),說明這批首投的用戶里面是有些之前就注冊(cè)了的(這里只是舉例子說明解釋數(shù)據(jù)叙身,這個(gè)結(jié)論也可以通過用戶注冊(cè)信息來得出)信轿。

如果你不是像我一樣設(shè)置的maxlen=2残吩,而是想要看多個(gè)頁(yè)面與某頁(yè)面的關(guān)聯(lián)程度泣侮,可以允許lhs有更多項(xiàng)活尊,不過我自己的經(jīng)驗(yàn)是有多項(xiàng)的話蛹锰,經(jīng)常出現(xiàn)在一起的都是流程中連續(xù)經(jīng)過的幾個(gè)頁(yè)面铜犬,沒有更多有價(jià)值的信息,所以我還是設(shè)置成2了敛劝。不過不管設(shè)置成多少夸盟,你都可能會(huì)需要?jiǎng)h除其中的冗余規(guī)則上陕。

冗余規(guī)則:如果一個(gè)更具體的規(guī)則的置信度比其更一般的規(guī)則更低唆垃,則為冗余規(guī)則痘儡;換句話說,更一般的規(guī)則能概括關(guān)系的話醉途,子集如果并沒有比更一般的規(guī)則表現(xiàn)更好隘擎,就沒有必要留下來货葬。下面的表達(dá)式中的 X' 就是冗余規(guī)則震桶。

arules包中有去除冗余規(guī)則的函數(shù)蹲姐,這是我在外網(wǎng)上找到的方式柴墩。這里有個(gè)小細(xì)節(jié)江咳,由于挖掘的規(guī)則里面都會(huì)有l(wèi)hs為空的情況(因?yàn)槲覜]設(shè)置minlen)扎阶,即rhs單獨(dú)出現(xiàn)(下表),如果相同的rhs時(shí)lhs不為空着饥,confidence值還更小的話就會(huì)被認(rèn)定為冗余規(guī)則宰掉。

lhs rhs support confidence lift
{} => {充值成功} 0.670732 0.670732 1

函數(shù)如下:

rm_redundant <- a.rules[!is.redundant(a.rules)]

我之前也有看到下面這個(gè)去除冗余規(guī)則的方式轨奄,國(guó)內(nèi)的各種文章都是用的這種:

#生成一個(gè)所有規(guī)則的子集矩陣,行和列分別是每條rule挪拟,其中的值是TRUE和FALSE,當(dāng)rules2是rules1的子集時(shí)丁侄,rules2在rules1的值為TRUE
subset.rules <- is.subset(a.rules,a.rules)
#將矩陣對(duì)角線以下的元素置為空鸿摇,只保留上三角
subset.rules[lower.tri(a.rules, diag=T)] <- NA 
#R會(huì)將矩陣中的TRUE當(dāng)做1劈猿,統(tǒng)計(jì)每列的和(忽略缺失值)揪荣,如果該列的和大于等于1变逃,也就是表示該列(規(guī)則)是別的規(guī)則的子集揽乱,應(yīng)該刪除凰棉。
redundant <- colSums(subset.rules, na.rm=T) >=1 
#去除冗余規(guī)則
rules.pruned <- a.rules[!redundant]

不過我嘗試了這2種方式之后發(fā)現(xiàn)結(jié)果不一樣撒犀。

我推薦使用第1種方式或舞,因?yàn)楫吘惯@是現(xiàn)成的函數(shù)映凳,操作簡(jiǎn)單,而且去除規(guī)則也是根據(jù)是子集且confidence值更小所以去除仆救。第2種方式相當(dāng)于是自己編1個(gè)函數(shù)彤蔽,最主要是因?yàn)榈谝徊缴傻淖蛹痬atrix時(shí)非常大顿痪,效率不太高,而且把lhs和rhs混在一起作為子集這個(gè)方式我也不太確定是否合適丑蛤,最后生成的結(jié)果也有點(diǎn)奇怪(不知道是不是我自己的原因)受裹,所以我也沒有在用這種方式棉饶。

分析規(guī)則

我之后沒有在R里面繼續(xù)做接下來的頁(yè)面篩選分析照藻,而是把數(shù)據(jù)導(dǎo)出到Excel了幸缕,因?yàn)檫@樣選頁(yè)面還是快一些发乔。

我自己在分析的時(shí)候栏尚,主要思路是想看投資成功的用戶到底主要瀏覽了哪些頁(yè)面只恨,以及非臨近的頁(yè)面之間是否存在特殊關(guān)聯(lián)官觅。下圖是選擇lhs為空之后的表格休涤,相當(dāng)于是rhs單獨(dú)出現(xiàn)的概率(所以lift都為1)滑绒。這幾個(gè)頁(yè)面是有至少30%的用戶(因?yàn)橹С侄仍O(shè)置的0.3)訪問的瀏覽量較高的幾個(gè)頁(yè)面疑故∽菔疲可以看到詳情頁(yè)钦铁、購(gòu)買頁(yè)和投資成功頁(yè)大概是0.8的支持度,其實(shí)如果數(shù)據(jù)不存在丟失的話這里應(yīng)該是100%佛点,因?yàn)槭怯脩敉顿Y的必經(jīng)頁(yè)面超营。


lhs為空的情況

這里就舉一個(gè)例子演闭,比如我想看「新手專場(chǎng)」頁(yè)面是否對(duì)于用戶首投有促進(jìn)作用米碰。首先我在lhs為空的列表里吕座,并沒有在rhs里面看到「新手專場(chǎng)」工猜,所以rhs里有「新手專場(chǎng)」的時(shí)候篷帅,lhs都不為空魏身,所以有2個(gè)可能的假設(shè):

  • 「新手專場(chǎng)」的support小于0.1,所以未滿足規(guī)則條件而沒出現(xiàn)
  • 其他頁(yè)面->新手專場(chǎng)税朴,作為子集的confidence值比lhs為空的更高正林,說明用戶瀏覽其他頁(yè)面的同時(shí)有瀏覽「新手專場(chǎng)」的概率比「新手專場(chǎng)」單獨(dú)出現(xiàn)要高

基于第一個(gè)假設(shè)觅廓,我通過其他方式查看首投用戶中有瀏覽「新手專場(chǎng)」的比例為32.4%杈绸,是遠(yuǎn)高于0.1的,所以第一個(gè)假設(shè)可以排除塑娇。

那么就說明新手專場(chǎng)更可能和其他頁(yè)面一起出現(xiàn)埋酬。那會(huì)是「投資成功」嗎奇瘦?

下面的表格耳标,第一行表示的是投資成功的用戶中有32.9%的用戶瀏覽了新手專場(chǎng)邑跪,第二行表示的是瀏覽了「新手專場(chǎng)」的用戶中画畅,93.5%的用戶都投資了轴踱。第二個(gè)數(shù)據(jù)看起來好像有很大的促進(jìn)作用淫僻。但是后來我也有對(duì)比購(gòu)買了新手產(chǎn)品和未購(gòu)買新手產(chǎn)品的用戶瀏覽「新手專場(chǎng)」頁(yè)面比例雳灵,發(fā)現(xiàn)差異也不是很大悯辙,所以即使有促進(jìn)作用也比較微小,畢竟數(shù)據(jù)顯示還是有將近70%的首投用戶是沒有瀏覽過「新手專場(chǎng)」的针贬,所以要多方驗(yàn)證得出結(jié)論坚踩。關(guān)于這個(gè)促進(jìn)作用的研究瞬铸,如果有未產(chǎn)生投資的用戶數(shù)據(jù)來進(jìn)行對(duì)比更好础锐,比如如果未投資的用戶都基本上沒有瀏覽過「新手專場(chǎng)」的話皆警,有可能說明新手專場(chǎng)還是有效的。如果這個(gè)頁(yè)面效果確實(shí)不夠好鸵隧,而且我們其實(shí)想主推這個(gè)頁(yè)面的話,那說明現(xiàn)在這個(gè)頁(yè)面對(duì)用戶的吸引程度不夠菊值,需要在頁(yè)面中更加強(qiáng)調(diào)腻窒。

lhs rhs support confidence lift
{投資成功} => {新手專場(chǎng)} 0.245935 0.329949 1.1678779
{新手專場(chǎng)} => {投資成功} 0.264228 0.935252 1.087025

這次挖掘的關(guān)聯(lián)規(guī)則是無序的瓦哎,所以雖然有些規(guī)則支持度高柔逼,但是不知道頁(yè)面的前后瀏覽順序羡铲,所以也不好保證是一個(gè)頁(yè)面對(duì)另一個(gè)頁(yè)面有促進(jìn)作用儡毕,就像剛剛的例子里面腰湾,除非這些「新手專場(chǎng)」都是「投資成功」前瀏覽的才說明有意義倒槐,不過這個(gè)我就不細(xì)究了讨越。R語言里面可以使用帶時(shí)間順序的cspade函數(shù)來實(shí)現(xiàn)有序的關(guān)聯(lián)分析。

但是做有序行為分析的話需要對(duì)原始數(shù)據(jù)的精準(zhǔn)性要求很高人弓,如果拿到的原始數(shù)據(jù)缺失得比較多的話崔赌,對(duì)最后的結(jié)果會(huì)有很大影響健芭,也就不適合用了秀姐,所以我暫時(shí)還沒試過cspade吩翻。以后有機(jī)會(huì)再看狭瞎。不過我認(rèn)為cspade分析后的結(jié)果應(yīng)該會(huì)更適用用戶路徑分析熊锭。

總結(jié)

關(guān)聯(lián)規(guī)則是從購(gòu)物籃分析發(fā)展而來,而且比較適合稀疏型數(shù)據(jù)速缨,也就是說能夠包含很多的觀測(cè)(transaction)旬牲,但其實(shí)每個(gè)觀測(cè)到的信息(item)是極少的吭历,就好比一個(gè)商城能含的商品很多晌区,每天的用戶交易(transaction)也很多恼五,但是一個(gè)用戶能買的商品(item)是有限的银伟,所以才需要關(guān)聯(lián)規(guī)則來挖掘出那些頻繁被一起購(gòu)買的商品,從而為促銷所用琉预。

在購(gòu)物籃分析里圆米,我們對(duì)于商品的關(guān)系更為關(guān)注而不是某些具體的商品,而瀏覽網(wǎng)頁(yè)這個(gè)場(chǎng)景稍微有些不同,我們通常會(huì)比較關(guān)注用戶的什么瀏覽行為會(huì)促成一些目標(biāo)行為的產(chǎn)生,因此我們會(huì)有特別關(guān)心的頁(yè)面(如購(gòu)買成功頁(yè))析砸,然后看該用戶之前瀏覽的網(wǎng)頁(yè)有哪些或頻繁訪問爆袍,由于核心流程通常需要訪問的頁(yè)面是固定的蛮瞄,所以有些規(guī)則的置信度高是很正常的(就像「A頁(yè)面->A頁(yè)面的母頁(yè)面」這條規(guī)則是接近100%)谆扎。在分析數(shù)據(jù)的時(shí)候堂湖,也最好多方驗(yàn)證一下規(guī)則可能延伸出來的結(jié)論状土,以免數(shù)據(jù)誤讀伺糠。

另外的嘗試:這次我用的是完全原始的數(shù)據(jù),所以只能用list的方式來轉(zhuǎn)換transaction類型累驮,其實(shí)如果我們有特別關(guān)心的頁(yè)面舵揭,可以在數(shù)據(jù)準(zhǔn)備階段采用data frame的方式,然后用專門的變量來標(biāo)記不同組的用戶(或者用戶屬性)置侍,不同的頁(yè)面變?yōu)椴煌牧凶兞坷狗伲涂梢粤私獾接脩舻奶貏e屬性和一些頁(yè)面之間的關(guān)聯(lián)赎败,比如已投未投之間的對(duì)比灾梦,新老用戶之間的對(duì)比萧福,不同年齡之間的用戶對(duì)比等等悟民。

不過不管如何利用這些數(shù)據(jù)來分析用戶的行為及舍,終究最后數(shù)據(jù)給出的是一個(gè)大致的改進(jìn)方向攘残,也就是可能存在問題的部分姊途,具體解決方案需要多思考多試驗(yàn)秘蛇,甚至可能還需要額外的研究進(jìn)行補(bǔ)充艘策。

參考資料:
《R語言與網(wǎng)站分析》 李明 著
《R語言市場(chǎng)研究分析》 Chris Chapman等 著
R語言 | 關(guān)聯(lián)規(guī)則
R語言 關(guān)聯(lián)規(guī)則1---不考慮items之間的時(shí)序關(guān)系
stack overflow: Association rule in R - removing redundant rule (arules)
Find Redundant Rules

簡(jiǎn)書作者:janepi青扔,轉(zhuǎn)載請(qǐng)告知作者并注明出處励两。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市溺森,隨后出現(xiàn)的幾起案子卷要,更是在濱河造成了極大的恐慌倍权,老刑警劉巖默辨,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件难咕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門奕纫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剪决,你說我怎么就攤上這事览露。” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵拍鲤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我溯香,道長(zhǎng)肠骆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮癞揉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凤瘦。我一直安慰自己,他們只是感情好沐旨,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布拖吼。 她就那樣靜靜地躺著香璃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扣囊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天侄榴,我揣著相機(jī)與錄音醋旦,去河邊找鬼。 笑死摄狱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的玖像。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了然走?” 一聲冷哼從身側(cè)響起猾封,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤岳枷,失蹤者是張志新(化名)和其女友劉穎拴竹,沒想到半個(gè)月后座泳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吃型,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耻煤。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哈蝇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炮赦,到底是詐尸還是另有隱情吠勘,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布植锉,位于F島的核電站峭拘,受9級(jí)特大地震影響鸡挠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鞋囊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一瞎惫、第九天 我趴在偏房一處隱蔽的房頂上張望瓜喇。 院中可真熱鬧,春花似錦乘寒、人聲如沸伞辛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竿滨。三九已至,卻和暖如春毁葱,著一層夾襖步出監(jiān)牢的瞬間倾剿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留际度,地道東北人涵妥。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓蓬网,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親吵取。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锯厢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容