筆者邀請您,先思考:
1 決策樹演演算法的原理?
2 決策樹演演算法的優劣?
一棵樹在現實生活中有許多類比,並且結果表明它廣泛地影響機器學習,包括分類和回歸。 在決策分析中,決策樹可用於在視覺上和明確地表示決策和作出決策。 顧名思義,它是使用樹狀的決策模型。 雖然它是資料挖掘中常用的工具以用於推導達到特定標的的策略,但它也廣泛用於機器學習,這將是本文的重要關註點。
如何將演演算法表示為樹?
在此,我們考慮一個非常基本的例子,它使用泰坦尼克資料集來預測乘客是否能夠倖存。 下麵的模型使用資料集中的3個特徵/屬性/列,即sex,age和sibsp(配偶或子女的數量)。
決策樹是倒置的,其根位於頂部。 在上圖中,黑色粗體文字表示條件/內部節點,樹基於該節點/內部節點分割成分支/邊緣。 分支的末端不再分裂是決定/葉子,在這種情況下,乘客是否死亡或倖存,分別表示為紅色和綠色文字。
雖然,真實的資料集將具有更多的特徵,這隻是一個更大的樹中的分支,但你不能忽視這個演演算法的簡單性。 特徵重要性很清楚,也容易檢視關係。這種方法通常被稱為來自資料的學習決策樹和上面樹稱為分類樹,因為標的是將乘客分類為倖存者或死亡者。 回歸樹以相同的方式表示,只是它們預測像房子價格這樣的連續值。 通常,決策樹演演算法稱為CART或分類和回歸樹。
那麼,背後究竟發生了什麼? 生成樹涉及決定選擇哪些特徵以及用於分割的條件,以及知道何時停止。 由於樹木通常會隨意生長,因此您需要將其修剪下來才能看起來很漂亮。 讓我們從用於分裂的常用技術開始。
遞迴二叉分裂
在此過程中,將考慮所有函式,並使用成本函式嘗試和測試不同的分割點。 選擇具有最佳成本(或最低成本)的分割。
考慮從泰坦尼克號資料集中學習的樹的早期例子。在第一個分割或根中,考慮所有屬性/特性,然後根據這個分割將訓練資料分成組。我們有3個特徵,所以將有3個候選分割。現在,我們將使用一個函式來計算每次拆分的精度。選擇成本最低的分割方式,在我們的例子中是乘客的性別。這種演演算法本質上是遞迴的,因為組成的組可以使用相同的策略進行細分。由於這個過程,這個演演算法又被稱為貪心演演算法,因為我們有一個過高的降低成本的願望。這使得根節點成為最好的預測器/分類器。
分割代價
讓我們仔細看看用於分類和回歸的成本函式。 在這兩種情況下,成本函式試圖找到最均勻的分支,或者具有相似響應的組的分支。 這是有道理的,我們可以更確定測試資料輸入將遵循某個路徑。
可以說,我們正在預測房屋的價格。 現在,決策樹將透過考慮訓練資料中的每個特徵開始分裂。 特定組的訓練資料輸入的響應平均值被認為是該組的預測。 上述函式應用於所有資料點,並計算所有候選分割的成本。 再次選擇成本最低的分割。 另一個成本函式涉及降低標準差,更多關於它的資訊可以在這裡找到。
基尼分數透過分裂建立的組中響應類的混合程度,可以瞭解分割的好壞程度。 這裡,pk是特定組中存在的相同類輸入的比例。 當一個組包含來自同一類的所有輸入時,就會出現完美的類純度,在這種情況下,pk為1或0且G = 0,其中作為一個組中50-50分類的節點具有最差的純度, 所以對於二元分類,它將具有pk = 0.5和G = 0.5。
什麼時候停止分裂?
你可能會問什麼時候停止生長樹? 由於問題通常具有大量特徵,因此會導致大量分裂,從而產生巨大的樹。 這種樹很複雜,可能導致過度擬合。 那麼,我們需要知道何時停止? 這樣做的一種方法是設定每個葉子上使用的最小數量的訓練輸入。 例如,我們可以使用至少10名乘客來做出決定(死亡或倖存),並忽略任何少於10名乘客的葉子。 另一種方法是設定模型的最大深度。 最大深度是指從根到葉子的最長路徑的長度。
剪枝
透過剪枝可以進一步提高樹的效能。 它涉及刪除使用具有低重要性的特徵的分支。 這樣,我們降低了樹的複雜性,從而透過減少過度擬合來提高其預測能力。
Pruning can start at either root or the leaves. The simplest method of pruning starts at leaves and removes each node with most popular class in that leaf, this change is kept if it doesn’t deteriorate accuracy. Its also called reduced error pruning. More sophisticated pruning methods can be used such as cost complexity pruning where a learning parameter (alpha) is used to weigh whether nodes can be removed based on the size of the sub-tree. This is also known as weakest link pruning.
CART的優點
-
易於理解,解釋,視覺化。
-
決策樹隱式執行變數篩選或特徵選擇。
-
可以處理數字和分類資料,還可以處理多輸出問題。
-
引數之間的非線性關係不會影響樹效能。
CART的缺點
-
決策樹學習者可以建立過於複雜的樹,這些樹不能很好地推廣資料。 這稱為過度擬合。
-
決策樹可能不穩定,因為資料中的小變化可能導致生成完全不同的樹。 這稱為方差,需要透過套袋和提升等方法降低。
-
貪心演演算法無法保證傳回全域性最優決策樹。 這可以透過訓練多個樹來減輕,其中特徵和樣本隨機替換。
-
如果某些類佔主導地位,決策樹學習者會建立偏向它的樹。 因此,建議在擬合決策樹之前平衡資料集。
這是所有的基本知識,讓你與決策樹學習平起平坐。對決策樹學習方法進行了改進。實現這些演演算法的流行庫是Scikit-Learn。它有一個很好的api,可以用python中的幾行程式碼讓您的模型執行起來。
原文連結:
https://towardsdatascience.com/decision-trees-in-machine-learning-641b9c4e8052
版權宣告:作者保留權利,嚴禁修改,轉載請註明原文連結。
資料人網是資料人學習、交流和分享的平臺http://shujuren.org 。專註於從資料中學習到有用知識。
平臺的理念:人人投稿,知識共享;人人分析,洞見驅動;智慧聚合,普惠人人。
您在資料人網平臺,可以1)學習資料知識;2)建立資料部落格;3)認識資料朋友;4)尋找資料工作;5)找到其它與資料相關的乾貨。
我們努力堅持做原創,聚合和分享優質的省時的資料知識!
我們都是資料人,資料是有價值的,堅定不移地實現從資料到商業價值的轉換!
點選閱讀原文,進入資料人網,獲取資料知識。
公眾號推薦:
鏈達君,專註於分享區塊鏈內容。
艾鴿英語,專註於英語口語教育。