1. 程式人生 > >決策樹(ID3 C4,5 減枝 CART演算法)以及Python實現

決策樹(ID3 C4,5 減枝 CART演算法)以及Python實現

演算法簡述

在《統計學習方法》中,作者的if-then的描述,簡單一下子讓人理解了決策樹的基本概念。

決策樹,就是一個if-then的過程。

本文主要學習自《統計學習方法》一書,並努力通過書中數學推導來實現對應的程式碼。

ID3演算法實現

ID3的演算法描述,應該是網上最多的。

這裡推薦一個我看過了。這哥們應該是嘗試復現了《機器學習實戰》這本書。

  • 如果資料中所有元素都屬於同一類。那就設這個為一個單節點樹。
  • 如果沒有要分的特徵了,那就返回一個單節點樹,其中資料中數量最多的某個標記作為整棵樹的標記。
  • 否則,計算資訊增益(也就是,互資訊)。找到資訊增益最大的特徵。(即,只要知道這個資訊,所得到降低整個體系的複雜度的程度最大。)
  • 如果這個特徵的最大資訊增益小於某個閾值,那就沒有必要再分下去了。返回一個單點數,並將資料中數量最多的某個標記作為整棵樹的標記
  • 否則,就根據對應的特徵,按照其所有的標籤來分類。構建子樹。
  • 按照特定的集合分化完之後,遞迴操作