99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀小白學數(shù)據(jù)分析--關聯(lián)分析理論篇
小白學數(shù)據(jù)分析--關聯(lián)分析理論篇
2016-06-13
收藏

小白學數(shù)據(jù)分析--關聯(lián)分析理論篇

在說關聯(lián)分析之前,先說說自己這段時間的一些感受吧,這段時間相對輕松一些,有一些時間自己自己來學習一些新東西和知識,然而卻發(fā)現(xiàn)捧著一本數(shù)據(jù)挖掘理論的書籍在一點一點的研讀實在是很漫長,而且看過了沒有什么感覺。數(shù)據(jù)這一行理論很多,算法很多,模型很多,自己現(xiàn)在一直是結(jié)合業(yè)務來做的數(shù)據(jù)分析與挖掘,相比電商而言,游戲業(yè)做的數(shù)據(jù)大多很糙,但是僅僅結(jié)合業(yè)務和運營,更加注重我們客戶的質(zhì)量和維護,當然這不是說電商沒做,實際上電商一直在做,然而最近一次經(jīng)歷發(fā)現(xiàn),我們過多的時候去討論了算法,模型,新理論,新算法研究,比如爬蟲,JS,寫個腳本測試一下,驗證一下,可我一直在考慮,為什么我們要這么做?意義究竟是什么?你費了九牛二虎之力做好的研究,能夠以后一直使用,形成規(guī)范嗎?或者一直是想到一個就研究一下,用畢,放下了,再有新的在研究。
  以前看了蘇杰的產(chǎn)品經(jīng)理那本書,其中有一個例子很好,為什么停車位游戲里面就只有四個停車位,而不是八個?回答這個問題,我覺得你即使數(shù)據(jù)理論、算法在NB你也很難搞得明白,你還是要僅僅結(jié)合業(yè)務搞明白內(nèi)在的一些疑問,你才能防守研究。技術流派的數(shù)據(jù)分析必須要,但是完全的主導,缺少了人性和上層的構(gòu)建,厲害的技術,NB的算法也無濟于事。
  然而理論,算法,模型我們還要學習,核心在于我們?nèi)绾卫斫夂褪褂茫@些東西都是經(jīng)歷了實踐的檢驗,所以才有存在和學習的意義。但請不要為技術論,過度理性的思維往往就走到死胡同,我們也需要喬爺一般的嗅覺和敏感。
  廢話太多,開始吧。
  關聯(lián)分析是啥?
  關聯(lián)分析是數(shù)據(jù)挖掘中很重要的一類技術,其實就是挖掘事物之間的聯(lián)系。
  關聯(lián)分析都研究什么關系?
  關聯(lián)分析研究的關系有兩種:簡單關聯(lián)關系和序列關聯(lián)關系。
簡單關聯(lián)關系
  比如在FPS游戲中,購買M4A1的玩家中80%會購買MP5沖鋒槍,這就是一種簡單的關聯(lián)關系,經(jīng)典的購物籃分析中有個例子說,購買面包的顧客中80%會購買牛奶。面包和牛奶作為一種早餐的搭配是大家所接受的,二者沒有共同屬性,但是二者搭配后就是一頓美味早餐。商場購買時,如果你把這兩樣擺在一起時,就會刺激顧客的潛意識(這是定位理論的內(nèi)容,以后再說,文章題目‘從定位理論來看關聯(lián)購買應用實施’),聯(lián)系了二者的關系,并刺激購買。這是一種簡單的關聯(lián)關系。
序列關聯(lián)關系
  在FPS中,購買雷包的玩家中80%會購買閃光雷和高爆雷,這屬于序列關系,也就是說具有先后順序。再比如買了iphone手機的顧客中80%會選擇購買iphone手機保護殼,這就是序列關聯(lián)關系,一般沒人先去買個保護殼再去買手機。這是存在先后的時間上的順序的。這里就再說一個例子,比如裝備強化系統(tǒng),我們可以衡量一下得到寶石然后去打孔鑲嵌寶石的關系或者先去打孔后去直接購買寶石的關系分析,一般游戲為了刺激玩家在強化方面的消費能力,會選擇贈送部分寶石,引導玩家強化,那么我們是否可以做一個分析?
  怎么定量的分析這種關聯(lián)關系?
  說到定量分析這種關系,分析就得有個算法或者公式,這就是我們約定一個規(guī)則,我們要按照規(guī)則來做分析,學名叫做關聯(lián)規(guī)則。早期是在研究超市顧客購買商品的規(guī)律方面得到廣泛應用,也就是購物籃分析。
  游戲的數(shù)據(jù)分析需要做不?
  關聯(lián)分析在電商、零售、保險等諸多領域廣泛應用。對于游戲數(shù)據(jù)分析來說,關聯(lián)分析的確是我們要非常重視的一塊,尤其是道具收費模式占據(jù)主導的網(wǎng)游市場,當然時間收費游戲也需要這樣來做,我們的運營活動效果評估,玩家的充值購買習慣,游戲行為跟蹤,精準推送都是和關聯(lián)分析有很大的關系。其實游戲中道具的消費除了玩家自身與系統(tǒng)的高度融合和自主消費以外,其實還有一部分隱形的消費,或者說是延伸消費,打個比方,比如我們?nèi)ヒ粋€超市目標很明確就是要去買一瓶可樂,然而往往我們結(jié)賬時手里不是單純就有一罐可樂,可能還有口香糖,可能還有其他的商品,為什么?人是視覺動物,純粹理性消費存在,但是受到外界刺激和影響,往往刺激再生消費,也就是很多的沖動型消費,而在游戲中來看,就是打開這些消費,關聯(lián)分析就是尋找這些刺激因素,進而延伸玩家的消費。
  關聯(lián)規(guī)則是什么?
  規(guī)則這里就是一種衡量事物的標準,再說白了就是一個算法。關聯(lián)規(guī)則主要有兩種。今天就先說說簡單規(guī)則的理論部分。
簡單關聯(lián)規(guī)則
  簡單關聯(lián)規(guī)則屬于無指導的學習方法,著重探索內(nèi)部結(jié)構(gòu)。簡單關聯(lián)規(guī)則也是我們使用最多的一類技術。算法有Apriori、GRI、Carma,其中Apriori和Carma主要是如何提高關聯(lián)規(guī)則的分析效率,而GRI注重如何將單一概念層次的關聯(lián)推廣到更多概念層次的關聯(lián),進而揭示事物內(nèi)在結(jié)構(gòu)。
  在網(wǎng)游方面的應用目前我想到了幾個:
  1、基于玩家的購買行為進行玩家區(qū)分;
  2、付費用戶流失分析,比如是否是因為某些道具的下架導致玩家付費流失;
  3、道具商城道具的位置擺放,玩家購買后的推薦購買,交叉銷售。
簡單關聯(lián)規(guī)則的數(shù)據(jù)存儲形式
  數(shù)據(jù)存儲形式主要有兩種,一種是交易數(shù)據(jù)格式,另一種是表格數(shù)據(jù)格式,詳見早期一篇文章所述內(nèi)容。
判斷標準
  說到判斷標準,其實就是對于簡單關聯(lián)規(guī)則有效性實用性的檢驗,因為不是所有關聯(lián)規(guī)則都有效,某些規(guī)則適用范圍有限,進而這些規(guī)則不具有有效性,所以我們要有一些判斷的標準。
  規(guī)則支持度(Support)
  支持度,就是支持某一事件發(fā)生的概率,可以這么理解,所謂規(guī)則支持度就是表示商品A和商品B同時出現(xiàn)的概率(A和B同時出現(xiàn)這一事件的概率),即S A->B=N(A&B)/N ,N代表總的個數(shù),N(A&B)代表同時出現(xiàn)A和B的次數(shù),如果S值很低,那么規(guī)則普遍性一般,應用層次太低。
  規(guī)則置信度(confidence)
  置信度,就是特定個體對待特定命題真實性相信的程度,也就是令人信服的水平,具體來說比如在商品A購買的顧客中,購買商品B的概率,或者說購買水平。這其實是一個條件概率的問題,即在A出現(xiàn)情況下B出現(xiàn)的可能性,即C A->B=N(A&B)/N(A),如果置信水平高,那么這種特定條件出現(xiàn)可能性就很高。
    前項支持度 S A = N(A)/N
    后項支持度 S B=N(B)/N
  由此這里我們可以推斷出 C和S是存在關系的,即:
    C A->B = S A->B/ S A
  在關聯(lián)分析,我們希望得到的規(guī)則是具有很高的C和S的。可是如果S高,但是C低,那么整個的這個規(guī)則令人信服的程度就會下降,如果反過來,那么意味著這個規(guī)則產(chǎn)生的普遍性不高,就是應用層有問題,但是置信水平還可以。
  所以說我們雖然可以通過簡單關聯(lián)規(guī)則分析生成很多的關聯(lián)規(guī)則,然而我們必須得有一個臨界值(閾值),來控制C和S的水平,因為我們能生成很多的規(guī)則,通過閾值控制掃除一些我們不需要的或者無用的規(guī)則。
  當然了,通過我們設定的閾值的置信度和支持度就是一條有效的規(guī)則,但有效就一定意味著可以使用嗎?事實上,還不行,因為有效的規(guī)則下不一定有實際的指導意義。因為揭示出的關系有可能只是一種隨機關聯(lián)的關系。說白了就是巧合。舉一個例子,通過關聯(lián)規(guī)則我們發(fā)現(xiàn)購買道具A的玩家40%為男性角色,S=40%,C=40%。此時閾值為20%,看來符合以上我們所說的情況,但是我們經(jīng)過分析發(fā)現(xiàn)玩家中那行角色比例也是40%,而這就是一種隨機關聯(lián),不具備實用性。
  因此我們需要一些指標來輔助監(jiān)測規(guī)則實用性。
  規(guī)則提升度(lift)
    L A->B=C A->B/ S B
  實際就是置信度與后項的比值。提升度反映了商品A出現(xiàn)對于商品B的影響程度。大于1才有意義,也就是A對于B的促進作用,越大越好。
  置信差(Confidence Difference)
  置信度與后項支持度的絕對值差。
    CD=|C A->B-S B|
  置信差進一步提高關聯(lián)規(guī)則結(jié)果的可用性,其差代表了獲得關聯(lián)規(guī)則所提供信息的多少。
  置信率(Confidence Ratio)
    CR=1-|min(lift,1/lift)|
  置信率當然也是越高越好,有的時候我們置信差很低,那么也可以參考CR值,與剛才提到的lift相似,lift越大越好,進而這里來看,lift越大,那么CR也就越大。
  當然了衡量的標準還有正態(tài)卡方、信息差,這里不再講述,感興趣自己可以看看。
  下面我們說說序列關聯(lián)規(guī)則
序列關聯(lián)規(guī)則
  核心在于怎么找到事物發(fā)展的前后關聯(lián)性,比如用戶訪問web站點,具體的頁面點擊習慣,購買商品過程關聯(lián)性,較為著名的比如超市商品貨架的布局。研究序列關聯(lián)性可以幫助我們推斷后續(xù)發(fā)生的可能性,并調(diào)整好順序,擴大份額。這在游戲中的道具推送,玩家與系統(tǒng)的交互,任務接取,道具購買有直接的關系。
  如下圖所示,為玩家的購買道具時序數(shù)據(jù),每一行為一個事務序列數(shù),代表一個玩家。

  比如1號玩家首先購買A和B,之后購買C,再次購買D,這就是一個購買序列,而這個序列對于我們分析購買流失,具有很大的意義。1號顧客的購買序列可以表示出來,此外,購買序列還可以進行分解,分列出子序列。如下圖。

定量分析序列指標
  序列長度
  表示序列拆分出來的子序列,以玩家1為例有3個子序列,因此序列長度為3。
  序列大小
  表示序列中擁有的項目數(shù)量,玩家1有四個項目,A、B、C、D。
  序列支持度
  序列普遍性的衡量標準,包含某個序列的序列的事事務序列數(shù)占總事務序列數(shù)的比例。比如C{D}>C{A}的支持度為2/4=0.5。
  序列規(guī)則支持度
  包含某序列的規(guī)則的事務占總事務的比例。
序列規(guī)則置信度
  同時包含前項和后項事務數(shù)與僅包含前項事務數(shù)的比值,即支持度與前項支持度的比值。
  好了,理論第一部分就到這里,以后說說兩類關聯(lián)分析的算法 Apriori、GRI、Carma、Sequence。

數(shù)據(jù)分析咨詢請掃描二維碼

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

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }