機器學習演算法 決策樹(Decision Tree)

2021-08-01 20:25:16 字數 930 閱讀 1928

1、什麼是決策樹(decision tree)?

決策樹是乙個類似於流程圖的樹結構,根據一些 feature 進行分類,每個節點提乙個問題,通過判斷,將資料分為兩類,再繼續提問。這些問題是根據已有資料學習出來的,再投入新資料的時候,就可以根據這棵樹上的問題,將資料劃分到合適的葉子上,是一種監督式學習。

2、構造決策樹的方法

① 資訊熵

一條資訊的資訊量大小和它的不確定性有直接的關係,資訊量的度量就等於不確定性的大小,我們用「資訊熵」來衡量。變數的不確定性越大,熵就越大。

若待分類的事物可能劃分在n類中,分別是x1,x2,……,xn,每一種取到的概率分別是p1,p2,……,pn,那麼x的熵就定義為:

當隨機變數只取兩個值時,即x的分布為 p(x=1)=p,x(x=0)=1−p,0≤p≤1則熵為:h(x)=−plog2(p)−(1−p)log2(1−p).

② 資訊增益(information gain)

gain(age) = h(d)-h_age(d),表示以age屬性作為根節點進行分類,資訊增益的大小代表age屬性的資訊獲取量的大小,分別計算每個屬性(age,gender,occupation)的資訊增益,選擇資訊增益最大的乙個屬性作為第乙個根節點。利用同樣的方法不斷進行下面節點的選擇,即不斷擴大決策樹。

決策樹停止條件:

(1)給定節點的所有樣本屬於同一類;

(2)沒有剩餘屬性可以用來進一步劃分樣本;

3、python實現

明天再寫,累了!

4、決策樹演算法的優缺點

優點:直觀,便於理解,對小規模資料有效。

缺點:處理連續變數不好,需要進行離散化,閾值的選擇會影響效果;當類別較多時,錯誤增加的會比較快,易過擬合;對大規模資料不太適用。

機器學習演算法 決策樹

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

機器學習演算法 決策樹

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

機器學習演算法 決策樹

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