最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python決策樹之CART分類回歸樹詳解

 更新時(shí)間:2017年12月20日 14:26:20   作者:zhihua_oba  
這篇文章主要為大家詳細(xì)介紹了python決策樹之CART分類回歸樹,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

決策樹之CART(分類回歸樹)詳解,具體內(nèi)容如下

1、CART分類回歸樹簡(jiǎn)介

  CART分類回歸樹是一種典型的二叉決策樹,可以處理連續(xù)型變量和離散型變量。如果待預(yù)測(cè)分類是離散型數(shù)據(jù),則CART生成分類決策樹;如果待預(yù)測(cè)分類是連續(xù)型數(shù)據(jù),則CART生成回歸決策樹。數(shù)據(jù)對(duì)象的條件屬性為離散型或連續(xù)型,并不是區(qū)別分類樹與回歸樹的標(biāo)準(zhǔn),例如表1中,數(shù)據(jù)對(duì)象xi的屬性A、B為離散型或連續(xù)型,并是不區(qū)別分類樹與回歸樹的標(biāo)準(zhǔn)。

表1
表1

2、CART分類回歸樹分裂屬性的選擇

  2.1 CART分類樹——待預(yù)測(cè)分類為離散型數(shù)據(jù)

  選擇具有最小Gain_GINI的屬性及其屬性值,作為最優(yōu)分裂屬性以及最優(yōu)分裂屬性值。Gain_GINI值越小,說(shuō)明二分之后的子樣本的“純凈度”越高,即說(shuō)明選擇該屬性(值)作為分裂屬性(值)的效果越好。
  對(duì)于樣本集S,GINI計(jì)算如下:

這里寫圖片描述

其中,在樣本集S中,Pk表示分類結(jié)果中第k個(gè)類別出現(xiàn)的頻率。

  對(duì)于含有N個(gè)樣本的樣本集S,根據(jù)屬性A的第i個(gè)屬性值,將數(shù)據(jù)集S劃分成兩部分,則劃分成兩部分之后,Gain_GINI計(jì)算如下:

這里寫圖片描述

其中,n1、n2分別為樣本子集S1、S2的樣本個(gè)數(shù)。

  對(duì)于屬性A,分別計(jì)算任意屬性值將數(shù)據(jù)集劃分成兩部分之后的Gain_GINI,選取其中的最小值,作為屬性A得到的最優(yōu)二分方案:

這里寫圖片描述

對(duì)于樣本集S,計(jì)算所有屬性的最優(yōu)二分方案,選取其中的最小值,作為樣本集S的最優(yōu)二分方案:

這里寫圖片描述

所得到的屬性A及其第i屬性值,即為樣本集S的最優(yōu)分裂屬性以及最優(yōu)分裂屬性值。

  2.2 CART回歸樹——待預(yù)測(cè)分類為連續(xù)型數(shù)據(jù)

  區(qū)別于分類樹,回歸樹的待預(yù)測(cè)分類為連續(xù)型數(shù)據(jù)。同時(shí),區(qū)別于分類樹選取Gain_GINI為評(píng)價(jià)分裂屬性的指標(biāo),回歸樹選取Gain_σ為評(píng)價(jià)分裂屬性的指標(biāo)。選擇具有最小Gain_σ的屬性及其屬性值,作為最優(yōu)分裂屬性以及最優(yōu)分裂屬性值。Gain_σ值越小,說(shuō)明二分之后的子樣本的“差異性”越小,說(shuō)明選擇該屬性(值)作為分裂屬性(值)的效果越好。

  針對(duì)含有連續(xù)型分類結(jié)果的樣本集S,總方差計(jì)算如下:

這里寫圖片描述

其中,μ表示樣本集S中分類結(jié)果的均值,Ck表示第k個(gè)分類結(jié)果。

  對(duì)于含有N個(gè)樣本的樣本集S,根據(jù)屬性A的第i個(gè)屬性值,將數(shù)據(jù)集S劃分成兩部分,則劃分成兩部分之后,Gain_σ計(jì)算如下:

這里寫圖片描述

  對(duì)于屬性A,分別計(jì)算任意屬性值將數(shù)據(jù)集劃分成兩部分之后的Gain_σ,選取其中的最小值,作為屬性A得到的最優(yōu)二分方案:

這里寫圖片描述

  對(duì)于樣本集S,計(jì)算所有屬性的最優(yōu)二分方案,選取其中的最小值,作為樣本集S的最優(yōu)二分方案:

這里寫圖片描述

所得到的屬性A及其第i屬性值,即為樣本集S的最優(yōu)分裂屬性以及最優(yōu)分裂屬性值。

3、CART分類回歸樹的剪枝

  由于決策樹的建立完全是依賴于訓(xùn)練樣本,因此該決策樹對(duì)訓(xùn)練樣本能夠產(chǎn)生完美的擬合效果。但這樣的決策樹對(duì)于測(cè)試樣本來(lái)說(shuō)過(guò)于龐大而復(fù)雜,可能產(chǎn)生較高的分類錯(cuò)誤率。這種現(xiàn)象就稱為過(guò)擬合。因此需要將復(fù)雜的決策樹進(jìn)行簡(jiǎn)化,即去掉一些節(jié)點(diǎn)解決過(guò)擬合問(wèn)題,這個(gè)過(guò)程稱為剪枝。

  剪枝方法分為預(yù)剪枝和后剪枝兩大類。預(yù)剪枝是在構(gòu)建決策樹的過(guò)程中,提前終止決策樹的生長(zhǎng),從而避免過(guò)多的節(jié)點(diǎn)產(chǎn)生。預(yù)剪枝方法雖然簡(jiǎn)單但實(shí)用性不強(qiáng),因?yàn)楹茈y精確的判斷何時(shí)終止樹的生長(zhǎng)。后剪枝是在決策樹構(gòu)建完成之后,對(duì)那些置信度不達(dá)標(biāo)的節(jié)點(diǎn)子樹用葉子結(jié)點(diǎn)代替,該葉子結(jié)點(diǎn)的類標(biāo)號(hào)用該節(jié)點(diǎn)子樹中頻率最高的類標(biāo)記。后剪枝方法又分為兩種,一類是把訓(xùn)練數(shù)據(jù)集分成樹的生長(zhǎng)集和剪枝集;另一類算法則是使用同一數(shù)據(jù)集進(jìn)行決策樹生長(zhǎng)和剪枝。常見的后剪枝方法有CCP(Cost Complexity Pruning)、REP(Reduced Error Pruning)、PEP(Pessimistic Error Pruning)、MEP(Minimum Error Pruning)。其中,悲觀錯(cuò)誤剪枝法PEP(Pessimistic Error Pruning)在“決策樹之C4.5算法詳解”中有詳細(xì)介紹,感興趣的小童鞋可以了解學(xué)習(xí)。這里我們?cè)敿?xì)介紹CART分類回歸樹中應(yīng)用最廣泛的剪枝算法——代價(jià)復(fù)雜性剪枝法CCP(Cost Complexity Pruning)。

  代價(jià)復(fù)雜性剪枝法CCP(Cost Complexity Pruning)主要包含兩個(gè)步驟:(1)從原始決策樹T0開始生成一個(gè)子樹序列{T0,T1,...,Tn},其中,Ti+1Ti產(chǎn)生,Tn為根節(jié)點(diǎn)。(2)從第1步產(chǎn)生的子樹序列中,根據(jù)樹的真實(shí)誤差估計(jì)選擇最佳決策樹。

  CCP剪枝法步驟(1)

  生成子樹序列{T0,T1,...,Tn}的基本思想是從T0開始,裁剪Ti中關(guān)于訓(xùn)練數(shù)據(jù)集誤差增加最小的分枝來(lái)得到Ti+1。實(shí)際上,當(dāng)1棵樹T在節(jié)點(diǎn)t處剪枝時(shí),它的誤差增加直觀上認(rèn)為是R(t)−R(Tt),其中,R(t)為在節(jié)點(diǎn)t的子樹被裁剪后節(jié)點(diǎn)t的誤差,R(Tt)為在節(jié)點(diǎn)t的子樹沒(méi)被裁剪時(shí)子樹Tt的誤差。然而,剪枝后,T的葉子數(shù)減少了L(Tt)−1,其中, L(Tt)為子樹Tt的葉子數(shù),也就是說(shuō),T的復(fù)雜性減少了。因此,考慮樹的復(fù)雜性因素,樹分枝被裁剪后誤差增加率由下式?jīng)Q定:

這里寫圖片描述

其中,R(t)表示節(jié)點(diǎn)t的子樹被裁剪后節(jié)點(diǎn)t的誤差,R(t)=r(t)∗p(t),r(t)是節(jié)點(diǎn)t的誤差率,p(t)是節(jié)點(diǎn)t上的樣本個(gè)數(shù)與訓(xùn)練集中樣本個(gè)數(shù)的比例。R(Tt)表示節(jié)點(diǎn)t的子樹沒(méi)被裁剪時(shí)子樹Tt的誤差,即子樹Tt上所有葉子節(jié)點(diǎn)的誤差之和。

  Ti+1就是選擇Ti中具有最小α值所對(duì)應(yīng)的剪枝樹。

  例如:圖1中ti表示決策樹中第i個(gè)節(jié)點(diǎn),A、B表示訓(xùn)練集中的兩個(gè)類別,A、B之后的數(shù)據(jù)表示落入該節(jié)點(diǎn)分別屬于A類、B類的樣本個(gè)數(shù)。

這里寫圖片描述

  圖1,決策樹中訓(xùn)練樣本總個(gè)數(shù)為80。對(duì)于節(jié)點(diǎn)t4,其中,A類樣本46個(gè),B類樣本4個(gè),根據(jù)大多數(shù)原則,則節(jié)點(diǎn)t4中樣本為A類,故節(jié)點(diǎn)t4的子樹(t8t9)被裁剪之后t4的誤差為:450∗5080=480。節(jié)點(diǎn)t4的子樹(t8、t9)被裁剪之前t4的誤差為:145∗4580+25∗580=380。故α(t4)=480−3802−1=0.0125。類似過(guò)程,依次得到所有節(jié)點(diǎn)的誤差增加率,如表2:

表2
這里寫圖片描述

  從表2可以看出,在原始樹T0行,4個(gè)非葉節(jié)點(diǎn)中t4α值最小,因此,裁剪T0t4節(jié)點(diǎn)的分枝得到T1;在T1行,雖然t2t3α值相同,但裁剪t2的分枝可以得到更小的決策樹,因此,T2是裁剪T1中的t2分枝得到的。

  CCP剪枝法步驟(2)

  如何根據(jù)第1步產(chǎn)生的子樹序列{T0,T1,...,Tn},選擇出1棵最佳決策樹是CCP剪枝法步驟(2)的關(guān)鍵。通常采用的方法有兩種,一種是V番交叉驗(yàn)證(V-fold cross-validation),另一種是基于獨(dú)立剪枝數(shù)據(jù)集。此處不在過(guò)分贅述,感興趣的小童鞋,可以閱讀參考文獻(xiàn)[1][2][3]等。

參考文獻(xiàn)

[1] 魏紅寧. 決策樹剪枝方法的比較[J]. 西南交通大學(xué)學(xué)報(bào), 2005, 40(1):44-48.
[2] 張宇. 決策樹分類及剪枝算法研究[D]. 哈爾濱理工大學(xué), 2009.
[3] Breiman L, Friedman J H, Olshen R, et al. Classification and Regression Trees[J]. Biometrics, 1984, 40(3):358.

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中torch.nn.identity()方法詳解

    python中torch.nn.identity()方法詳解

    今天看源碼時(shí)遇到的這個(gè)恒等函數(shù),就如同名字那樣占位符,并沒(méi)有實(shí)際操作,下面這篇文章主要給大家介紹了關(guān)于python中torch.nn.identity()方法的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Django中ORM基本應(yīng)用與原理解析

    Django中ORM基本應(yīng)用與原理解析

    Django的ORM模塊是框架特色功能之一,它把數(shù)據(jù)表與Python類對(duì)應(yīng)、表字段與類屬性對(duì)應(yīng)、類實(shí)例與數(shù)據(jù)記錄對(duì)應(yīng),并將對(duì)類實(shí)例的操作映射到數(shù)據(jù)庫(kù)中,這篇文章主要介紹了Django?ORM基本應(yīng)用與原理剖析,需要的朋友可以參考下
    2022-10-10
  • Python之列表推導(dǎo)式最全匯總(下篇)

    Python之列表推導(dǎo)式最全匯總(下篇)

    這篇文章主要介紹了Python之列表推導(dǎo)式最全匯總(下篇),本文章內(nèi)容詳細(xì),通過(guò)案例可以更好的理解列表推導(dǎo)式的相關(guān)知識(shí),本模塊分為了三部分,本次為下篇,需要的朋友可以參考下
    2023-01-01
  • 在Python中實(shí)現(xiàn)隨機(jī)睡眠的方法示例

    在Python中實(shí)現(xiàn)隨機(jī)睡眠的方法示例

    在編寫Python程序時(shí),有時(shí)我們需要讓程序暫停執(zhí)行一段時(shí)間,這種需求在爬蟲、任務(wù)調(diào)度、API調(diào)用等場(chǎng)景中非常常見,Python提供了time.sleep()函數(shù)來(lái)實(shí)現(xiàn)程序的暫停,但如果我們希望暫停的時(shí)間是隨機(jī)的,本文將詳細(xì)介紹如何在Python中實(shí)現(xiàn)隨機(jī)睡眠,并探討其應(yīng)用場(chǎng)景和進(jìn)階用法
    2025-01-01
  • 用Python爬取各大高校并可視化幫弟弟選大學(xué),弟弟直呼牛X

    用Python爬取各大高校并可視化幫弟弟選大學(xué),弟弟直呼牛X

    高考結(jié)束了,接下來(lái)最重要的就是玩玩玩,然后準(zhǔn)備報(bào)志愿吧.中國(guó)教育在線網(wǎng)顯示國(guó)內(nèi)目前共有2857所高等院校,報(bào)一個(gè)理想的學(xué)校簡(jiǎn)直是千里挑一.正好表弟求著我讓我?guī)退x學(xué)校,我想著十年寒窗苦讀也不容易不如就用python幫幫他.分析一下目前國(guó)內(nèi)的大學(xué),需要的朋友可以參考下
    2021-06-06
  • Python 標(biāo)準(zhǔn)庫(kù)zipfile將文件夾加入壓縮包的操作方法

    Python 標(biāo)準(zhǔn)庫(kù)zipfile將文件夾加入壓縮包的操作方法

    Python zipfile 庫(kù)可用于壓縮/解壓 zip 文件. 本文介紹一下如何創(chuàng)建壓縮包,對(duì)Python zipfile壓縮包相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-09-09
  • Python語(yǔ)言檢測(cè)模塊langid和langdetect的使用實(shí)例

    Python語(yǔ)言檢測(cè)模塊langid和langdetect的使用實(shí)例

    今天小編就為大家分享一篇關(guān)于Python語(yǔ)言檢測(cè)模塊langid和langdetect的使用實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Python利用omegaconf庫(kù)輕松實(shí)現(xiàn)配置文件管理

    Python利用omegaconf庫(kù)輕松實(shí)現(xiàn)配置文件管理

    omegaconf是一個(gè)靈活且強(qiáng)大的Python配置管理庫(kù),支持YAML,dict,列表等多種數(shù)據(jù)格式,下面我們就來(lái)看看如何使用omegaconf實(shí)現(xiàn)配置文件管理吧
    2025-02-02
  • 詳解opencv去除背景算法的方法比較

    詳解opencv去除背景算法的方法比較

    本文主要介紹了opencv去除背景算法的方法比較,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python協(xié)程操作之gevent(yield阻塞,greenlet),協(xié)程實(shí)現(xiàn)多任務(wù)(有規(guī)律的交替協(xié)作執(zhí)行)用法詳解

    Python協(xié)程操作之gevent(yield阻塞,greenlet),協(xié)程實(shí)現(xiàn)多任務(wù)(有規(guī)律的交替協(xié)作執(zhí)行)用法詳解

    這篇文章主要介紹了Python協(xié)程操作之gevent(yield阻塞,greenlet),協(xié)程實(shí)現(xiàn)多任務(wù)(有規(guī)律的交替協(xié)作執(zhí)行)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了協(xié)程的功能、原理及gevent、greenlet實(shí)現(xiàn)協(xié)程,以及協(xié)程實(shí)現(xiàn)多任務(wù)相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

遂川县| 新昌县| 衡山县| 镇平县| 长白| 文水县| 宁津县| 长寿区| 汽车| 太康县| 安陆市| 武胜县| 观塘区| 土默特右旗| 新建县| 临沭县| 页游| 乌鲁木齐市| 蚌埠市| 瑞金市| 沈丘县| 融水| 孟连| 竹北市| 梓潼县| 拉孜县| 固原市| 黎平县| 临朐县| 开原市| 红河县| 临颍县| 建宁县| 江门市| 泽州县| 商城县| 县级市| 兴国县| 凤庆县| 莲花县| 修水县|