1. 程式人生 > >ID3和C4.5

ID3和C4.5

(一)簡介

1.決策樹是一種基本的分類與迴歸方法,由結點跟有向邊組成;其中結點可以分為內部結點(代表特徵)跟葉結點(代表類別或者回歸預測值);

2.決策樹模型:從根結點開始,對樣本的某一特徵進行測試,根據測試結果,將樣本分配到其子結點,如此遞迴對樣本進行測試並分配,直至達到葉結點;

3.決策樹模型的學習有3個步驟:特徵選擇,決策樹的生成(區域性最優化過程),決策樹的剪枝(全域性最優化過程);

4. 決策樹模型的3種經典學習演算法:ID3,C4.5,CART;

5.本博文主要講解ID3跟C4.5演算法,兩者的區別主要在於前者用的是資訊增益來選擇特徵,後者用的是資訊增益比來選擇特徵以及增加對連續值特徵的處理步驟;

PS:ID3與C4.5主要適用於分類問題,CART既適用於分類也適用於迴歸預測問題;

(二)特徵選擇

1.熵的定義:表示隨機變數的不確定性;熵越大,隨機變數的不確定性越大;熵只跟隨機變數的概率分佈有關;


2.資訊增益與資訊增益比

(1)符號簡介


PS:資料集總共有K個類;特徵A有n個取值;絕對值符號表示資料集容量;

(2)資料集D的熵的計算:


(3)已知特徵A求資料集D的熵:


(4)計算特徵A的資訊增益:


(5)資訊增益比的計算:資訊增益除以劃分資訊;劃分資訊定義如下:


(三)決策樹的生成

1.資料集記為D;樣本的特徵集記為A;生成的決策樹記為T;資訊增益閾值記為t;

2.生成演算法:

(1)從根結點開始,資料集D全部分配在根結點;

(2)若D中所有樣本都屬於同一類,則將該類作為該結點的類標記,並返回T;

(3)若A為空集,則將D中樣本數最大的類作為該結點的類標記,並返回T;

(4)計算特徵集A中各特徵對D的資訊增益,選擇資訊增益最大的特徵Ag;如果特徵Ag的資訊增益小於閾值t,那麼將D中樣本數最大的類作為該結點的類標記,並返回T;

(5)依據特徵Ag的每一可能值ai,將D分割為若干個非空子集Di 並將Di中樣本數最大的類作為類標記構建子結點,由結點跟子結點組成樹T,返回T;

(6)對於第 i 個子結點,以Di為訓練集,以A-{Ag}為特徵集,遞迴地呼叫(2)~(5),得到子樹Ti,返回T;

(四)常見問題

1.C4.5比起ID3的改進:

(1)在ID3中用資訊增益選擇特徵時,會偏向於選擇取值多的特徵(不一定是最好的特徵);而採用資訊增益比,可以削弱這種影響;

(2)增加對連續值特徵的處理步驟,將值排序,然後依次選擇相鄰兩個數的中值進行二元劃分,計算資訊增益比,從而選出最佳劃分點;

2.決策樹的優點:

(1)計算簡單,可解釋性強;

(2)適合處理有缺失屬性值的樣本:空缺值相當於分裂時加多一個分支;

(3)能夠處理不相關的特徵;

3.決策樹的缺點:

(1)容易過擬合;

(2)不適合大樣本資料集:每次分裂都需要遍歷整個樣本;

相關推薦

演算法-基於ID3C4.5的決策樹演算法

目錄   摘要 構建過程 ID3演算法 注意點: C4.5 參考文獻: 摘要 決策樹演算法是相對比較清晰簡單的有監督分類演算法,所謂有監督就是需要給出標準的已知分類的樣本資料集,根據資料集訓練或者說構建出一個模型,然後根據模型對新的資料進行預測分類。

ID3C4.5

(一)簡介 1.決策樹是一種基本的分類與迴歸方法,由結點跟有向邊組成;其中結點可以分為內部結點(代表特徵)跟葉結點(代表類別或者回歸預測值); 2.決策樹模型:從根結點開始,對樣本的某一特徵進行測試,根據測試結果,將樣本分配到其子結點,如此遞迴對樣本進行測試並分配,直至達到葉結點; 3.決策樹模型的學

ID3C4.5的區別聯絡

  ID3演算法是決策樹的一個經典的構造演算法,在一段時期內曾是同類研究工作的比較物件,但通過近些年國內外學者的研究,ID3演算法也暴露出一些問題,具體如下:     (1)資訊增益的計算依賴於特徵數目較多的特徵,而屬性取值最多的屬性並不一定最優。     (2)ID3是非

ID3C4.5決策樹演算法總結

1.決策樹的演算法流程 決策樹的演算法流程主要是: 1.如果當前樣本集全部為同一類別,則返回這一類標籤 2.如果當前屬性集為空集或者D中樣本在屬性集中的取值全部相同,那麼採用多數表決法,返回樣本數最多的類標籤 3.如果不滿足上面三個條件,說明當前結點還可

weka使用ID3C4.5演算法 分類實驗

使用weka做分類任務並建立相應決策樹(ID3演算法和C4.5演算法) weka安裝 相關知識理論 2.1 決策樹 2.2 ID3演算法 2.3 C4.5演算法 分類實驗 3.1 資料處理 3.2 使用ID3演算法 3

決策樹ID3演算法C4.5演算法實戰

老師給的題目: 程式碼實現【兩種演算法合在一個檔案裡】:  from numpy import * def createDataSet(): dataSet = [[1, 1, 1, 0, 'no'], [1, 1, 1, 1, '

決策樹學習 -- ID3演算法C4.5演算法(C++實現)

前言 在學習西瓜書的時候,由於書本講的大多是概念,所以打算用C++實現它的演算法部分(至於python和matlab實現,實現簡單了很多,可以自己基於C++程式碼實現)。至於測試資料,採用了書中關於西瓜的資料集。 什麼是決策樹 首先,決策樹(也叫做分類

【面試考】【入門】決策樹演算法ID3C4.5CART

關於決策樹的purity的計算方法可以參考: [決策樹purity/基尼係數/資訊增益 Decision Trees](https://www.cnblogs.com/PythonLearner/p/12940067.html) 如果有不懂得可以私信我,我給你講。 ## ID3 用下面的例子來理解這個演算法:

決策樹演算法(ID3C4.5,CART)

ID3,C4.5,CART是是決策樹的核心演算法。它們都由特徵選擇,樹的生成,剪枝組成。但ID3和C4.5用於分類,CART可用於分類與迴歸。 1.ID3演算法 ID3演算法遞迴地構建決策樹,從根節點開始,對所有特徵計算資訊增益,選擇資訊增益最大的特徵作為節點的特徵,由該特徵的不同取值建

機器學習總結(八)決策樹ID3C4.5演算法,CART演算法

本文主要總結決策樹中的ID3,C4.5和CART演算法,各種演算法的特點,並對比了各種演算法的不同點。 決策樹:是一種基本的分類和迴歸方法。在分類問題中,是基於特徵對例項進行分類。既可以認為是if-then規則的集合,也可以認為是定義在特徵空間和類空間上的條件概率分佈。 決策樹模型:決策樹由結點和有向邊組

決策樹的構建演算法 -- ID3C4.5 演算法

1. 概述 上一篇日誌中,我們介紹了最簡單的分類迴歸演算法 – K 近鄰演算法。 k 近鄰演算法 本篇日誌我們來介紹構建專家系統和資料探勘最常用的演算法 – 決策樹。 2. 決策樹 在系統流程圖中,我們常

決策樹ID3C4.5、CART、隨機森林的原理與例子

(寫在前面:作者是一名剛入學的模式識別專業的碩士生,第一次寫部落格,有錯誤的地方還請大家多多指教評論,一起交流呀~) 決策樹的基本流程 ①劃分特徵的選擇(常見的選擇方法有:資訊增益、增益率、基尼指數,下文會詳細介紹) ②劃分停止準則:停止準則表示該節點不再劃分

決策樹的進化(ID3C4.5、CART、GBDT、RF、DART、lambdaMART、XGBoost、lightGBM)

pipeline 在資料探勘領域中,決策樹是對資料進行建模的一種很有效的手段。當資料集被清洗好後,資料集就是樣本的集合,每一個樣本都是有一樣多的屬性,但屬性值可能不同(也有可能不存在即屬性值缺失)。每一個樣本,分為屬性(也可稱為特徵)和label兩部分,我們運用決策樹處理資

決策樹(ID3C4.5、CART)

顧名思義,決策樹是基於樹結構進行決策。 1.ID3決策樹 以最大化資訊增益為準則來選擇劃分屬性。 假設離散屬性a上有V個可能的取值{a1,...,aV}\{a^1,...,a^V\}{a1,...,aV},若使用a對樣本集D進行劃分,則會產生V個分支節點。其中第

機器學習 - 決策樹(下)- CART 以及與 ID3C4.5的比較

機器學習 - 決策樹(下)- CART 以及與 ID3、C4.5的比較 CART 迴歸樹 分類樹 剪枝 剪枝 選擇 決策樹特點總結 ID3,C4.

機器學習 - 決策樹(中)- ID3C4.5 以及剪枝

機器學習 - 決策樹(中)- ID3、C4.5 以及剪枝 決策樹簡述 決策樹過程 ID3 C4.5 過擬合 剪枝定義 剪枝過程

離散型與連續型資料決策樹構建及列印實現 R語言,ID3C4.5演算法

本人的第一篇文章,趁著我們的資料探勘課設的時間,把實現的決策樹程式碼,拿出來分享下。有很多漏洞和缺陷,還有很多駭客思想的成分,但是總之,能實現,看網上的程式碼,能用的其實也沒幾個。廢話不多說,直接看程式碼 特別鳴謝博主skyonefly的程式碼 附上鍊接:R

決策樹之ID3C4.5、C5.0

2011年獲得了資料探勘領域最高榮譽獎KDD創新獎,昆蘭發明了著名的決策樹學習演算法ID3、C4.5,其個人主頁公佈了C4.5的C程式碼。—————————————————————————————————————————————————————————————————————

決策分類樹演算法之ID3C4.5算法系列

一、引言 在最開始的時候,我本來準備學習的是C4.5演算法,後來發現C4.5演算法的核心還是ID3演算法,所以又輾轉回到學習ID3演算法了,因為C4.5是他的一個改進。至於是什麼改進,在後面的描述中我會提到。 二、ID3演算法 ID3演算法是一種分類決策樹演算法。他通過一系

【機器學習】決策樹(三)——生成演算法(ID3C4.5與CRAT)

回顧 前面我們介紹了決策樹的特徵選擇,以及根據資訊增益構建決策樹。 那麼決策樹的生成又有哪些經典演算法呢?本篇將主要介紹ID3的生成演算法,然後介紹C4.5中的生成演算法。最後簡單介紹CRAT演算法。 ID3演算法 前面我們提到,一般而言,資訊增