本文首發自產品經理的人工智能學習庫 easyai.tech算法
原文地址:《一文看懂決策樹 - Decision tree(3個步驟+3種典型算法+10個優缺點)》機器學習
決策樹是一種邏輯簡單的機器學習算法,它是一種樹形結構,因此叫決策樹。學習
本文將介紹決策樹的基本概念、決策樹學習的 3 個步驟、3 種典型的決策樹算法、決策樹的 10 個優缺點。測試
決策樹是一種解決分類問題的算法,想要了解分類問題和迴歸問題,能夠看這裏《監督學習的2個任務:迴歸、分類》。人工智能
決策樹算法採用樹形結構,使用層層推理來實現最終的分類。決策樹由下面幾種元素構成:3d
預測時,在樹的內部節點處用某一屬性值進行判斷,根據判斷結果決定進入哪一個分支節點,直到到達葉節點處,獲得分類結果。cdn
這是一種基於 if-then-else 規則的有監督學習算法,決策樹的這些規則經過訓練獲得,而不是人工制定的。blog
決策樹是最簡單的機器學習算法,它易於實現,可解釋性強,徹底符合人類的直觀思惟,有着普遍的應用。ci
舉個栗子:get
上面的說法過於抽象,下面來看一個實際的例子。銀行要用機器學習算法來肯定是否給客戶發放貸款,爲此須要考察客戶的年收入,是否有房產這兩個指標。領導安排你實現這個算法,你想到了最簡單的線性模型,很快就完成了這個任務。
首先判斷客戶的年收入指標。若是大於20萬,能夠貸款;不然繼續判斷。而後判斷客戶是否有房產。若是有房產,能夠貸款;不然不能貸款。
這個例子的決策樹以下圖所示:
特徵選擇
特徵選擇決定了使用哪些特徵來作判斷。在訓練數據集中,每一個樣本的屬性可能有不少個,不一樣屬性的做用有大有小。於是特徵選擇的做用就是篩選出跟分類結果相關性較高的特徵,也就是分類能力較強的特徵。
在特徵選擇中一般使用的準則是:信息增益。
決策樹生成
選擇好特徵後,就從根節點觸發,對節點計算全部特徵的信息增益,選擇信息增益最大的特徵做爲節點特徵,根據該特徵的不一樣取值創建子節點;對每一個子節點使用相同的方式生成新的子節點,直到信息增益很小或者沒有特徵能夠選擇爲止。
決策樹剪枝
剪枝的主要目的是對抗「過擬合」,經過主動去掉部分分支來下降過擬合的風險。
ID3 算法
ID3 是最先提出的決策樹算法,他就是利用信息增益來選擇特徵的。
C4.5 算法
他是 ID3 的改進版,他不是直接使用信息增益,而是引入「信息增益比」指標做爲特徵的選擇依據。
CART(Classification and Regression Tree)
這種算法便可以用於分類,也能夠用於迴歸問題。CART 算法使用了基尼係數取代了信息熵模型。
優勢
缺點