本部落格以主要筆記為主,內容**於彭亮老師的機器學習課程。
1、決策樹演算法
(decision tree):
決策樹演算法在機器學習中算是很經典的乙個演算法,決策樹樹是乙個類似於流程圖的樹結構(如下圖所示):其中,每個內部結點表示在乙個屬性上的測試,每個分支代表乙個屬性輸出,而每個樹葉結點代表類或類分布,樹的最頂層是根結點。那麼我們應該怎麼構造決策樹麼?
2、熵(
entropy
)在學習決策的構造方法之前,先學習熵的概念。
1948
年,夏農提出了
"資訊熵
(entropy)"
的概念,解決了對資訊的量化度量問題。資訊熵理解成某種特定資訊的出現概率用表示,計算公式如下:
表示輸出概率函式。變數的不確定性越大,熵也就越大,把事情搞清楚所需要的資訊量也就越大。
3、決策樹的構造(以
id3演算法為例
)以下圖**購買電腦與否的樣本為例:
第一步:選擇根節點
問題:怎麼選擇根節點?
age? income? student?
還是credit_rating.
定義資訊獲取量(information gain)
根據夏農公式我們可以計算屬性
age的資訊獲取了,計算過程如下
同理我們還可以計算得到
gain(income) = 0.029, gain(student) = 0.151, gain(credit_rating)=0.048
,可知屬性
gain(max)=gain(age)
,所以選擇第乙個節點為根節點。
第二步:繪製以
age為根節點的樹圖,如下:
第三步:繼續計算下乙個節點的各個屬性資訊獲取量並選擇資訊獲取量最大對應的的屬性作為下乙個節點,然後循壞下去,停止條件:
:給定結點的所有樣本屬於同一類(如上圖的
middle_age):
沒有剩餘屬性可以用來進一步劃分樣本,在此情況下,按照少數服從多數原則。
4、決策樹的優缺點
優點:直觀,便於理解,小規模資料集有效。
缺點:處理連續變數不好;類別較多時,錯誤增加的比較快;可規模性
一般。
決策樹 ID3演算法
id3演算法通過計算每個屬性的資訊增益,認為資訊增益越大屬性越優,每次劃分選取資訊增益最大的屬性為劃分標準,重複這個過程,直到構成一棵決策樹。資訊熵是描述事件給我們的驚訝程度,如果所有事件的概率均等,那熵值大,驚訝程度低。如果有一事件的概率極高而其他極低,熵值便低,驚訝程度大。其計算公式如下 資訊增...
決策樹 ID3演算法
一 決策樹基本概念 在機器學習中,決策樹是乙個 模型,它代表的是物件屬性與物件值之間的一種對映關係。本質上決策樹是通 過一系列規則對資料進行分類的過程。下圖為經典決策樹例項。如圖所示,例項是由 屬性 值 對表示的 例項是用一系列固定的屬性和他們的值構成。目標函式具有離散的輸出值 上圖給每個例項賦予乙...
決策樹ID3演算法
typeerror dict keys object does not support indexing 9.typeerror dict keys object does not support indexing 這個問題是python版本的問題 如果使用的是python2 firststr my...