大數(shù)據(jù)分析決策預(yù)測

大數(shù)據(jù) 分析 決策 預(yù)測| 2022-09-05 admin
決策樹

大數(shù)據(jù)分析
我們喝牛奶時(shí)的思考過程就是決策樹的一種,通過不同的條件分支生成不斷的結(jié)果,而結(jié)果又有新的條件分支生成新的結(jié)果……
上面的例子是:

沒過期 沒超過三天 新鮮 不新鮮 已經(jīng)買了放在冰箱里的牛奶 確認(rèn)保質(zhì)期 過期與否 過期了幾天 喝 過期超過三天 喝 喝 丟了

鮮牛奶的貯藏過程中得益于現(xiàn)在的貯藏技術(shù)越來越好,一般稍有過期的產(chǎn)品價(jià)格低且仍讓可使用,而保質(zhì)期是指的最佳食用期而不是過了這個(gè)期限就不可食用了。因此,對(duì)于喝牛奶這個(gè)行為,用決策樹來表達(dá)自己影響自己做出決定的方式就如上圖展現(xiàn)了。
在這個(gè)決策樹種,根部的選擇不是隨機(jī)的,根部往往是對(duì)決策產(chǎn)生最核心影響的原因,而其他的葉部分均為根的派生。在使用決策樹進(jìn)行預(yù)測森林覆蓋時(shí),我們需要考慮的條件有很多,如光照、土質(zhì)、風(fēng)力等;諸多的元素會(huì)對(duì)決策造成影響,而我們的目標(biāo)就是通過決策樹創(chuàng)建一個(gè)合理的模型,能夠令其預(yù)測出因素變化產(chǎn)生的結(jié)果。在這個(gè)過程中,我們面臨一個(gè)問題,到底哪一個(gè)因素才是最重要的?才是決策樹的根部,對(duì)于我們一般思考而言,只能說樹的栽培光照突然風(fēng)力雨露等因素都是重要的,卻無法真正意義上區(qū)分出哪一個(gè)更重要,而我們又需要決策樹來生成并幫助我們預(yù)測結(jié)果,這個(gè)過程就是我們接下來探討的過程。

例子

大數(shù)據(jù)分析
為客人推薦寵物的機(jī)器人工作。它需要根據(jù)我們給定的資料來模擬,確定出決策樹判斷的優(yōu)先條件,這里的條件有體重,腿數(shù)目,顏色三要素。

大數(shù)據(jù)分析

上圖反映的判斷一個(gè)動(dòng)物是否適合做寵物:

  1. 體重大于100kg與否,大于則不適合
  2. 若體重小于100Kg,是否是綠色,綠色則不適合

這樣的簡單模型對(duì)上面的數(shù)據(jù)進(jìn)行過濾可以得到一個(gè)不太準(zhǔn)確的結(jié)果,會(huì)出現(xiàn)2個(gè)判斷錯(cuò)誤的例子。我們可以通過在是綠色后面再追加一個(gè)新的判斷語句,根據(jù)腿數(shù)判斷來將這個(gè)訓(xùn)練數(shù)據(jù)的預(yù)測值達(dá)到100%準(zhǔn)確。但是:

當(dāng)我們創(chuàng)建一個(gè)簡單的模型時(shí),會(huì)發(fā)現(xiàn)幾個(gè)問題:模型的指定會(huì)出現(xiàn)一些對(duì)訓(xùn)練數(shù)據(jù)不準(zhǔn)確反映的現(xiàn)象,但是如果我們針對(duì)這種現(xiàn)象去豐滿模型,就可能出現(xiàn)過擬合,導(dǎo)致對(duì)普適性差,泛性差的情況。因此我們需要去找到一個(gè)平衡點(diǎn),來找到普適性模型。

2.今天要不要去打高爾夫
大數(shù)據(jù)分析
對(duì)應(yīng)的生成樹:
大數(shù)據(jù)分析
這個(gè)決策樹的普適性很高,我們可以借此來總結(jié)一下決策樹。
大數(shù)據(jù)分析
一個(gè)好的決策樹對(duì)于每個(gè)事件的判斷,我們希望能夠盡可能簡介,所有的后續(xù)判斷盡可能只發(fā)生在一側(cè)。舉個(gè)例子,像起初的牛奶例子,每個(gè)判斷完成后,都有一個(gè)簡潔的終結(jié)選項(xiàng)——喝;而對(duì)應(yīng)的其他多種多樣的判斷條件也沒有過多的展開。然而實(shí)際上決策樹的判斷更多的是上圖中的例子,相對(duì)復(fù)雜且每一個(gè)節(jié)點(diǎn)都可能有多個(gè)分支,分支中還有分支,整個(gè)算法的復(fù)雜度就會(huì)大大提升。該算法最簡單的情況下復(fù)雜度是0,一條從頭到尾的直線框圖;最復(fù)雜的情況是log函數(shù),因?yàn)槊總€(gè)節(jié)點(diǎn)不一定有幾個(gè)分支,所以無法確認(rèn)底數(shù)。

大數(shù)據(jù)分析
進(jìn)而我們引出一個(gè)概念——Entropy(熵)。如上圖所示,是兩類數(shù)據(jù)類型的圖形,當(dāng)二者之一為0是,熵也為0,;當(dāng)二者55開始,熵值最高,也就說復(fù)雜度最高。就反映了我們剛才說的,如果樹的分支只偏向一個(gè)方向,那么其實(shí)樹就是一個(gè)N節(jié)點(diǎn)的線段,復(fù)雜度為0,否則復(fù)雜度是nlongn。
而對(duì)于公式的計(jì)算,如下圖所示:
大數(shù)據(jù)分析
需要注意的是在這個(gè)計(jì)算過程中,0log0視為0而不是負(fù)無窮。因?yàn)楫?dāng)某一個(gè)選項(xiàng)沒出現(xiàn)時(shí),它的出現(xiàn)率就是0而不是無窮。
分析以上式子的結(jié)構(gòu),對(duì)于outlook這一個(gè)因素,有三個(gè)分支,分別是overcast,sunny,rainy。然后統(tǒng)計(jì)第一個(gè)圖中對(duì)應(yīng)的yes/no個(gè)數(shù),并根據(jù)其個(gè)數(shù)計(jì)算系數(shù)。如表格Outlook中對(duì)應(yīng)的overcast出現(xiàn)了4個(gè)yes,0個(gè)no。其中,yes占據(jù)4/4也就是1,而no占據(jù)0/4也就是0。其他的也同理, ( 占 據(jù) 的 份 數(shù) / 總 數(shù) ) ∗ l o g ∗ ( 占 據(jù) 的 份 數(shù) / 總 數(shù) ) (占據(jù)的份數(shù)/總數(shù))*log*(占據(jù)的份數(shù)/總數(shù)) (占據(jù)的份數(shù)/總數(shù))∗log∗(占據(jù)的份數(shù)/總數(shù))就是對(duì)應(yīng)的計(jì)算方式。
大數(shù)據(jù)分析
如果我們只想要計(jì)算出具體因素中的某一個(gè)具體的項(xiàng),則需要來看下一個(gè)公式。
大數(shù)據(jù)分析
計(jì)算由分割產(chǎn)生的所有集合的加權(quán)平均值即可。

信息增益

大數(shù)據(jù)分析
有了基本概念后,我們來看信息增益。

  • 選擇差異(信息增益)最大化的屬性
  • 最大化信息增益等于最小化平均熵
  • 當(dāng)屬性A將集合S分割為子集Si時(shí),我們計(jì)算平均熵。然后比較原始集合S的和與熵

原始集合S的熵計(jì)算:
(結(jié)果所占總體的分?jǐn)?shù)/結(jié)果總數(shù))log(結(jié)果所占總體的分?jǐn)?shù)/結(jié)果總數(shù))
大數(shù)據(jù)分析
對(duì)于這例子的原集合熵S= − ( 9 14 l o g ( 9 14 ) + 5 14 l o g ( 5 14 ) ) -(frac{9}{14}log(frac{9}{14})+frac{5}{14}log(frac{5}{14})) −(149?log(149?)+145?log(145?))
大數(shù)據(jù)分析
套公式比較出兩個(gè)因素影響的最大值。值大的一方說明比另一個(gè)因素在訓(xùn)練數(shù)據(jù)上從統(tǒng)計(jì)意義上表現(xiàn)出更加重要的判斷要素。換言之,值高的相對(duì)成為上位節(jié)點(diǎn),最上位節(jié)點(diǎn)也就說根一定是信息增益值最大的。
大數(shù)據(jù)分析
根據(jù)上面的計(jì)算,我們得到結(jié)論outlook優(yōu)先級(jí)高于humidity高于windy。那么在這些影響因素中,outlook成為節(jié)點(diǎn)的根,且根據(jù)分支,overcast所有預(yù)測結(jié)果均為yes。
大數(shù)據(jù)分析
然后我們計(jì)算其他因素的信息增益值,就可以找出下位節(jié)點(diǎn)。如圖所示,是當(dāng)outlook為sunny時(shí),其他因素的信息增益結(jié)果。
大數(shù)據(jù)分析
當(dāng)我們確認(rèn)下humidity后,再討論rainy的計(jì)算。過程與humidity一樣。
大數(shù)據(jù)分析
然后我們就可以得到一個(gè)新的決策樹,而這個(gè)決策樹比起我們起初設(shè)計(jì)的決策樹簡單的多。決策樹越簡單,效率越高,開銷約小。這個(gè)例子就直接反映了我們怎么去生成一個(gè)高效率的決策樹
隨機(jī)森林簡介
隨機(jī)森林(或隨機(jī)決策森林):通過在訓(xùn)練時(shí)構(gòu)造多個(gè)決策樹并輸出作為單個(gè)樹的類的模式的類來集成模型。隨機(jī)森林的預(yù)測只是這些樹預(yù)測的加權(quán)平均值。對(duì)于一個(gè)分類目標(biāo)(即分類),這可以是多數(shù)投票或基于樹產(chǎn)生的概率平均值的最可能值
優(yōu)勢:

  1. 它能夠處理很高維度(feature很多)的數(shù)據(jù),并且不用做特征選擇
    原因:特征子集是隨機(jī)選擇的,子集大小可以控制。
  2. 在訓(xùn)練完后,它能夠給出feature重要大小
  3. 訓(xùn)練速度快,容易做成并行化方法
    原因:訓(xùn)練時(shí)樹與樹之間是相互獨(dú)立的
  4. 如果有很大一部分的特征遺失,仍可以維持準(zhǔn)確度。
    缺陷:
  5. 隨機(jī)森林已經(jīng)被證明在某些噪音較大的分類或回歸問題上會(huì)過擬合
  6. 對(duì)于有不同取值的屬性的數(shù)據(jù),取值劃分較多的屬性會(huì)對(duì)隨機(jī)森林產(chǎn)生更大的影響,(跟決策樹算法類似,以信息增益劃分?jǐn)?shù)據(jù)集的特征,都有這個(gè)問題,可以用信息增益比校正)所以隨機(jī)森林在這種數(shù)據(jù)上產(chǎn)出的屬性權(quán)值是不可信的。
實(shí)驗(yàn)

大數(shù)據(jù)分析