Python 機器學習 決策樹演算法

2021-09-29 08:49:55 字數 827 閱讀 5444

決策樹是乙個類似於流程圖的樹結構,分支節點表示對乙個特徵進行測試,根據測試結果進行分類,葉節點代表類別

決策樹的構造過程實際上就是針對於原有資料集,選取一定的屬性測試條件,對原資料集進行不斷切分的過程

一旦構造完決策樹,那麼對於檢驗記錄進行分類就很容易了,因為決策樹本身生成的就是一系列規則,因此決策樹是生成模型的演算法

原則上講,資料集中的所有特徵都可以用來分枝,特徵上的任意節點又可以自由組合,所以乙個資料集上可以發展處非常多棵決策樹,在這些決策樹中,總會有一棵最好的,這就是全域性最優樹

對於如何選取全域性最優樹,業界大佬們研究出了很多有效的演算法,這些演算法基本都是使用『貪心策略』來作為思想寫出來的,用於衡量分枝好不好的指標,就是不純度

不純度:決策樹的每個葉子節點中都會包含一組資料,在這組資料中,如果有某一類標籤占有較⼤大的⽐例,我們就說葉子節點「純」,分枝分得好。某⼀類標籤佔的⽐例越大,葉子就越純,不純度就越低,分枝就越好。如果沒有哪一類標籤的⽐例很大,各類標籤都相對平均,則說葉⼦子節點」不純「,分枝不好,不純度⾼

由不純度右引導出兩個指標:id3中的資訊熵(entropy),也叫夏農熵和cart中的基尼指數(gini)

資訊熵:

基尼指數:

機器學習演算法 決策樹

決策樹類似一中策略或者條件選擇,其中各個節點代表選擇條件,各個葉子結點代表可能達到的結果,決策樹 decision tree 是乙個樹結構 可以是二叉樹或非二叉樹 其每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放乙個類別。使用決策樹進行決策的過程就...

機器學習演算法 決策樹

決策樹的使用主要是用於分類。年齡收入 信用是否學生 是否買電腦年輕高 高是是中年 低中否否 老年中低否 是對於一些適合分類的資料中,考慮各種因素對結果的影響大小進行決策,一般是先選取區分度較高的因素。比如說,年齡大小這個因素在很大程度上影響我們的結果 是否買電腦。那麼,年齡因素將作為第乙個決策因素出...

機器學習演算法 決策樹

1 決策樹直觀理解 假設,已知10人房產 婚姻 年收入以及能否償還債務的樣本,那麼第11個人來,知其房產 婚姻 以及年收入情況,問他是否能償還債務?2 前置知識 理解決策樹,我們必須知道一下概念 資訊熵 描述系統的不確定度,熵越高,代表系統越混亂,包含的資訊量也就越多,其公式 例 計算前10個樣本能...