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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀白話一下什么是決策樹(shù)模型
白話一下什么是決策樹(shù)模型
2015-12-10
收藏

白話一下什么是決策樹(shù)模型


有一天,小明無(wú)聊,對(duì)宿舍玩CS的舍友進(jìn)行統(tǒng)計(jì),結(jié)果剛記下四行,被舍友認(rèn)為影響發(fā)揮,給踢到床下去了,讓我們看看可憐的小明的記錄:
-----------------------------
武器 | 子彈數(shù)量 | 血 | 行為
-----------------------------
機(jī)槍 | 多 | 少 | 戰(zhàn)斗
機(jī)槍 | 少 | 多 | 逃跑
小刀 | 少 | 多 | 戰(zhàn)斗
小刀 | 少 | 少 | 逃跑
-----------------------------

為了對(duì)得起小明記錄的這四條記錄,我們對(duì)其進(jìn)行決策樹(shù)分析,從數(shù)據(jù)中看:
1. 如果一個(gè)玩家子彈很多,那么即使血少他也會(huì)戰(zhàn)斗,如果子彈少的話,即使血多,他也會(huì)逃跑隱蔽起來(lái);
2. 那我們?cè)倏醋訌椛俚那闆r下,武器靠刀子,當(dāng)血多時(shí)候,他還是會(huì)打一打得,但是血少,就立即逃跑隱蔽了。

這是我們大腦直覺(jué)上去分析,既然本文我是想聊一聊決策樹(shù),那么我們就用決策樹(shù)來(lái)對(duì)小明的這些數(shù)據(jù)小試牛刀一下,順便來(lái)慰藉一下小明(從小到大我們已經(jīng)看過(guò)無(wú)數(shù)的小明了,這里再借用一下大度的小明)。

我們現(xiàn)在將數(shù)據(jù)分為兩塊:
X = {武器類型,子彈數(shù)量,血}
Y = {行為}
我們建立這顆決策樹(shù)的目的就是,讓計(jì)算機(jī)自動(dòng)去尋找最合適的映射關(guān)系,即:Y = f(X),所謂聽(tīng)上去大雅的“數(shù)據(jù)挖掘”學(xué)科,干得也差不多就是這回事,X我們稱之為樣本,Y我們稱之為結(jié)果(行為/類)。

樣本是多維的,X = {x1,x2,...xn},如本例:X = {x1=武器類型,x2=子彈數(shù)量,x3=血},我們就是要通過(guò)這些不同維度的觀測(cè)記錄數(shù)據(jù),和應(yīng)對(duì)的不同結(jié)果,找到規(guī)律(映射關(guān)系),舉個(gè)例子:
X = {天氣,溫度,濕度,女友約會(huì)} -> Y = {是否答應(yīng)兄弟下午去打籃球}
X = {老媽說(shuō)你是胖子,老婆說(shuō)你是胖子,自己上秤評(píng)估自己體重} -> Y = {去辦健身卡減肥}

這樣來(lái)說(shuō),X的多維不同的數(shù)據(jù),大個(gè)比方,更像是很多大臣,那么我們就是要根據(jù)這些大臣的意見(jiàn),來(lái)決策,如本例:
>> 左大臣:武器類型
>> 中大臣:子彈數(shù)量
>> 右大臣:血

這些大臣每個(gè)人都有想法,左右著皇帝繼續(xù)戰(zhàn)斗還是撤退,但是三個(gè)也不能全信,那么我們就要根據(jù)他們的陳年老帳(訓(xùn)練樣本)來(lái)評(píng)判他們的話語(yǔ)的重要性,當(dāng)然,優(yōu)先級(jí)高的肯定話語(yǔ)是有重量的,我們先提前來(lái)預(yù)覽一下這個(gè)例子訓(xùn)練出來(lái)的決策樹(shù)的樣子:
這個(gè)根據(jù)小明的數(shù)據(jù)訓(xùn)練出來(lái)的決策樹(shù)是不是和我們剛才拍腦門(mén)分析出來(lái)的結(jié)果差不多呢?看,子彈多就開(kāi)打,子彈少,在看看用什么武器,如果又沒(méi)子彈又用機(jī)槍,那鐵定跑,如果用小刀,在掂量一下自己血厚不厚,厚則打,不厚則逃,看來(lái)決策樹(shù)分析的結(jié)果還是可以的啊,接下來(lái),我們來(lái)研究研究,計(jì)算機(jī)(這個(gè)只會(huì)重復(fù)人們給它設(shè)定的代碼的家伙)是如何實(shí)現(xiàn)這樣的分析的。

既然是三個(gè)大臣提意見(jiàn){左大臣:武器類型,中大臣:子彈數(shù)量,右大臣:血},那么我們要分析一下歷史數(shù)據(jù)(訓(xùn)練數(shù)據(jù))他們哪個(gè)話更靠譜:

我們先單純的看看左大臣的歷史戰(zhàn)績(jī)(統(tǒng)計(jì)訓(xùn)練樣本):
機(jī)槍 -> 戰(zhàn)斗
機(jī)槍 -> 逃跑
小刀 -> 戰(zhàn)斗
小刀 -> 逃跑
用機(jī)槍,你戰(zhàn)斗逃跑的概率都是50%,用刀子,你亦似打似逃!看來(lái)這個(gè)大臣立場(chǎng)不堅(jiān)定??!

再看看中大臣的:
子彈多 -> 戰(zhàn)斗
子彈少 -> 逃跑
子彈少 -> 戰(zhàn)斗
子彈少 -> 逃跑
用機(jī)槍,你戰(zhàn)斗概率是100%,用刀子,你33.3%打,你66.6%撤!這位大臣似乎堅(jiān)定了一些。

再看看右大臣的:
血少 -> 戰(zhàn)斗
血多 -> 逃跑
血多 -> 戰(zhàn)斗
血少 -> 逃跑
和左大臣一樣,立場(chǎng)不堅(jiān)定,50:50??!

這樣,中大臣的話的重量就提升了,因此決策書(shū)的第一層就重用中大臣吧(中大臣變成一品大員)

計(jì)算機(jī)是怎么來(lái)做到這一步的呢?且讓我一步一步講:

決策樹(shù)訓(xùn)練中,有一個(gè)很重要的尺子,來(lái)衡量大臣的可信度,這個(gè)尺子,就是信息論的熵(Entropy),這個(gè)熵是何許人也,竟然朝廷大臣的可信度竟然用次來(lái)衡量,讓我們對(duì)他做個(gè)自我介紹吧:
熵,洋名為(Entropy),乃測(cè)量信息的混亂程度為職,縱橫科學(xué)界各門(mén)學(xué)術(shù)之中,為人低調(diào),儉樸,就一個(gè)很短的公式:E = sum(-p(I)*log(p(I))),I=1:N(N類結(jié)果,如本例兩種,戰(zhàn)斗或逃跑),當(dāng)信息一致,所有樣本都屬于一個(gè)類別I,那么熵為0,如果樣本完全隨機(jī),那么熵為1,表明這個(gè)臣子對(duì)這種狀態(tài)的預(yù)測(cè)就是胡言亂語(yǔ)。

OK,熵,告訴我你對(duì)這個(gè)數(shù)據(jù)的看法:
E(機(jī)槍) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1
E(小刀) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1
E(子彈多) = -(1/1)Log2(1/1) - (0/1)Log(0/1) = 0 + 0 = 0
E(子彈少) = -(1/3)Log2(1/3) - (2/3)Log(2/3) = 0.5283 + 0.39 = 0.9183
E(血多) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1
E(血少) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1

那么我們?cè)趺从眠@個(gè)熵來(lái)衡量大臣(每維數(shù)據(jù))的可信度呢,這里還要再引出一位仁兄,其是熵的上級(jí),他熟知熵的能力,很會(huì)用熵,他就是信息增益(Information Gain),我們來(lái)看看這位上級(jí)是如何用熵來(lái)衡量的:
Gain(Sample,Action) = E(sample) - sum(|Sample(v)|/Sample * E(Sample(v)))
OK,Information Gain,說(shuō)說(shuō)你是怎么評(píng)估這個(gè)例子的三位大臣的!

Gain(武器類型) = E(S) - (2/4)*E(機(jī)槍) - (2/4)*E(小刀) = 1 - (2/4)*1 - (2/4)*1 = 0
Gain(子彈數(shù)量) = E(S) - (1/4)*E(子彈多) - (3/4)*E(子彈少) = 1 - (1/4)*0 - (3/4)*0.9183 = 0.3113
Gain(血量) = E(S) - (2/4)*E(血多) - (2/4)*E(血少) = 1 - (2/4)*1 - (2/4)*1 = 0

接著,計(jì)算機(jī)通過(guò)信息增益結(jié)果,選擇最大的,作為一品大員

且看一品大員對(duì)子彈多的情況下料事如神(暫且不說(shuō)本例樣本少),但是其在子彈少的情況下,決策還是不行的,那么,再用同樣的方法,再去選擇二品,三品,這就是決策樹(shù)的訓(xùn)練,呵呵,不知有沒(méi)有幫助各位理解

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

若不方便掃碼,搜微信號(hào):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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".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 = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+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); }