日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分类算法——决策树算法及其R实现

發(fā)布時(shí)間:2023/12/15 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分类算法——决策树算法及其R实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

決策樹定義

以鳶尾花為例子來說明:

?

觀察上圖,判決鳶尾花的思考過程可以這么來描述:花瓣的長度小于2.4cm的是setosa(圖中綠色的分類),長度大于2.4cm的呢?可以通過寬度來判別,寬度小于1.8cm的是versicolor(圖中紅色的分類),其余的就是virginica(圖中黑色的分類)

用圖形來形象的展示上述思考過程便得到了下圖一棵決策樹:


這種從數(shù)據(jù)產(chǎn)生決策樹的機(jī)器學(xué)習(xí)技術(shù)叫做決策樹學(xué)習(xí), 通俗點(diǎn)說就是決策樹,說白了,這是一種依托于分類、訓(xùn)練上的預(yù)測(cè)樹,根據(jù)已知預(yù)測(cè)、歸類未來。

之前的k-近鄰算法也可以完成很多分類任務(wù),但是他的缺點(diǎn)就是含義不清,說不清數(shù)據(jù)的內(nèi)在邏輯,而決策樹則很好地解決了這個(gè)問題,他十分好理解。從存儲(chǔ)的角度來說,決策樹解放了存儲(chǔ)訓(xùn)練集的空間,畢竟與一棵樹的存儲(chǔ)空間相比,訓(xùn)練集的存儲(chǔ)需求空間太大了。

決策樹的構(gòu)建

一、ID3的想法與實(shí)現(xiàn)

構(gòu)造基本步驟

(1)生成樹階段。選取部分受訓(xùn)數(shù)據(jù)建立決策樹,決策樹是按廣度優(yōu)先建立直到每個(gè)葉節(jié)點(diǎn)包括相同的類標(biāo)記為止。

(2)決策樹修剪階段。用剩余數(shù)據(jù)檢驗(yàn)決策樹,如果所建立的決策樹不能正確回答所研究的問題,我們要對(duì)決策樹進(jìn)行修剪直到建立一棵正確的決策樹。這樣在決策樹每個(gè)內(nèi)部節(jié)點(diǎn)處進(jìn)行屬性值的比較,在葉節(jié)點(diǎn)得到結(jié)論。從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的一條路徑就對(duì)應(yīng)著一條規(guī)則,整棵決策樹就對(duì)應(yīng)著一組表達(dá)式規(guī)則。

問題:我們?nèi)绾未_定起決定作用的劃分變量。

用鳶尾花的例子來說這個(gè)問題思考的必要性。使用不同的思考方式,我們不難發(fā)現(xiàn)下面的決策樹也是可以把鳶尾花分成3類的。

為了找到?jīng)Q定性特征,劃分出最佳結(jié)果,我們必須認(rèn)真評(píng)估每個(gè)特征。ID3算法以信息熵和信息增益以衡量標(biāo)準(zhǔn)。其他劃分的辦法為信息增益率和基尼不純指數(shù),對(duì)應(yīng)的算法為C4.5和CART。

信息熵(Entropy)主要指信息的混亂程度,變量的不確定性越大,熵的值也就越大,熵的公式可以表示為

信息增益(Information gain)指的是劃分前后熵的變化,可以用下面公式表示:

1 計(jì)算給定數(shù)據(jù)集的熵

2 按照給定特征劃分?jǐn)?shù)據(jù)集

3 選擇最佳劃分(基于熵增益)?

4 遞歸構(gòu)建決策樹

二、C4.5算法

C4.5是ID3算法的擴(kuò)展

C4.5算法描述

(1)創(chuàng)建根節(jié)點(diǎn)N;

(2) IF T都屬于同一類C,則返回N為葉節(jié)點(diǎn),標(biāo)記為類C;

(3) IF T_attributelist為空或T中所剩的樣本數(shù)少于某給定值則返回N為葉節(jié)點(diǎn),標(biāo)記為T中出現(xiàn)最多的類;

(4) FOR each T_attributelist中的屬性計(jì)算信息增益率information gain ratio;

(5) N的測(cè)試屬性test_attribute=T_attributelist中具有最高信息增益率的屬性;

(6) IF測(cè)試屬性為連續(xù)型則找到該屬性的分割閥值;

(7) FOR each 由節(jié)點(diǎn)N長出的新葉節(jié)點(diǎn){

??????????????? IF 該葉節(jié)點(diǎn)對(duì)應(yīng)的樣本子集T’為空

????? ????????????????則分裂該葉節(jié)點(diǎn)生成一個(gè)新葉節(jié)點(diǎn),將其標(biāo)記為T中出現(xiàn)最多的類;

???????????????? ELSE在該葉節(jié)點(diǎn)上執(zhí)行C4.5formtree(T’,T’_attributelist),對(duì)它繼續(xù)分裂;

?}

(8)計(jì)算每個(gè)節(jié)點(diǎn)的分類錯(cuò)誤,進(jìn)行樹剪枝。

?

以鳶尾花數(shù)據(jù)為例子,使用C4.5算法得到的分類樹見下圖:

三、?CART算法

分類與回歸樹(CART——Classification And Regression Tree)) ,二叉決策樹

CART算法描述

(1)創(chuàng)建根節(jié)點(diǎn)N;

(2)為N分配類別;

(3) IF T都屬于同一類別OR T中只剩一個(gè)樣本

???????????????? 則返回N為葉節(jié)點(diǎn),為其分配類別;

(4) FOR each T_attributelist 中的屬性

???????????????? 執(zhí)行該屬性上的一個(gè)劃分,計(jì)算此次劃分的GINI系數(shù);

(5) N的測(cè)試屬性test_attribute=T_attributelist中具有最小GINI系數(shù)的屬性;

(6)劃分T得T1、T2兩個(gè)子集;

(7)調(diào)用cartformtree(T1);

(8)調(diào)用cartformtree(T2);

?
?

總結(jié)

以上是生活随笔為你收集整理的分类算法——决策树算法及其R实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。