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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

决策树:ID3C4.5cart算法(从原理到实现-小白教程超详细)

發(fā)布時(shí)間:2024/3/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 决策树:ID3C4.5cart算法(从原理到实现-小白教程超详细) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 決策樹(shù)
  • ID3算法
    • 信息熵
    • 條件特征信息熵
    • 信息增益
    • ID3的缺陷
  • C4.5算法
    • 特征不確定性定量
    • 信息增益率
    • 小結(jié)
  • cart算法
    • 基尼系數(shù)
    • 特征條件基尼系數(shù)
    • 小結(jié)

本文屬于我的機(jī)器學(xué)習(xí)/深度學(xué)習(xí)系列文章,點(diǎn)此查看系列文章目錄

決策樹(shù)

所謂決策樹(shù),就是一種樹(shù)形結(jié)構(gòu)的分類(lèi)模型(也可以用作回歸),它列舉了每個(gè)特征下可能的情況以及對(duì)應(yīng)情況下的下一步內(nèi)容。下面是一個(gè)是否打籃球的決策樹(shù)的例子:

小C:今天天氣怎么樣? 小P:晴 小C:溫度呢? 小P:適中 小C:濕度呢? 小P:偏干燥,低 小C:風(fēng)速如何? 小P:弱風(fēng) 小C:好,那今天是個(gè)打籃球的好日子!

將上述過(guò)程繪制成決策樹(shù)如下:

決策樹(shù)的過(guò)程分兩步,構(gòu)建和決策(上述過(guò)程展示了如何決策)。構(gòu)建的時(shí)候采用訓(xùn)練數(shù)據(jù),帶有所有特征和分類(lèi)結(jié)果。決策的時(shí)候用測(cè)試數(shù)據(jù),帶有特征但無(wú)分類(lèi)結(jié)果,通過(guò)決策得到分類(lèi)結(jié)果。

ID3算法

ID3算法是決策樹(shù)算法的一種,它采用信息增益的方式選擇合適的屬性作為劃分屬性。要理解ID3算法,需要先知道幾個(gè)基本概念

信息熵

信息熵表示了信息的不確定度,是由信息學(xué)之父香農(nóng)引入的。

什么是不確定度?其計(jì)算公式如下:

E n t r o p y ( T ) = ? ∑ i = 1 n p ( i ∣ T ) l o g 2 p ( i ∣ T ) Entropy(T) = -\sum_{i=1}^n p(i|T)log_2p(i|T) Entropy(T)=?i=1n?p(iT)log2?p(iT)

其中, i i i是可分類(lèi)別,例如打籃球中可分類(lèi)別就是是、否兩類(lèi), p ( i ∣ T ) p(i|T) p(iT)表示類(lèi)別 T T T分為 i i i類(lèi)的概率。

還是以打籃球?yàn)槔O旅媸歉鶕?jù)屬性特征已有分類(lèi)結(jié)果的表格:

天氣溫度濕度風(fēng)速是否打籃球
炎熱
炎熱強(qiáng)
炎熱
適中
寒冷
寒冷強(qiáng)
寒冷強(qiáng)
適中
寒冷
適中
適中強(qiáng)
適中強(qiáng)
炎熱
適中強(qiáng)

以上述表格為例(9個(gè)是,5個(gè)否),是否打籃球的信息熵就是
E n t r o p y ( T ) = ? 9 14 ? l o g 2 9 14 ? 5 14 ? l o g 2 5 14 = 0.940 Entropy(T) =-\frac{9}{14}*log_2\frac{9}{14} -\frac{5}{14}*log_2\frac{5}{14} = 0.940 Entropy(T)=?149??log2?149??145??log2?145?=0.940
從直觀的角度理解,當(dāng)分類(lèi)種類(lèi)越多,分類(lèi)的數(shù)量越均勻,信息熵越高。即純度越低,很高的信息熵會(huì)讓我們?cè)跊Q策的時(shí)候更加難以判斷分類(lèi)結(jié)果,需要借助更多的其他條件來(lái)確定。

(是、是、是、否、否、否)要比(是、是、是、是、是、否)信息熵更大,因?yàn)榍罢吒踊靵y

信息熵度量了這個(gè)類(lèi)別的混亂程度,如果一個(gè)信息熵很小的類(lèi)別,如(是、是、是、是、是、是),那么根本不需要決策,無(wú)論什么條件下結(jié)果都是一樣

條件特征信息熵

又叫條件屬性信息熵,其表示在某種特征條件下,所有類(lèi)別出現(xiàn)的不確定性之和。其實(shí)他就在信息熵的基礎(chǔ)上添加了特征這一選項(xiàng)。其計(jì)算公式為
E n t r o p y ( T ∣ F ) = ∑ i = 1 n D i D ? E n t r o p y ( F i ) Entropy(T| F) = \sum_{i=1}^n\frac{D_i}{D}*Entropy(F_i) Entropy(TF)=i=1n?DDi???Entropy(Fi?)

其中, D i D_i Di?表示這種特征第i種情況的取值數(shù),D表示這種特征所有的取值數(shù), E n t r o p y ( F i ) Entropy(F_i) Entropy(Fi?)是信息熵,不過(guò)此時(shí)計(jì)算的信息熵是限定在情況(例如晴)下的。直觀的理解就是如果按照天氣特征分類(lèi)得到的加權(quán)不純度(信息熵越高,樣本越不純)。

以上述表格的天氣特征為例:
E n t r o p y ( T ∣ 天 氣 ) = 5 14 ? [ ? 2 5 ? l o g 2 2 5 ? 3 5 ? l o g 2 3 5 ] + 4 14 ? [ ? 4 4 ? l o g 2 4 4 ] + 5 14 ? [ ? 3 5 ? l o g 2 3 5 ? 2 5 ? l o g 2 2 5 ] = 0.694 Entropy(T|天氣) = \frac{5}{14}*[-\frac{2}{5}*log_2\frac{2}{5} - \frac{3}{5}*log_2\frac{3}{5}] + \frac{4}{14}*[-\frac{4}{4}*log_2\frac{4}{4} ] + \frac{5}{14}*[-\frac{3}{5}*log_2\frac{3}{5} - \frac{2}{5}*log_2\frac{2}{5}] \\= 0.694 Entropy(T)=145??[?52??log2?52??53??log2?53?]+144??[?44??log2?44?]+145??[?53??log2?53??52??log2?52?]=0.694

這里可能有點(diǎn)混亂,一開(kāi)始我們求分類(lèi)結(jié)果(是否打籃球)的信息熵,是為了得到當(dāng)前數(shù)據(jù)的混亂程度(信息熵越高,數(shù)據(jù)越難劃分)。而條件信息熵則是我們假設(shè)按照某一個(gè)特征(如天氣)劃分之后得到的新的加權(quán)(權(quán)重是特征中不同取值所占比例)混亂程度,一般情況新的加權(quán)混亂程度都是小于原始混亂程度的,即我們通過(guò)問(wèn)了天氣情況這個(gè)問(wèn)題,使得數(shù)據(jù)更好劃分了。下面的信息增益則是用于定量分析這個(gè)“更好劃分”的程度。

信息增益

信息增益用直白的話來(lái)講就是我選擇這個(gè)信息分類(lèi),能帶我多少分類(lèi)收益(數(shù)據(jù)變得更好劃分的程度)。它用于ID3中選擇上層分類(lèi)特征的基準(zhǔn),信息增益越高,則越要放到前面進(jìn)行決策,因?yàn)楹芸赡苣愀鶕?jù)這個(gè)很高的特征就可以直接進(jìn)行分類(lèi),而不需要再考慮其他屬性。

下面是一個(gè)信息增益對(duì)比的例子:

如果只要是晴天,我肯定去打球,只要是陰天和雨天,我肯定不去打球,這就導(dǎo)致我們可以直接通過(guò)天氣進(jìn)行分類(lèi),說(shuō)明其信息增益很高。說(shuō)到這,你也應(yīng)該理解和分類(lèi)結(jié)果越貼合的特征,其信息增益應(yīng)該越高。

顯然天氣的信息增益要大于溫度,對(duì)信息進(jìn)行定量計(jì)算用以下公式:
G a i n ( F ) = E n t r o p y ( T ) ? E n t r o p y ( T ∣ F ) Gain(F) = Entropy(T) - Entropy(T|F) Gain(F)=Entropy(T)?Entropy(TF)
以天氣為例,天氣這一特征的信息增益為
G a i n ( 天 氣 ) = 0.940 ? 0.694 = 0.246 Gain(天氣) = 0.940 - 0.694 = 0.246 Gain()=0.940?0.694=0.246
同理可得到 G a i n ( 溫 度 ) = 0.029 Gain(溫度) = 0.029 Gain()=0.029 G a i n ( 濕 度 ) = 0.15 Gain(濕度) = 0.15 Gain()=0.15 G a i n ( 風(fēng) 速 ) = 0.048 Gain(風(fēng)速) = 0.048 Gain(風(fēng))=0.048

由此可以知道天氣的信息增益最大,在ID3算法中就將天氣作為決策樹(shù)的根節(jié)點(diǎn),依據(jù)天氣特征,將原來(lái)的表一分為三,如下:

  • 表1(晴) 溫度濕度風(fēng)速是否打籃球
    炎熱
    炎熱強(qiáng)
    適中
    適中
    寒冷
  • 表2(陰) 溫度濕度風(fēng)速是否打籃球
    炎熱
    寒冷強(qiáng)
    適中強(qiáng)
    炎熱
  • 表3(雨) 溫度濕度風(fēng)速是否打籃球
    適中
    寒冷
    寒冷強(qiáng)
    適中
    適中強(qiáng)

再對(duì)剩下的表格繼續(xù)做重復(fù)操作。觀察表格你可以發(fā)現(xiàn)按照天氣分類(lèi)后,決策結(jié)果純度已經(jīng)較高了。實(shí)際上,當(dāng)天氣為陰的時(shí)候決策樹(shù)已經(jīng)可以直接返回打籃球的結(jié)果了,所以陰的下一節(jié)點(diǎn)是葉節(jié)點(diǎn)(是)。

我們繼續(xù)對(duì)晴和雨進(jìn)行信息增益計(jì)算,添加新特征到?jīng)Q策樹(shù)操作。可以進(jìn)一步將決策樹(shù)劃分為以下:

  • 表4(晴-濕度高)

    溫度濕度風(fēng)速是否打籃球
    炎熱
    炎熱強(qiáng)
    適中
    適中
  • 表5(晴-濕度中)

    溫度濕度風(fēng)速是否打籃球
    寒冷
  • 表6(雨-風(fēng)強(qiáng))

    溫度濕度風(fēng)速是否打籃球
    寒冷強(qiáng)
    適中強(qiáng)
  • 表7(雨-風(fēng)弱)

    溫度濕度風(fēng)速是否打籃球
    適中
    寒冷
    適中

最后,我們構(gòu)造得到?jīng)Q策樹(shù)如下:

當(dāng)預(yù)測(cè)一條新的數(shù)據(jù)時(shí),我們只需要從天氣特征開(kāi)始,依次往下判斷即可。

例如[晴,炎熱,高,強(qiáng)], 天氣 -> 晴 ->濕度 -> 高->否 ,即不去打球

ID3的缺陷

ID3算法只考慮了信息增益,但卻忽視了特征本身不確定性就可能很大的問(wèn)題,這就好比只拿全國(guó)GDP跟人家比,卻不考慮人均GDP,在特征情況數(shù)相差不大的情況下,對(duì)ID3算法的影響不大,可一旦特征本身可能情況就很多,就會(huì)導(dǎo)致訓(xùn)練的決策樹(shù)算法不佳。

舉一個(gè)很直觀的極端例子,一個(gè)擁有10種的情況的特征,其情況1與分類(lèi)1對(duì)應(yīng),其余9種和分類(lèi)2對(duì)應(yīng),在用該特征進(jìn)行劃分后,對(duì)于分類(lèi)幫助并不是很大,因?yàn)槟氵€要從9種特征中再依據(jù)其他條件細(xì)分。

C4.5算法

C4.5算法可看做ID3算法的升級(jí)版,它考慮了ID3算法中僅用信息增益的不足,引入了信息增益率的概念。

特征不確定性定量

前面說(shuō)過(guò),雖然信息增益很高,但是特征的情況數(shù)很多(即特征的混亂度也很高)的時(shí)候,會(huì)影響決策樹(shù)的效果,因此我們就需要計(jì)算特征本身的信息熵用以度量該特征的不確定性。

計(jì)算特征不確定性的公式就是信息熵的公式,可以得到
U n c e r t a i n ( 天 氣 ) = ? 5 14 ? l o g 2 5 14 ? 5 14 ? l o g 2 5 14 ? 4 14 ? l o g 2 4 14 = 1.577 Uncertain(天氣) = -\frac{5}{14}*log_2\frac{5}{14} - \frac{5}{14}*log_2\frac{5}{14} - \frac{4}{14}*log_2\frac{4}{14} = 1.577 Uncertain()=?145??log2?145??145??log2?145??144??log2?144?=1.577
U n c e r t a i n ( 溫 度 ) = ? 4 14 ? l o g 2 4 14 ? 6 14 ? l o g 2 6 14 ? 4 14 ? l o g 2 4 14 = 1.556 Uncertain(溫度) = -\frac{4}{14}*log_2\frac{4}{14} - \frac{6}{14}*log_2\frac{6}{14} - \frac{4}{14}*log_2\frac{4}{14} = 1.556 Uncertain()=?144??log2?144??146??log2?146??144??log2?144?=1.556
U n c e r t a i n ( 濕 度 ) = ? 7 14 ? l o g 2 7 14 ? 7 14 ? l o g 2 7 14 = 1.0 Uncertain(濕度) = -\frac{7}{14}*log_2\frac{7}{14} - \frac{7}{14}*log_2\frac{7}{14} = 1.0 Uncertain()=?147??log2?147??147??log2?147?=1.0
U n c e r t a i n ( 風(fēng) 速 ) = ? 6 14 ? l o g 2 6 14 ? 8 14 ? l o g 2 8 14 = 0.985 Uncertain(風(fēng)速) = -\frac{6}{14}*log_2\frac{6}{14} - \frac{8}{14}*log_2\frac{8}{14} = 0.985 Uncertain(風(fēng))=?146??log2?146??148??log2?148?=0.985

信息增益率

信息增益率為
I G R ( F ) = G a i n ( F ) / U n c e r t a i n ( F ) IGR(F) = Gain(F) / Uncertain(F) IGR(F)=Gain(F)/Uncertain(F)
由此得到
I G R ( 天 氣 ) = G a i n ( 天 氣 ) / U n c e r t a i n ( 天 氣 ) = 0.246 / 1.577 = 0.155 IGR(天氣) = Gain(天氣) / Uncertain(天氣) = 0.246 / 1.577 = 0.155 IGR()=Gain()/Uncertain()=0.246/1.577=0.155
I G R ( 溫 度 ) = G a i n ( 溫 度 ) / U n c e r t a i n ( 溫 度 ) = 0.029 / 1.556 = 0.0186 IGR(溫度) = Gain(溫度) / Uncertain(溫度) = 0.029/ 1.556 = 0.0186 IGR()=Gain()/Uncertain()=0.029/1.556=0.0186
I G R ( 濕 度 ) = G a i n ( 溫 度 ) / U n c e r t a i n ( 溫 度 ) = 0.151 / 1.0 = 0.151 IGR(濕度) = Gain(溫度) / Uncertain(溫度) = 0.151/ 1.0 = 0.151 IGR()=Gain()/Uncertain()=0.151/1.0=0.151
I G R ( 風(fēng) 速 ) = G a i n ( 風(fēng) 速 ) / U n c e r t a i n ( 風(fēng) 速 ) = 0.048 / 0.985 = 0.049 IGR(風(fēng)速) = Gain(風(fēng)速) / Uncertain(風(fēng)速) = 0.048 / 0.985= 0.049 IGR(風(fēng))=Gain(風(fēng))/Uncertain(風(fēng))=0.048/0.985=0.049

接下來(lái)的步驟只需要將ID3中的信息增益作為基準(zhǔn)的地方用信息增益率替換即可。

小結(jié)

總結(jié)一下ID3,C4.5算法的算法步驟,可以用下面的流程圖表示:

流程圖中的節(jié)點(diǎn)是指用于劃分的數(shù)據(jù)

#mermaid-svg-yTuEzLqpTHVhnC04 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .label text{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .node rect,#mermaid-svg-yTuEzLqpTHVhnC04 .node circle,#mermaid-svg-yTuEzLqpTHVhnC04 .node ellipse,#mermaid-svg-yTuEzLqpTHVhnC04 .node polygon,#mermaid-svg-yTuEzLqpTHVhnC04 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-yTuEzLqpTHVhnC04 .node .label{text-align:center;fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .node.clickable{cursor:pointer}#mermaid-svg-yTuEzLqpTHVhnC04 .arrowheadPath{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-yTuEzLqpTHVhnC04 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-yTuEzLqpTHVhnC04 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-yTuEzLqpTHVhnC04 .edgeLabel rect{opacity:0.9}#mermaid-svg-yTuEzLqpTHVhnC04 .edgeLabel span{color:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-yTuEzLqpTHVhnC04 .cluster text{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-yTuEzLqpTHVhnC04 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-yTuEzLqpTHVhnC04 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-yTuEzLqpTHVhnC04 .actor-line{stroke:grey}#mermaid-svg-yTuEzLqpTHVhnC04 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-yTuEzLqpTHVhnC04 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .sequenceNumber{fill:#fff}#mermaid-svg-yTuEzLqpTHVhnC04 #sequencenumber{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .messageText{fill:#333;stroke:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-yTuEzLqpTHVhnC04 .labelText,#mermaid-svg-yTuEzLqpTHVhnC04 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-yTuEzLqpTHVhnC04 .loopText,#mermaid-svg-yTuEzLqpTHVhnC04 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-yTuEzLqpTHVhnC04 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-yTuEzLqpTHVhnC04 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-yTuEzLqpTHVhnC04 .noteText,#mermaid-svg-yTuEzLqpTHVhnC04 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-yTuEzLqpTHVhnC04 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-yTuEzLqpTHVhnC04 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-yTuEzLqpTHVhnC04 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-yTuEzLqpTHVhnC04 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .section{stroke:none;opacity:0.2}#mermaid-svg-yTuEzLqpTHVhnC04 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-yTuEzLqpTHVhnC04 .section2{fill:#fff400}#mermaid-svg-yTuEzLqpTHVhnC04 .section1,#mermaid-svg-yTuEzLqpTHVhnC04 .section3{fill:#fff;opacity:0.2}#mermaid-svg-yTuEzLqpTHVhnC04 .sectionTitle0{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .sectionTitle1{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .sectionTitle2{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .sectionTitle3{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-yTuEzLqpTHVhnC04 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .grid path{stroke-width:0}#mermaid-svg-yTuEzLqpTHVhnC04 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-yTuEzLqpTHVhnC04 .task{stroke-width:2}#mermaid-svg-yTuEzLqpTHVhnC04 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .taskText:not([font-size]){font-size:11px}#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-yTuEzLqpTHVhnC04 .task.clickable{cursor:pointer}#mermaid-svg-yTuEzLqpTHVhnC04 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-yTuEzLqpTHVhnC04 .taskText0,#mermaid-svg-yTuEzLqpTHVhnC04 .taskText1,#mermaid-svg-yTuEzLqpTHVhnC04 .taskText2,#mermaid-svg-yTuEzLqpTHVhnC04 .taskText3{fill:#fff}#mermaid-svg-yTuEzLqpTHVhnC04 .task0,#mermaid-svg-yTuEzLqpTHVhnC04 .task1,#mermaid-svg-yTuEzLqpTHVhnC04 .task2,#mermaid-svg-yTuEzLqpTHVhnC04 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutside0,#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutside2{fill:#000}#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutside1,#mermaid-svg-yTuEzLqpTHVhnC04 .taskTextOutside3{fill:#000}#mermaid-svg-yTuEzLqpTHVhnC04 .active0,#mermaid-svg-yTuEzLqpTHVhnC04 .active1,#mermaid-svg-yTuEzLqpTHVhnC04 .active2,#mermaid-svg-yTuEzLqpTHVhnC04 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-yTuEzLqpTHVhnC04 .activeText0,#mermaid-svg-yTuEzLqpTHVhnC04 .activeText1,#mermaid-svg-yTuEzLqpTHVhnC04 .activeText2,#mermaid-svg-yTuEzLqpTHVhnC04 .activeText3{fill:#000 !important}#mermaid-svg-yTuEzLqpTHVhnC04 .done0,#mermaid-svg-yTuEzLqpTHVhnC04 .done1,#mermaid-svg-yTuEzLqpTHVhnC04 .done2,#mermaid-svg-yTuEzLqpTHVhnC04 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-yTuEzLqpTHVhnC04 .doneText0,#mermaid-svg-yTuEzLqpTHVhnC04 .doneText1,#mermaid-svg-yTuEzLqpTHVhnC04 .doneText2,#mermaid-svg-yTuEzLqpTHVhnC04 .doneText3{fill:#000 !important}#mermaid-svg-yTuEzLqpTHVhnC04 .crit0,#mermaid-svg-yTuEzLqpTHVhnC04 .crit1,#mermaid-svg-yTuEzLqpTHVhnC04 .crit2,#mermaid-svg-yTuEzLqpTHVhnC04 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-yTuEzLqpTHVhnC04 .activeCrit0,#mermaid-svg-yTuEzLqpTHVhnC04 .activeCrit1,#mermaid-svg-yTuEzLqpTHVhnC04 .activeCrit2,#mermaid-svg-yTuEzLqpTHVhnC04 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-yTuEzLqpTHVhnC04 .doneCrit0,#mermaid-svg-yTuEzLqpTHVhnC04 .doneCrit1,#mermaid-svg-yTuEzLqpTHVhnC04 .doneCrit2,#mermaid-svg-yTuEzLqpTHVhnC04 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-yTuEzLqpTHVhnC04 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-yTuEzLqpTHVhnC04 .milestoneText{font-style:italic}#mermaid-svg-yTuEzLqpTHVhnC04 .doneCritText0,#mermaid-svg-yTuEzLqpTHVhnC04 .doneCritText1,#mermaid-svg-yTuEzLqpTHVhnC04 .doneCritText2,#mermaid-svg-yTuEzLqpTHVhnC04 .doneCritText3{fill:#000 !important}#mermaid-svg-yTuEzLqpTHVhnC04 .activeCritText0,#mermaid-svg-yTuEzLqpTHVhnC04 .activeCritText1,#mermaid-svg-yTuEzLqpTHVhnC04 .activeCritText2,#mermaid-svg-yTuEzLqpTHVhnC04 .activeCritText3{fill:#000 !important}#mermaid-svg-yTuEzLqpTHVhnC04 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-yTuEzLqpTHVhnC04 g.classGroup text .title{font-weight:bolder}#mermaid-svg-yTuEzLqpTHVhnC04 g.clickable{cursor:pointer}#mermaid-svg-yTuEzLqpTHVhnC04 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-yTuEzLqpTHVhnC04 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-yTuEzLqpTHVhnC04 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-yTuEzLqpTHVhnC04 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-yTuEzLqpTHVhnC04 .dashed-line{stroke-dasharray:3}#mermaid-svg-yTuEzLqpTHVhnC04 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 .commit-id,#mermaid-svg-yTuEzLqpTHVhnC04 .commit-msg,#mermaid-svg-yTuEzLqpTHVhnC04 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-yTuEzLqpTHVhnC04 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-yTuEzLqpTHVhnC04 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-yTuEzLqpTHVhnC04 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-yTuEzLqpTHVhnC04 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-yTuEzLqpTHVhnC04 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-yTuEzLqpTHVhnC04 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-yTuEzLqpTHVhnC04 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-yTuEzLqpTHVhnC04 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-yTuEzLqpTHVhnC04 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-yTuEzLqpTHVhnC04 .edgeLabel text{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-yTuEzLqpTHVhnC04 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-yTuEzLqpTHVhnC04 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-yTuEzLqpTHVhnC04 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-yTuEzLqpTHVhnC04 .note-edge{stroke-dasharray:5}#mermaid-svg-yTuEzLqpTHVhnC04 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-yTuEzLqpTHVhnC04 .error-icon{fill:#522}#mermaid-svg-yTuEzLqpTHVhnC04 .error-text{fill:#522;stroke:#522}#mermaid-svg-yTuEzLqpTHVhnC04 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-yTuEzLqpTHVhnC04 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-yTuEzLqpTHVhnC04 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-yTuEzLqpTHVhnC04 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-yTuEzLqpTHVhnC04 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-yTuEzLqpTHVhnC04 .marker{fill:#333}#mermaid-svg-yTuEzLqpTHVhnC04 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-yTuEzLqpTHVhnC04 {color: rgba(0, 0, 0, 0.75);font: ;} 開(kāi)始 當(dāng)前節(jié)點(diǎn)類(lèi)別是否純?
<即是否全為同一類(lèi)> 計(jì)算類(lèi)別信息熵E-T 計(jì)算特征信息熵E-F 計(jì)算信息增益Gain-F 是否為C4.5 計(jì)算特征不確定性U-F 計(jì)算信息增益率IGR,
選出最大者,用其劃分?jǐn)?shù)據(jù) 設(shè)置該節(jié)點(diǎn)為葉節(jié)點(diǎn)-即分類(lèi)
結(jié)果,將該分類(lèi)特征情況去除 是否還有需要
進(jìn)行劃分的節(jié)點(diǎn) 結(jié)束

cart算法

cart算法也是應(yīng)用決策樹(shù)的算法之一,再一次理解決策樹(shù)的核心是將混雜的數(shù)據(jù)劃分成純凈的數(shù)據(jù),劃分的依據(jù)在于特征的選擇。因此怎么評(píng)價(jià)一個(gè)特征是不是一個(gè)好特征,是通過(guò)其劃分的數(shù)據(jù)“純度”得到的。而評(píng)價(jià)的定量標(biāo)準(zhǔn)在ID3中是信息增益,在C4.5中是信息增益率,在cart中是基尼系數(shù)。

基尼系數(shù)

基尼系數(shù)反映了樣本的不確定度,樣本差異越小,基尼系數(shù)越小;反之,基尼系數(shù)越大。我們常用基尼系數(shù)衡量一個(gè)國(guó)家收入差距。先來(lái)看看基尼系數(shù)的計(jì)算公式:
G i n i ( T ) = 1 ? ∑ k = 1 n [ p ( T k ∣ T ) ] 2 Gini(T) = 1 - \sum_{k=1}^n[p(T_k|T)]^2 Gini(T)=1?k=1n?[p(Tk?T)]2
其中, T T T代表分類(lèi)(如是否去打籃球), T k T_k Tk?代表第k個(gè)分類(lèi)情況(在打籃球中就是:是/否 ),我們以之前打籃球的例子的一部分來(lái)做示例計(jì)算。

溫度濕度風(fēng)速是否打籃球
適中
寒冷
寒冷強(qiáng)
適中
適中強(qiáng)

查看是否打籃球分類(lèi)列,包含 {是,是,是,否,否}5個(gè)結(jié)果。其 G i n i Gini Gini系數(shù)為:
G i n i ( T ) = 1 ? [ ( 3 5 ) 2 + ( 2 5 ) 2 ] = 0.48 Gini(T) = 1 - [(\frac{3}{5})^2+(\frac{2}{5})^2] = 0.48 Gini(T)=1?[(53?)2+(52?)2]=0.48

特征條件基尼系數(shù)

與ID3中的特征條件信息熵類(lèi)似,它反映的是利用特征進(jìn)行數(shù)據(jù)劃分后,分類(lèi)基尼系數(shù)的變化情況。下面是其計(jì)算公式:
G i n i ( T , F ) = ∑ i = 1 2 D i D ? G i n i ( T i ) Gini(T,F) = \sum_{i=1}^2\frac{D_i}{D}*Gini(T_i) Gini(T,F)=i=12?DDi???Gini(Ti?)
D i D_i Di?是分類(lèi)結(jié)果某一類(lèi)中的樣本數(shù)量, D D D是總的樣本數(shù)量。為什么累加是2不是n?注意cart算法和ID3、C4.5算法有一個(gè)不同點(diǎn)是cart算法構(gòu)造的是二叉樹(shù),更加簡(jiǎn)潔,針對(duì)一個(gè)特征的一個(gè)具體情況(例如濕度:高),cart在分類(lèi)的時(shí)候會(huì)將樣本分為高和不高兩類(lèi),所以公式中的集合總是2個(gè)。分成二叉樹(shù)的好處是結(jié)構(gòu)更為簡(jiǎn)單。下面是我繪制的一個(gè)樣例:

分別按濕度的高、不高,風(fēng)速的強(qiáng)、不強(qiáng)兩種特征劃分得到基尼系數(shù)顯然用風(fēng)速的強(qiáng)、不強(qiáng)劃分要更好,因?yàn)槠浠嵯禂?shù)更小。(基尼系數(shù)為0說(shuō)明完成了純凈劃分)。此時(shí)就完成了一次劃分,對(duì)劃分的結(jié)果進(jìn)行判斷是否分類(lèi)已經(jīng)“純”了,若不純,則繼續(xù)劃分。

小結(jié)

總結(jié)一下cart算法的流程。

流程圖中的節(jié)點(diǎn)是指用于劃分的數(shù)據(jù)

#mermaid-svg-YCyAYXcJvuYj0uR4 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .label text{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .node rect,#mermaid-svg-YCyAYXcJvuYj0uR4 .node circle,#mermaid-svg-YCyAYXcJvuYj0uR4 .node ellipse,#mermaid-svg-YCyAYXcJvuYj0uR4 .node polygon,#mermaid-svg-YCyAYXcJvuYj0uR4 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-YCyAYXcJvuYj0uR4 .node .label{text-align:center;fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .node.clickable{cursor:pointer}#mermaid-svg-YCyAYXcJvuYj0uR4 .arrowheadPath{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-YCyAYXcJvuYj0uR4 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-YCyAYXcJvuYj0uR4 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-YCyAYXcJvuYj0uR4 .edgeLabel rect{opacity:0.9}#mermaid-svg-YCyAYXcJvuYj0uR4 .edgeLabel span{color:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-YCyAYXcJvuYj0uR4 .cluster text{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-YCyAYXcJvuYj0uR4 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-YCyAYXcJvuYj0uR4 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-YCyAYXcJvuYj0uR4 .actor-line{stroke:grey}#mermaid-svg-YCyAYXcJvuYj0uR4 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .sequenceNumber{fill:#fff}#mermaid-svg-YCyAYXcJvuYj0uR4 #sequencenumber{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .messageText{fill:#333;stroke:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-YCyAYXcJvuYj0uR4 .labelText,#mermaid-svg-YCyAYXcJvuYj0uR4 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-YCyAYXcJvuYj0uR4 .loopText,#mermaid-svg-YCyAYXcJvuYj0uR4 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-YCyAYXcJvuYj0uR4 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-YCyAYXcJvuYj0uR4 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-YCyAYXcJvuYj0uR4 .noteText,#mermaid-svg-YCyAYXcJvuYj0uR4 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-YCyAYXcJvuYj0uR4 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-YCyAYXcJvuYj0uR4 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-YCyAYXcJvuYj0uR4 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-YCyAYXcJvuYj0uR4 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .section{stroke:none;opacity:0.2}#mermaid-svg-YCyAYXcJvuYj0uR4 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-YCyAYXcJvuYj0uR4 .section2{fill:#fff400}#mermaid-svg-YCyAYXcJvuYj0uR4 .section1,#mermaid-svg-YCyAYXcJvuYj0uR4 .section3{fill:#fff;opacity:0.2}#mermaid-svg-YCyAYXcJvuYj0uR4 .sectionTitle0{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .sectionTitle1{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .sectionTitle2{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .sectionTitle3{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-YCyAYXcJvuYj0uR4 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .grid path{stroke-width:0}#mermaid-svg-YCyAYXcJvuYj0uR4 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-YCyAYXcJvuYj0uR4 .task{stroke-width:2}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskText:not([font-size]){font-size:11px}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-YCyAYXcJvuYj0uR4 .task.clickable{cursor:pointer}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskText0,#mermaid-svg-YCyAYXcJvuYj0uR4 .taskText1,#mermaid-svg-YCyAYXcJvuYj0uR4 .taskText2,#mermaid-svg-YCyAYXcJvuYj0uR4 .taskText3{fill:#fff}#mermaid-svg-YCyAYXcJvuYj0uR4 .task0,#mermaid-svg-YCyAYXcJvuYj0uR4 .task1,#mermaid-svg-YCyAYXcJvuYj0uR4 .task2,#mermaid-svg-YCyAYXcJvuYj0uR4 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutside0,#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutside2{fill:#000}#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutside1,#mermaid-svg-YCyAYXcJvuYj0uR4 .taskTextOutside3{fill:#000}#mermaid-svg-YCyAYXcJvuYj0uR4 .active0,#mermaid-svg-YCyAYXcJvuYj0uR4 .active1,#mermaid-svg-YCyAYXcJvuYj0uR4 .active2,#mermaid-svg-YCyAYXcJvuYj0uR4 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-YCyAYXcJvuYj0uR4 .activeText0,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeText1,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeText2,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeText3{fill:#000 !important}#mermaid-svg-YCyAYXcJvuYj0uR4 .done0,#mermaid-svg-YCyAYXcJvuYj0uR4 .done1,#mermaid-svg-YCyAYXcJvuYj0uR4 .done2,#mermaid-svg-YCyAYXcJvuYj0uR4 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-YCyAYXcJvuYj0uR4 .doneText0,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneText1,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneText2,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneText3{fill:#000 !important}#mermaid-svg-YCyAYXcJvuYj0uR4 .crit0,#mermaid-svg-YCyAYXcJvuYj0uR4 .crit1,#mermaid-svg-YCyAYXcJvuYj0uR4 .crit2,#mermaid-svg-YCyAYXcJvuYj0uR4 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCrit0,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCrit1,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCrit2,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCrit0,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCrit1,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCrit2,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-YCyAYXcJvuYj0uR4 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-YCyAYXcJvuYj0uR4 .milestoneText{font-style:italic}#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCritText0,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCritText1,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCritText2,#mermaid-svg-YCyAYXcJvuYj0uR4 .doneCritText3{fill:#000 !important}#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCritText0,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCritText1,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCritText2,#mermaid-svg-YCyAYXcJvuYj0uR4 .activeCritText3{fill:#000 !important}#mermaid-svg-YCyAYXcJvuYj0uR4 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-YCyAYXcJvuYj0uR4 g.classGroup text .title{font-weight:bolder}#mermaid-svg-YCyAYXcJvuYj0uR4 g.clickable{cursor:pointer}#mermaid-svg-YCyAYXcJvuYj0uR4 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-YCyAYXcJvuYj0uR4 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-YCyAYXcJvuYj0uR4 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-YCyAYXcJvuYj0uR4 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-YCyAYXcJvuYj0uR4 .dashed-line{stroke-dasharray:3}#mermaid-svg-YCyAYXcJvuYj0uR4 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 .commit-id,#mermaid-svg-YCyAYXcJvuYj0uR4 .commit-msg,#mermaid-svg-YCyAYXcJvuYj0uR4 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-YCyAYXcJvuYj0uR4 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-YCyAYXcJvuYj0uR4 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-YCyAYXcJvuYj0uR4 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-YCyAYXcJvuYj0uR4 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-YCyAYXcJvuYj0uR4 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-YCyAYXcJvuYj0uR4 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-YCyAYXcJvuYj0uR4 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-YCyAYXcJvuYj0uR4 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-YCyAYXcJvuYj0uR4 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-YCyAYXcJvuYj0uR4 .edgeLabel text{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YCyAYXcJvuYj0uR4 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-YCyAYXcJvuYj0uR4 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-YCyAYXcJvuYj0uR4 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-YCyAYXcJvuYj0uR4 .note-edge{stroke-dasharray:5}#mermaid-svg-YCyAYXcJvuYj0uR4 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-YCyAYXcJvuYj0uR4 .error-icon{fill:#522}#mermaid-svg-YCyAYXcJvuYj0uR4 .error-text{fill:#522;stroke:#522}#mermaid-svg-YCyAYXcJvuYj0uR4 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-YCyAYXcJvuYj0uR4 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-YCyAYXcJvuYj0uR4 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-YCyAYXcJvuYj0uR4 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-YCyAYXcJvuYj0uR4 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-YCyAYXcJvuYj0uR4 .marker{fill:#333}#mermaid-svg-YCyAYXcJvuYj0uR4 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-YCyAYXcJvuYj0uR4 {color: rgba(0, 0, 0, 0.75);font: ;} 開(kāi)始 分類(lèi)樣本節(jié)點(diǎn)是否'純' 計(jì)算各個(gè)特征的各個(gè)
情況的條件基尼系數(shù) 選擇條件基尼系數(shù)最大者,按其進(jìn)行劃分 設(shè)置該節(jié)點(diǎn)為葉節(jié)點(diǎn)-即分類(lèi)結(jié)果
將該分類(lèi)特征情況去除 是否還有需要
進(jìn)行劃分的節(jié)點(diǎn) 結(jié)束

決策樹(shù)的這幾個(gè)算法本身并不難理解,但仍需要自己多動(dòng)手在紙上運(yùn)算才能深入理解。如果想要將其應(yīng)用到實(shí)際開(kāi)發(fā)中,建議自己動(dòng)手實(shí)現(xiàn)一下。如果覺(jué)得有難度,也沒(méi)有關(guān)系,我已經(jīng)將對(duì)應(yīng)算法的代碼放在了我的Github中,你可以對(duì)照參考。

總結(jié)

以上是生活随笔為你收集整理的决策树:ID3C4.5cart算法(从原理到实现-小白教程超详细)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 欧美特级黄色片 | 亚洲情热 | 成人区人妻精品一区 | 国产日韩精品一区二区三区 | 在线不卡毛片 | 欧美日韩在线综合 | 日韩av中文在线 | 国产精品三区在线观看 | 北岛玲av | 午夜精品福利一区二区三区蜜桃 | 日韩最新视频 | 美女日批在线观看 | 中文字幕在线观看播放 | 九色网址| 性史性农村dvd毛片 日韩精品在线视频观看 | av成人免费在线 | 青青草娱乐在线 | 大尺度摸揉捏胸床戏视频 | 黄频在线播放 | 久久久久久免费精品 | 高清精品xnxxcom | 阿的白色内裤hd中文 | 欧美性生活视频 | 森泽佳奈作品在线观看 | 久色婷婷 | 亚洲精品高清视频 | 深爱开心激情 | 污免费视频 | 久久久久久久久国产 | 久久九九精品视频 | 性日韩 | 嫩草av在线| 久久久资源网 | 欧美色图中文字幕 | 很黄的网站在线观看 | 国产精品久久久久久久久晋中 | 天天干天天碰 | 亚洲天堂伊人网 | 亚洲成人激情视频 | 瑟瑟综合网 | 精品免费囯产一区二区三区 | 国产91黄色 | 国产成人黄色 | xvideos成人免费视频 | 日韩人妻一区二区三区蜜桃视频 | jizzzz中国 | 91麻豆精品国产91久久久久久久久 | 日韩一区在线观看视频 | 污漫在线观看 | 天天搞夜夜爽 | 九九精品九九 | 国产成人网| 成人久草 | 亚洲精品综合在线 | 免费视频网站www | 日日夜夜天天干 | av免费观看在线 | 人人插人人澡 | 欧美 日韩 综合 | 国产视频二区 | 日本一区二区三区在线免费观看 | www.com欧美| 67194午夜 | 成av人片一区二区三区久久 | 国产农村乱对白刺激视频 | 日韩最新| 亚洲三区视频 | 精品欧美在线观看 | 成人美女视频 | 久久偷看各类wc女厕嘘嘘偷窃 | 成人作爱视频 | 久久久久久久久99精品 | 亚洲欧美黄色片 | 成人久久精品 | 一级大片儿 | 亚洲精品黄色 | 天天操人人爽 | 亚洲+小说+欧美+激情+另类 | 日韩欧美综合在线 | 一本高清视频 | 97看片吧| 黄色一级一片免费播放 | 国产精品一区二区电影 | 黄色一极毛片 | 色多多网站 | 日韩专区在线 | 综合久久精品 | bl无遮挡高h动漫 | 欧美黄视频在线观看 | 久久一区二区三区视频 | 超碰偷拍| 欧美成人三区 | 99riav国产精品 | 色丁香久久 | 91精品91| 91欧美激情一区二区三区成人 | 91禁动漫在线 | 日本理论片午伦夜理片在线观看 | 毛片日韩 |