java决策树_【Java】决策树介绍和使用
現(xiàn)在生活中,越來(lái)越多的時(shí)候 需要進(jìn)行判斷和決策,因此關(guān)于怎么去判斷和決策,需要根據(jù)一定的依據(jù)進(jìn)行判斷和決策,并不是憑空的按照自己的意愿去判斷和決策,就比如舉個(gè)例子; 假如甲同學(xué)準(zhǔn)備結(jié)婚,但是在準(zhǔn)備結(jié)婚之前,甲的女朋友需要甲買(mǎi)一套房子,但是甲去買(mǎi)房子的過(guò)程中,開(kāi)發(fā)商進(jìn)會(huì)對(duì)甲是否能夠購(gòu)買(mǎi)方法進(jìn)行評(píng)估和決策:
如下圖:
圖一
分析: ①開(kāi)發(fā)商對(duì)于你是否能夠購(gòu)買(mǎi)房子 進(jìn)行判斷的第一個(gè)依據(jù)是 “能否購(gòu)買(mǎi)” 如果你又現(xiàn)金 OK,可以購(gòu)買(mǎi),如果你沒(méi)有現(xiàn)金 會(huì)對(duì)再次判斷; ②判斷你是否有工作,如果沒(méi)有工作 ,直接不讓你買(mǎi),如果有工作,還不一定能讓你買(mǎi),還要繼續(xù)判斷你 的工資是多少。 ③如果工資 大于4K的 OK,你可以購(gòu)買(mǎi),如果你工資不大于4K的,還要看你的職業(yè); ④如果職業(yè)是 公務(wù)員的 ,OK 你可以購(gòu)買(mǎi),如果你不是公務(wù)員的,不讓你購(gòu)買(mǎi);
這個(gè)例子中,就形成了一個(gè)決策樹(shù);
那什么是決策樹(shù):決策樹(shù)(decision tree):是一個(gè)樹(shù)形結(jié)構(gòu),決策樹(shù)從根開(kāi)始進(jìn)行決策,直到到葉子節(jié)點(diǎn),得到?jīng)Q策結(jié)果,當(dāng)然這個(gè)決策樹(shù)不是分支越多越好,而是決策的分支越少越好,并且有些不必要的分支,我們最終的時(shí)候,還要進(jìn)行剪枝;
但是這個(gè)決策樹(shù),不是憑空形成的,在形成這個(gè)決策樹(shù)的過(guò)程中,我們會(huì)想到一些問(wèn)題?
①為什么是第一個(gè)按照 “能否購(gòu)買(mǎi)” 來(lái)進(jìn)行判斷決策; ②為什么是第二個(gè)按照 “是否有工作” 來(lái)進(jìn)行判斷決策; ③為什么是第三個(gè)按照 “工資多少”來(lái)進(jìn)行判斷決策; ④這些順序能夠進(jìn)行調(diào)整?
要分析清楚這樣的分類(lèi)問(wèn)題,我們需要了解一些分類(lèi)的算法 ID3算法,C4.5算法,CART算法 ID3算法是早期的算法,存在一些問(wèn)題,而C4.5算法和CART算法 都是從 ID3算法 演變而來(lái)的,而且ID3算法 和 C4.5算法 是同一個(gè)人提出的; 那ID3算法是什么? ID3是貪心算法,用來(lái)構(gòu)造決策樹(shù)的,ID3算法的核心思想是以信息增益最大的屬性來(lái)進(jìn)行分類(lèi)的; 這里有提到一個(gè)概念,信息增益: 它是ID3算法中用于進(jìn)行屬性選擇度量,一般是擁有最高信息增益的的屬性來(lái)作為節(jié)點(diǎn)N的分裂屬性;
圖二
其中Info(D) 叫 總數(shù)的信息熵
InfoA(D)表示 具體A這個(gè)屬性的信息熵
Gain(A) 表示 A這種劃分的信息增益
A這種的信息信息增益的結(jié)果等于 總數(shù)的信息熵Info(D) 減去具體某項(xiàng)的信息熵InfoA(D) ;
這是算出A的劃分的的增益 ,同理,其他的增益 也是這樣算出了,增益越多,就優(yōu)先選擇作為分類(lèi)的標(biāo)準(zhǔn);
ID3算法的缺點(diǎn): 這種ID3算法的信息增益有個(gè)缺點(diǎn),就是它會(huì)偏向具有大量值得屬性,因?yàn)樽鳛榉帜傅腄 越大 越多,整體的值就越小, 總數(shù)減去越大的小的值,信息增益就越大,這樣就存在問(wèn)題,假如我一個(gè)分類(lèi)的屬性 我分的越細(xì),它的D就會(huì)越大, 但是只是根據(jù)分類(lèi)的越細(xì) 來(lái)獲取大的增益,這種是沒(méi)有實(shí)際意義的;
基于ID3算法的缺點(diǎn),后面出現(xiàn)C4.5算法和CART算法 C4.5算法:
C4.5算法核心采用信息增益率
圖三
C4.5 采取得是分裂信息的量,當(dāng)因子數(shù)比較多 ,數(shù)值比較大,在使用信息增益除以這個(gè)大的數(shù),使得到小的數(shù),這樣就可以抵消掉傾向于ID3的缺點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的java决策树_【Java】决策树介绍和使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑锁屏快捷键是什么电脑如何锁屏快捷键
- 下一篇: java serializable 源码