R語(yǔ)言關(guān)聯(lián)分析之啤酒和尿布-創(chuàng)新互聯(lián)

關(guān)聯(lián)分析

概述

啤酒和尿布的故事,我估計(jì)大家都聽過(guò),這是數(shù)據(jù)挖掘里面最經(jīng)典的案例之一。它分析的方法就關(guān)聯(lián)分析。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、寧波網(wǎng)站維護(hù)、網(wǎng)站推廣。

關(guān)聯(lián)分析,顧名思義,就是研究不同商品之前的關(guān)系。這里就發(fā)現(xiàn)了啤酒和尿布這兩個(gè)看起來(lái)毫不相關(guān)的東西直接存在的微妙關(guān)系。

最經(jīng)典的關(guān)聯(lián)分析算法之一就是Apriori算法,也是數(shù)據(jù)挖掘十大算法之一。在R中就有一個(gè)包可以做關(guān)聯(lián)分析——arules和arulesViz,前者用于關(guān)聯(lián)規(guī)則的數(shù)字化生成而后者是前者的擴(kuò)展包,它提供了幾種對(duì)關(guān)聯(lián)分析結(jié)果可視化技術(shù),從分析到可視化一站式完成。

在了解學(xué)習(xí)關(guān)聯(lián)分析之前,我們需要知道以下幾個(gè)名詞。

項(xiàng)集

英文名itemset,它是一個(gè)集合,舉個(gè)例子,一個(gè)商場(chǎng)的所有商品的就是一個(gè)集合,也是一個(gè)項(xiàng)集。

關(guān)聯(lián)規(guī)則

英文名Association Rule。一般記為X->Y,X成為關(guān)聯(lián)規(guī)則的先決條件,Y稱為關(guān)聯(lián)規(guī)則的結(jié)果。關(guān)聯(lián)規(guī)則有三個(gè)核心概念:支持度,置信度,提升度。

支持度

英文名Support。它表示的是項(xiàng)集{X,Y}同時(shí)含有X, Y的概率。該指標(biāo)是建立強(qiáng)關(guān)聯(lián)規(guī)則的第一個(gè)門檻,衡量所考察關(guān)聯(lián)規(guī)則在量上的多少。我們可以通過(guò)最小閾值的設(shè)定,來(lái)剔除那些支持度較小的。

置信度

英文名 Confidence。它是第二個(gè)門檻,在這里我們也可以設(shè)置最小閾值。置信度表示在關(guān)聯(lián)規(guī)則的先決條件X發(fā)生的條件下,Y發(fā)生的概率。如果跟前面的項(xiàng)集的概念聯(lián)系到一塊,置信度的意思就是如果在含有X的項(xiàng)集里面也含有Y的可能性。
confidence(X—>Y)=P(Y|X)=P(X, Y)/P(X)

提升度

英文名lift。提升度可以看做是對(duì)置信度的一個(gè)補(bǔ)充。置信度是在X發(fā)生的情況下,Y發(fā)生的概率。而提升度是在X發(fā)生的情況下,Y發(fā)生的概率與沒有這個(gè)條件下項(xiàng)集中出現(xiàn)Y的可能性之比。
當(dāng)lift為1時(shí),表示X和Y相互獨(dú)立,當(dāng)lift值越大,關(guān)聯(lián)性越強(qiáng)。

關(guān)聯(lián)分析步驟

  • 選出滿足支持度最小的閾值的所有項(xiàng)集。即頻繁項(xiàng)集。該閾值一般設(shè)為5%—10%。

  • 從頻繁項(xiàng)集中找出最小置信度的所有規(guī)則。置信度的閾值一般設(shè)置的比較高,如70%—90%。當(dāng)然你要是想獲取較多的關(guān)聯(lián)規(guī)則,該閾值可以設(shè)置的較低。

apriori算法

arules包提供的apriori算法函數(shù)原型如下:

apriori(data, parameter = NULL, appearance = NULL, control = NULL)

現(xiàn)在來(lái)給大家介紹一下這些參數(shù)。

參數(shù)作用
data數(shù)據(jù)
parameter參數(shù)可以是一個(gè)列表,可以對(duì)支持度,置信度,每個(gè)項(xiàng)集所含項(xiàng)數(shù)的大值最小值,以及輸出結(jié)果等重要參數(shù)進(jìn)行設(shè)置
appearance可以對(duì)先決條件X和關(guān)聯(lián)條件Y中具體包含的那些項(xiàng)目進(jìn)行限制。默認(rèn)是沒有限制的。
control控制算法的性能,也可以進(jìn)行排序和報(bào)告進(jìn)程。

現(xiàn)在就來(lái)分析一下啤酒和尿布的案例,arules包含有一個(gè)Groceries的數(shù)據(jù)集,該數(shù)據(jù)集是某雜貨店一個(gè)月的真實(shí)交易數(shù)據(jù),我今天就有這份數(shù)據(jù)來(lái)看看啤酒和尿布的故事是不是都是大人們編出來(lái)騙我們的。

library(arules)
data("Groceries")

由于數(shù)據(jù)集中酒的種類比較多,有canned beer,bottled beer,wine等,所以我直接把尿布napkins作為后繼。

rules<-apriori(Groceries,parameter = list(supp=0.001,conf=0.22),
                appearance = list(rhs="napkins",default="lhs"))

在不斷調(diào)整支持度和置信度,最終調(diào)到0.001和0.22,結(jié)果還是比較理想的,如果再大一點(diǎn),生成的頻繁項(xiàng)集就會(huì)比較少,而且更重要的沒有包含啤酒的的項(xiàng)集,如果再小一點(diǎn),生成的項(xiàng)集又太多,但包含啤酒的項(xiàng)集也不是很多。此時(shí)支持度為0.001,置信度為0.22,總共有53個(gè)頻繁項(xiàng)集,但只有一條包含啤酒的頻繁項(xiàng)集。當(dāng)把支持度或置信度再調(diào)大一點(diǎn),就沒有包含酒的頻繁項(xiàng)。

現(xiàn)在使用arulesViz包對(duì)結(jié)果進(jìn)行可視化

library(arulesViz)
plot(rules)

關(guān)聯(lián)規(guī)則點(diǎn)的顏色深淺有提升度lift值得高低來(lái)決定的。
從圖片中可以看到提升度高的,支持度比較低,置信度較高。

plot(x, method = NULL, measure = "support", shading = "lift", 
    interactive = NULL, engine = "default", data = NULL, control = NULL, ...)

如果我們要查看每個(gè)點(diǎn)所代表的項(xiàng)集,可以使用參數(shù)interactive。這樣繪制的圖形是交互式的。點(diǎn)擊inspect就可以獲取選定點(diǎn)的詳細(xì)信息,點(diǎn)擊一個(gè)點(diǎn),再點(diǎn)filter按鈕,然后點(diǎn)擊右側(cè)顏色條,就可以將小于該關(guān)聯(lián)規(guī)則lift的其他關(guān)聯(lián)規(guī)則點(diǎn)都過(guò)濾掉。
當(dāng)一塊點(diǎn)比較密集時(shí),可以選兩個(gè)點(diǎn)構(gòu)成一個(gè)矩形區(qū)域,再點(diǎn)擊zoom in就可把該區(qū)域放大,點(diǎn)擊zoom out就會(huì)縮小。點(diǎn)擊end就是退出??梢钥聪旅娴难菔緢D。

plot(rules, interactive=TRUE)

這個(gè)包對(duì)結(jié)果的可視化效果還是很棒的,函數(shù)也提供了許多參數(shù)。下面是我簡(jiǎn)單繪制的,僅供“觀賞”。

plot(rules6, method = "grouped")

其中measure參數(shù)可以控制散點(diǎn)的大小和顏色。

plot(rules6, method = "grouped",measure = "lift")

plot(rules6, method = "graph")

還有其他參數(shù),在用的時(shí)候可以再好好研究。

分析完之后我有種被騙的感覺,為什么會(huì)這樣,53個(gè)頻繁項(xiàng)集,但只有一條包含啤酒的頻繁項(xiàng)集。也許關(guān)聯(lián)最強(qiáng)的不用分析我們都知道,關(guān)聯(lián)最強(qiáng)的也許就是常識(shí),往往那些關(guān)聯(lián)不太強(qiáng)且容易被忽視到的才是最值得我們?nèi)グl(fā)現(xiàn)的。

退一步想想,也許因?yàn)樵摂?shù)據(jù)量太小,只有一個(gè)月的,另外,這是數(shù)據(jù)來(lái)自一個(gè)grocery,并不是像沃爾瑪那種supermarket,而且這個(gè)雜貨店也不一定是美國(guó)的。所以大家可以把這篇文章看做是一個(gè)關(guān)聯(lián)算法的練習(xí)。

注:

作者:王亨

公眾號(hào):跟著菜鳥一起學(xué)R語(yǔ)言

原文鏈接:http://blog.csdn.net/wzgl__wh/

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:R語(yǔ)言關(guān)聯(lián)分析之啤酒和尿布-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://muchs.cn/article18/csgigp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄、企業(yè)建站、小程序開發(fā)、微信公眾號(hào)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化