1. 程式人生 > >決策樹梳理

決策樹梳理

決策樹

martin

基本概念

一般的,一顆決策樹包含一個根節點、若干個內部節點和若干個葉節點,所以決策樹相當於多叉樹。葉節點對應於決策結果,其他每個結點則對應與一個屬性測試,每個節點包含的樣本集合根據屬性測試的結果被分到子節點中。決策樹學習的目的是為了產生一棵泛化能力強,即處理未見示例能力的決策樹,基本思想遵循“分而治之”的策略。

決策樹的生成是一個遞迴過程。在決策樹演算法中有三種情形會導致遞迴返回:

  1. 當前節點包含的樣本全部屬於同一個類別,無需劃分。
  2. 當前屬性集為空,或是所有樣本在所有屬性集上取值相同,無法劃分。此時,把當前節點標記為葉節點,並將其類別設定為該節點所含樣本最多的類別。
  3. 當前節點包含的樣本集合為空,不能劃分。此時,同樣把當前節點標記為葉節點,但將其類別設定為其父節點所含樣本最多的類別。

注意:2和3不同,2是後驗概率,3是把父節點的樣本分佈作為當前節點的先驗概率。

下面給出一個決策樹的例子:

dt-2.png-16.3kB

決策樹相當於對特徵空間進行劃分,如下:

dt-1.png-7.1kB

也就是說,決策樹的每條路徑對應於特徵空間的每個區域。對於決策樹主要有以下幾種:ID3,C4.5主要應用於分類任務;CART樹,主要應用於預測任務,下面將逐個介紹。

ID3

對於之前給出的決策樹的節點劃分在ID3中有特定的方法,ID3中節點劃分所衡量的指標是:資訊增益。

E(D)=k=1y
pklog2pk

aGain(D,a)=E(D)v=1v|Dv||D|E(Dv)
一般而言,資訊增益越大,則意味著使用屬性α來進行劃分所獲得的的“純度提升”越大。因此,我們可用資訊增益來進行決策樹的劃分屬性選擇。

給一個數據集,我們在這個資料集上來進行ID3決策樹的生成:

編號 色澤 根蒂 敲聲 紋理 臍部 觸感 好瓜
1 青綠 蜷縮 濁響 清晰 凹陷 硬滑
2 烏黑 蜷縮 沉悶 清晰 凹陷 硬滑
3 烏黑 蜷縮 濁響 清晰 凹陷 硬滑
4 青綠 蜷縮 沉悶 清晰 凹陷 硬滑
5 淺白 蜷縮 濁響 清晰 凹陷 硬滑
6 青綠 稍蜷 濁響 清晰 稍凹 軟粘
7 烏黑 稍蜷 濁響 稍糊 稍凹 軟粘
8 烏黑 稍蜷 濁響 清晰 稍凹 硬滑
9 烏黑 稍蜷 沉悶 稍糊 稍凹 硬滑
10 青綠 硬挺 清脆 清晰 平坦 軟粘
11 淺白 硬挺 清脆 模糊 平坦 硬滑
12 淺白 蜷縮 濁響 模糊 平坦 軟粘
13 青綠 稍蜷 濁響 稍糊 凹陷 硬滑
14 淺白 稍蜷 沉悶 稍糊 凹陷 硬滑
15 烏黑 稍蜷 濁響 清晰 稍凹 軟粘
16 淺白 蜷縮 濁響 模糊 平坦 硬滑
17 青綠 蜷縮 沉悶 稍糊 稍凹 硬滑

然後,我們要計算出當前屬性集合{}中每個屬性的資訊增益。

先計算根節點的資訊熵:

E(D)=k=12pklog2pk=(817log2817+917log2917)=0.998
計算屬性“”的資訊增益,它有3個可能取的值:{},分別記為:

D1(=),包含編號為{1,4,6,10,13,17}6個樣例,於是p1=36,p2=36
D2(=),包含編號為{2,3,7,8,9,15}6個樣例,於是p1=46,p2=26
D3(=),包含編號為{5,11,12,14,16}5個樣例,於是p1=15,p2=45
有了上面的資訊就可以求該特徵的每個屬性的資訊熵了:

E(D1)

相關推薦

決策梳理

決策樹 martin 決策樹 基本概念 ID3 C45 CART 剪枝處理 前剪枝 後剪枝 基本概念 一般的,一顆決策樹包含一個根節點、若干個內部節點和若干個葉節點,所以決策樹相當於多叉樹。葉節點對應於決策結果,其他每個結點則對

決策基礎梳理

1.資訊理論基礎   1.1.熵     熵是資訊的關鍵度量,通常指一條資訊中需要傳輸或者儲存一個訊號的平均位元數。熵衡量了預測隨機變數的不確定度,不確定性越大熵越大。     針對隨機變數XX,其資訊熵的定義如下:              資訊熵是信源編碼中,壓縮率的下限。當我們使用少於資訊熵的

Decision Tree 1: Basis 決策基礎

entropy inf 屬於 得到 == bad spa span idt 介紹 我們有一些歷史數據: record id\attributes A B C Result 1 a1 b1 c1 Good 2 a2 b2 c1 Bad 3 a1 b3

雪飲者 決策系列(二)決策應用

ssi 字符串長度 mes pla 選擇 font com vector nac   本篇以信息增益最大作為最優化策略來詳細介紹決策樹的決策流程。   首先給定數據集,見下圖    註:本數據來源於網絡 本篇將以這些數據作為訓練數據(雖然少,但足以介紹清楚原理!),下圖是決

決策與隨機森林

隨機 tro 過程 能夠 ots pull 葉子節點 合並 pan 決策樹   決策樹學習采用的是自頂向下的遞歸方法, 其基本思想是以信息熵為度量構造一棵熵值下降最快的樹,到葉子節點處的熵值為零,   此時每個葉節點中的實例都屬於同一類。 決策樹三種生成算法 ID3 -

【Python】決策的python實現

uia bmp say 不知道 times otto outlook lru bgm 【Python】決策樹的python實現 2016-12-08 數據分析師Nieson 1. 決策樹是什麽? 簡單地理解,就是根據一些 feature 進行分類,每個節點提一個問

SparkMLlib分類算法之決策學習

2.3 數據預處理 true ray score 嚴重 acc 標準化 lambda SparkMLlib分類算法之決策樹學習 (一) 決策樹的基本概念     決策樹(Decision Tree)是在已知各種情況發生概率的基礎上,通過構成決策樹來求取凈現值的期望值大於等於

Python_sklearn機器學習庫學習筆記(四)decision_tree(決策

min n) 空間 strong output epo from 標簽 ict # 決策樹 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.

SparkMLlib回歸算法之決策

ria 之間 feature 輸入 修改 決策樹算法 技術 color 實例 SparkMLlib回歸算法之決策樹 (一),決策樹概念 1,決策樹算法(ID3,C4.5 ,CART)之間的比較:   1,ID3算法在選擇根節點和各內部節點中的分支屬性時,采用信息增益作為評價

機器學習入門 - 1. 介紹與決策(decision tree)

recursion machine learning programmming 機器學習(Machine Learning) 介紹與決策樹(Decision Tree)機器學習入門系列 是 個人學習過程中的一些記錄與心得。其主要以要點形式呈現,簡潔明了。1.什麽是機器學習?一個比較概括的理解是:

決策模型組合之隨機森林與GBDT(轉)

get 9.png 生成 代碼 margin ast decision 損失函數 固定 版權聲明: 本文由LeftNotEasy發布於http://leftnoteasy.cnblogs.com, 本文可以被全部的轉載或者部分使用,但請註明出處,如果有問題,請

監督式學習 -- 分類決策(一)

cte 求解 分支 基本概念 tracking 它的 解決 mat 這就是 決策樹(decision tree)是一種基本的分類與回歸方法。其表示的樹型結構,能夠覺得是if-else規則的集合。基本的長處是分類可讀性好,速度快。一般會有三個步驟:特征選擇、決策樹的生成

分類算法:決策(C4.5)(轉)

clas 依賴 1.5 -s clip win pan 定義 衡量 C4.5是機器學習算法中的另一個分類決策樹算法,它是基於ID3算法進行改進後的一種重要算法,相比於ID3算法,改進有如下幾個要點: 1)用信息增益率來選擇屬性。ID3選擇屬性用的是子樹的信息增益,這裏可

安裝xgboost用於決策細化分枝

play variant transform 接下來 baidu 執行命令 下載 ron 執行 xgboost的安裝雖然復雜,但是經過很多任大佬的不懈努力,現在的安裝明顯簡單了很多(前提是裝好scipy、numpy):   下載xgboost鏈接:http://pan.

Spark機器學習(6):決策算法

projects 信息 txt .cn import n) .com util seq 1. 決策樹基本知識 決策樹就是通過一系列規則對數據進行分類的一種算法,可以分為分類樹和回歸樹兩類,分類樹處理離散變量的,回歸樹是處理連續變量。 樣本一般都有很多個特征,有的特征對分

我的spark python 決策實例

one ray print classes gin array erro parallel depth from numpy import array from pyspark.mllib.regression import LabeledPoint from pyspa

決策

id3 vertical review id3算法 rect 能力 可能 height 應用 決策樹是應用最廣的歸納推理算法之中的一個,它是一種逼近離散函數方法,對噪聲數據有非常好的魯棒性,可以學習析取表達式,廣為應用的算法有ID3,ASSISTANT和

手把手生成決策(dicision tree)

img ever load eight 嘗試 存在 lan 3.6 https 手把手生成決策樹(dicision tree)

決策原理及實現

方式 -1 變化 log nbsp 導致 結點 以及 重要 1、決策樹原理 1.1、定義 分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點和有向邊組成。結點有兩種類型:內部節點和葉節點,內部節點表示一個特征或屬性,葉節點表示一個類。

javascript實現樸素貝葉斯分類與決策ID3分類

.com 訓練集 this ice map ive sum length roc 今年畢業時的畢設是有關大數據及機器學習的題目。因為那個時間已經步入前端的行業自然選擇使用JavaScript來實現其中具體的算法。雖然JavaScript不是做大數據處理的最佳語言,相比還沒有