決策論中 （如風險管理），決策樹由一個決策圖和可能的結果（包括資源成本和風險）組成， 用來建立到達目標的規劃。決策樹建立並用來輔助決策，是一種特殊的樹結構。決策樹是一個利用像樹一樣的圖形或決策模型的決策支援工具，包括隨機事件結果，資源代價和實用性。它是一個演算法顯示的方法。決策樹經常在運籌學中使用，特別是在決策分析中，它幫助確定一個能最可能達到目標的策略。如果在實際中，決策不得不在沒有完備知識的情況下被線上採用，一個決策樹應該平行機率模型作為最佳的選擇模型或線上選擇模型演算法。決策樹的另一個使用是作為計算條件機率的描述性手段。 簡介 機器學習中，決策樹是一個預測模型；他代表的是物件屬性與物件值之間的一種對映關係。樹中每個節點表示某個物件，而每個分叉路徑則代表某個可能的屬性值，而每個葉節點則對應從根節點到該葉節點所經歷的路徑所表示的物件的值。決策樹僅有單一輸出，若欲有複數輸出，可以建立獨立的決策樹以處理不同輸出。 資料探勘中決策樹是一種經常要用到的技術，可以用於分析資料，同樣也可以用來作預測。 從資料產生決策樹的機器學習技術叫做決策樹學習，通俗說就是決策樹。 一個決策樹包含三種類型的節點： 決策節點：通常用矩形框來表示 機會節點：通常用圓圈來表示 終結點：通常用三角形來表示 決策樹學習也是資料探勘中一個普通的方法。在這裡，每個決策樹都表述了一種樹型結構，它由它的分支來對該型別的物件依靠屬性進行分類。每個決策樹可以依靠對源資料庫的分割進行資料測試。這個過程可以遞迴式的對樹進行修剪。 當不能再進行分割或一個單獨的類可以被應用於某一分支時，遞迴過程就完成了。另外，隨機森林分類器將許多決策樹結合起來以提升分類的正確率。 決策樹同時也可以依靠計算條件機率來構造。 決策樹如果依靠數學的計算方法可以取得更加理想的效果。 資料庫已如下所示： x y x1 x2 x3 xk y 相關的變數 Y 表示我們嘗試去理解，分類或者更一般化的結果。 其他的變數 x1 x2 x3 等則是幫助我們達到目的的變數。 型別 決策樹有幾種產生方法： 分類樹分析是當預計結果可能為離散型別（例如三個種類的花，輸贏等）使用的概念。 迴歸樹分析是當局域結果可能為實數（例如房價，患者住院時間等）使用的概念。 CART 分析是結合了上述二者的一個概念。CART 是 Classification And Regression Trees 的縮寫 （ChiSquare Automatic Interaction Detector） 建立方法 以資料母群體為根節點。 作單因子變異數分析等，找出變異量最大的變項作為分割準則。（決策樹每個葉節點即為一連串法則的分類結果。） 若判斷結果的正確率或涵蓋率未滿足條件，則再依最大變異量條件長出分岔。 在教學中的使用 決策樹，影響性圖表，應用函式以及其他的決策分析工具和方法主要的授課物件是學校裡商業、健康經濟學和公共衛生專業的本科生，屬於運籌學和管理科學的範疇。 舉例闡述 下面我們用例子來說明： 小王是一家著名高爾夫俱樂部的經理。但是他被僱員數量問題搞得心情十分不好。某些天好像所有人都來玩高爾夫，以至於所有員工都忙的團團轉還是應付不過來，而有些天不知道什麼原因卻一個人也不來，俱樂部為僱員數量浪費了不少資金。 小王的目的是透過下週天氣預報尋找什麼時候人們會打高爾夫，以適時調整僱員數量。因此首先他必須瞭解人們決定是否打球的原因。 在 2 周時間內我們得到以下記錄： 天氣狀況有晴，雲和雨；氣溫用華氏溫度表示；相對溼度用百分比；還有有無風。當然還有顧客是不是在這些日子光顧俱樂部。最終他得到了 14 行 5 列的資料表格。 決策樹模型就被建起來用於解決問題。 決策樹是一個有向無環圖。根結點代表所有資料。分類樹演算法可以透過變數 outlook，找出最好地解釋非獨立變數 play（打高爾夫的人）的方法。變數 outlook 的範疇被劃分為以下三個組： 晴天，多雲天和雨天。 我們得出第一個結論：如果天氣是多雲，人們總是選擇玩高爾夫，而只有少數很著迷的甚至在雨天也會玩。 接下來我們把晴天組的分為兩部分，我們發現顧客不喜歡溼度高於 70 的天氣。最終我們還發現，如果雨天還有風的話，就不會有人打了。 這就透過分類樹給出了一個解決方案。小王（老闆）在晴天，潮溼的天氣或者颳風的雨天解僱了大部分員工，因為這種天氣不會有人打高爾夫。而其他的天氣會有很多人打高爾夫，因此可以僱用一些臨時員工來工作。 公式 C45 和 C50 生成樹演算法使用熵。這一度量是基於資訊科學理論中熵的概念。 I_Ei summ_j1 f ij log_2 f i j 決策樹的優點 相對於其他資料探勘演算法，決策樹在以下幾個方面擁有優勢： 決策樹易於理解和實現。人們在透過解釋後都有能力去理解決策樹所表達的意義。 對於決策樹，資料的準備往往是簡單或者是不必要的。其他的技術往往要求先把資料一般化，比如去掉多餘的或者空白的屬性。 能夠同時處理資料型和常規型屬性。其他的技術往往要求資料屬性的單一。 是一個白盒模型如果給定一個觀察的模型，那麼根據所產生的決策樹很容易推出相應的邏輯表示式。 易於透過靜態測試來對模型進行評測。表示有可能測量該模型的可信度。 在相對短的時間內能夠對大型資料來源做出可行且效果良好的結果。 決策樹的缺點 決策樹： 對於那些各類別樣本數量不一致的資料，在決策樹當中資訊增益的結果偏向於那些具有更多數值的特徵。 決策樹的剪枝 剪枝是決策樹停止分支的方法之一，剪枝有分預先剪枝和後剪枝兩種。預先剪枝是在樹的生長過程中設定一個指標，當達到該指標時就停止生長，這樣做容易產生 視界侷限，就是一旦停止分支，使得節點 N 成為葉節點，就斷絕了其後繼節點進行 好 的分支操作的任何可能性。不嚴格的說這會已停止的分支會誤導學習演算法，導致產生的樹不純度降差最大的地方過分靠近根節點。後剪枝中樹首先要充分生長，直到葉節點都有最小的不純度值為止，因而可以克服 視界侷限。然後對所有相鄰的成對葉節點考慮是否消去它們，如果消去能引起令人滿意的不純度增長，那麼執行消去，並令它們的公共父節點成為新的葉節點。這種 合併 葉節點的做法和節點分支的過程恰好相反，經過剪枝後葉節點常常會分佈在很寬的層次上，樹也變得非平衡。後剪枝技術的優點是克服了 視界侷限 效應，而且無需保留部分樣本用於交叉驗證，所以可以充分利用全部訓練集的資訊。但後剪枝的計算量代價比預剪枝方法大得多，特別是在大樣本集中，。 由決策樹擴充套件為決策圖 在決策樹中所有從根到葉節點的路徑都是透過 與（AND）運算連線。在決策圖中可以使用 或 來連線多於一個的路徑。 決策樹的實現 Bash 決策樹的程式碼實現可參考：決策樹演算法實現 Bash 相關條目 貝葉斯定理 貝葉斯機率 專家系統 真值表 運籌學 形態學分析 決策表 馬爾科夫鏈 參考文獻 1 T Menzies Y Hu Data Mining For Very Busy People IEEE Computer October 2003 pgs 1825 2 決策樹分析 mindtoolscom 3 JW Comley and DL Dowe Minimum Message Length MDL and Generalised Bayesian Networks with Asymmetric Languages 第十一章 pp265294 in P Grunwald MA Pitt and IJ Myung eds Advances in Minimum Description Length Theory and Applications MIT Press April 2005 ISBN 0262072629 （本論文把決策樹作為貝葉斯網路使用 Minimum Message Length MML 的內部結點 早期版本：Comley and Dowe 2003 pdf） 4 PJ Tan and DL Dowe 2004 MML Inference of Oblique Decision Trees 人工智慧講義 3339 SpringerVerlag pp10821088（此論文使用） 5 Eruditionhome 資料探勘資源大詞典 6 決策樹基礎 vanguardswcom 7 General Morphological Analysis A General Method for NonQuantified Modelling From the Swedish Morphological Society 8 decisiontreesnet Interactive Tutorial 9MorganKaufmannDataMiningPracticalMachineLearningToolsandTechniquesSecondEdition Jun2005 非常好的一本介紹決策樹的書，是一本可以從基礎學起的好書，另外介紹的 weka 決策樹軟體也不錯。是 JAVA 編的。 Category 決策分析