R語言Apriori關(guān)聯(lián)規(guī)則、kmeans聚類、決策樹挖掘研究京東商城網(wǎng)絡(luò)購物用戶行為數(shù)據(jù)可視
全文鏈接:http://tecdat.cn/?p=30360
原文出處:拓端數(shù)據(jù)部落公眾號
隨著網(wǎng)絡(luò)的迅速發(fā)展,依托于網(wǎng)絡(luò)的購物作為一種新型的消費方式,在全國乃至全球范圍內(nèi)飛速發(fā)展。電子商務(wù)成為越來越多消費者購物的重要途徑。我們被客戶要求撰寫關(guān)于網(wǎng)絡(luò)購物行為的研究報告。
項目計劃使用數(shù)據(jù)挖掘的方法,以京東商城網(wǎng)購用戶的網(wǎng)絡(luò)購物數(shù)據(jù)為基礎(chǔ),對網(wǎng)絡(luò)購物行為的三個要素:行為過程、行為結(jié)果、行為主體進(jìn)行分析。
(1)使用關(guān)聯(lián)規(guī)則分析方法分析網(wǎng)絡(luò)購物用戶的行為過程,分別探析信譽度、搜索排名對網(wǎng)購用戶購買決策的影響程度;
(2)使用聚類分析方法,對網(wǎng)購用戶的行為結(jié)果進(jìn)行討論,發(fā)現(xiàn)不同網(wǎng)購群體的網(wǎng)購習(xí)慣和特征;
(3)使用分類/預(yù)測分析方法,對網(wǎng)購行為主體進(jìn)行研究。本項目還將引用其它研究的數(shù)據(jù)及觀點對本數(shù)據(jù)分析所得結(jié)論進(jìn)行比較驗證。
本項目的結(jié)論為以京東商城為代表的網(wǎng)購平臺運營商、商家提供網(wǎng)站管理、網(wǎng)店運營方面的參考,為商家制定網(wǎng)絡(luò)營銷策略提供決策支持。
關(guān)聯(lián)規(guī)則挖掘
? data1[,i]=as.factor(data1[,i])##將每個變量轉(zhuǎn)成因子形式}
inspect(frequentsets[1:10])#查看頻繁項集

?從上面的表 可以看到部分頻繁出現(xiàn)的一些選項規(guī)則,抽取的10個頻繁項集的支持度在0.3左右。
然后查看支持度最高的前10個規(guī)則

可以看到支持度最高的前十個選項集合(稱為頻繁項集)的支持度在0.9左右,因此在下面使用apriori模型對數(shù)據(jù)進(jìn)行分析時,選取最小支持度為0.9左右,以便發(fā)現(xiàn)合適數(shù)量的規(guī)則。
set of 47 rules
?
rule length distribution (lhs + rhs):sizes
?1? 2? 311 24 12?
?? Min. 1st Qu.? Median??? Mean 3rd Qu.??? Max.
? 1.000?? 2.000?? 2.000?? 2.021?? 2.500?? 3.000?
summary of quality measures:
??? support???????? confidence????????? lift??????
?Min.?? :0.9000?? Min.?? :0.9000?? Min.?? :0.9977?
?1st Qu.:0.9050?? 1st Qu.:0.9400?? 1st Qu.:1.0000?
?Median :0.9150?? Median :0.9585?? Median :1.0043?
?Mean?? :0.9191?? Mean?? :0.9572?? Mean?? :1.0043?
?3rd Qu.:0.9300?? 3rd Qu.:0.9846?? 3rd Qu.:1.0083?
?Max.?? :0.9850?? Max.?? :0.9945?? Max.?? :1.0141?
?
mining info:
? data ntransactions support confidence
?trans?????????? 200???? 0.9??????? 0.3
?
?
我們得到規(guī)則的概述,可以看到他們的支持度在0.9到0.98之間,置信度也非常高,說明這些規(guī)則具有較高的的可預(yù)測度(Predictability)。因此從這些規(guī)則可以得到比較可靠的推斷結(jié)論。置信度太低的規(guī)則在實際應(yīng)用中也不會有多大用處。

從規(guī)則中剔除掉其他選項的規(guī)則后,我們得到以上的規(guī)則,從以上規(guī)則,我們可以看出網(wǎng)購用戶大多通過論壇或者社區(qū)的彈窗信息進(jìn)入網(wǎng)購的頁面,他們在論壇中看到了某些用戶的評論,并且通過彈窗信息進(jìn)入購買,而他們選擇網(wǎng)購的原因也是因為評論真實性,看到了其他網(wǎng)購的用戶經(jīng)驗從而影響他們的購買決策。
對規(guī)則進(jìn)行可視化
plot(rules, method="grouped")

上圖表示支持度和置信度的二維散點圖,從上圖來看,規(guī)則的置信度和支持度較高,大部分規(guī)則位于左上方,說明規(guī)則大多有較高的置信度,具有較好的可信性。

上圖表示規(guī)則前項和規(guī)則后項的聯(lián)系,圖中的點越大表示規(guī)則的支持度越高,可以看到規(guī)則中社區(qū)論壇進(jìn)入購買頁面和選擇網(wǎng)購原因是評論真實之間有較高的支持度。

上圖是一個規(guī)則的網(wǎng)絡(luò)圖表示,箭頭表示規(guī)則之間的遞推關(guān)系。從上圖我們也可以直觀地看到我們得到的規(guī)則。
d=dist(data2)#對數(shù)據(jù)的樣本求歐幾里得距離?hmod=hclust(d)#使用歐幾里得距離對樣本進(jìn)行層次聚類


從樹狀圖的結(jié)果來看,使用高度為60左右對樹狀圖進(jìn)行橫截,所有樣本大致可以分成4類。
cent <- rbind(cent, colMeans(data2[memb == k, , drop = FALSE]))#篩選出第4層次以上的樣本}
hc1 <- hclust(dist(cent)^2, method = "cen", members = table(memb))#重新對新樣本進(jìn)行層次聚類opar <- par(mfrow = c(1, 2))

上圖是對樹重新進(jìn)行層次聚類的結(jié)果與原來樹的對比,從左邊 我們可以i看到,樹具有4個分支,因此可以認(rèn)為樣本大致可以聚成4類。
kmeans聚類
fitted(kc);? #查看具體聚類情況??#聚類結(jié)果可視化??plot(data2[,c(1:20)], col = kc$cluster);? #不同的顏色代表不同的聚類結(jié)果。

上圖表示不同問題選項之間樣本的聚類情況,不同的顏色代表不同的樣本,可以看到不同顏色的類別分別聚到了不同的類中,因此類別之間的區(qū)分效果良好。
可以看到紅色類用戶的Q2,Q7,Q11得分較高Q4得分較低,Q21得分較高,藍(lán)色用戶Q10Q23的得分較高,黑色用戶的得分分布比較普遍,在每個問題中不同選項均有分布。綠色用戶Q2,Q19得分較低,Q10的得分較高。
可以看到紅色用戶大多是年齡較大,4線城市的用戶,接觸網(wǎng)購不多,因此也不會使用手機電腦網(wǎng)絡(luò)等方式進(jìn)入網(wǎng)購頁面。藍(lán)色用戶代表接觸網(wǎng)購時間較長的用戶,他們進(jìn)入網(wǎng)絡(luò)頁面的方式大多是搜索引擎,他們大多熟悉網(wǎng)購操作,對自己需要的商品也比較熟悉,然而一般對網(wǎng)購不進(jìn)行評論,除非對商品非常滿意。綠色是年齡較小的用戶,但是他們接觸網(wǎng)絡(luò)的時間也較長,大多是青少年,因此接觸新興事物的興趣較大,因此他們的網(wǎng)購花費較低,但是網(wǎng)購的頻率較高。
決策樹
將Q30_總體而言,您對網(wǎng)購是否滿意?的答案作為網(wǎng)購用戶分類的分類目標(biāo)屬性,使用其他屬性作為分類屬性,對數(shù)據(jù)進(jìn)行分類
draw.tree(CARTmodel)
## 交叉驗證的估計誤差(“xerror”列),以及標(biāo)準(zhǔn)誤差(“xstd”列),平均相對誤差=xerror±xstd?printcp(CARTmodel)

> CARTmodel$cptable[which.min(CARTmodel$cptable[,"xerror"]),"CP"]
[1] 0.04938272
根據(jù)最小誤差的最小變異系數(shù)來對樹進(jìn)行剪枝。

得到剪枝后的決策樹。
從決策樹圖來看 ,我們可以發(fā)現(xiàn)問題的選項作為決策樹的分支,分別將年齡,網(wǎng)購歷史,網(wǎng)站購物主要看重的因素,喜歡的促銷方式和網(wǎng)購花費作為決策條件,將樣本分成了8個類別。
并使用決策樹進(jìn)行對樣本的預(yù)測。
> table(pre,data2$Q30)#混淆矩陣??
pre? 3? 4? 5? 6
? 3 20? 9? 2? 0
? 4? 9 74? 9? 1
? 5? 6 13 34? 0
? 6? 0? 0? 0? 0
從混淆矩陣的結(jié)果來看,對4個類別的預(yù)測效果較好,說明模型的擬合效果良好。

最受歡迎的見解
1.PYTHON用戶流失數(shù)據(jù)挖掘:建立邏輯回歸、XGBOOST、隨機森林、決策樹、支持向量機、樸素貝葉斯模型和KMEANS聚類用戶畫像
2.R語言基于樹的方法:決策樹,隨機森林
3.python中使用scikit-learn和pandas決策樹
4.機器學(xué)習(xí):在SAS中運行隨機森林?jǐn)?shù)據(jù)分析報告
5.R語言用隨機森林和文本挖掘提高航空公司客戶滿意度
6.機器學(xué)習(xí)助推快時尚精準(zhǔn)銷售時間序列
7.用機器學(xué)習(xí)識別不斷變化的股市狀況——隱馬爾可夫模型的應(yīng)用
8.python機器學(xué)習(xí):推薦系統(tǒng)實現(xiàn)(以矩陣分解來協(xié)同過濾)
9.python中用pytorch機器學(xué)習(xí)分類預(yù)測銀行客戶流失