先前在Q23什麼是決策樹演算法?為大家介紹了什麼是決策樹、構建的基本步驟、三種典型的決策樹演算法,淺談決策樹的優缺點,今天將進一步分享決策樹的使用,針對優缺點有更深入的說明。
決策樹的使用:
決策樹是附加概率結果的一個樹狀的決策圖,是直觀的運用統計概率分析的圖法。機器學習中決策樹是一個預測模型,它表示物件屬性和物件值之間的一種對映,樹中的每一個節點表示物件屬性的判斷條件,其分支表示符合節點條件的物件。樹的葉子節點表示物件所屬的預測結果。
圖 25-1 是一棵結構簡單的決策樹,用於預測貸款使用者是否具有償還貸款的能力。
貸款使用者具備三個屬性:「是否擁有房產」,「是否結婚」,「平均年收入」。
每一個內部節點都代表著一個屬性條件判斷,葉子節點表示貸款使用者是否具有償還能力。
舉例:使用者甲沒有房產,沒有結婚,年收入50萬。 通過決策樹的根節點判斷,使用者甲符合右邊分支 (擁有房產為「否」); 再判斷是否結婚,使用者甲符合左邊分支 (是否結婚為「否」); 然後判斷年收入是否大於50萬, 使用者甲符合左邊分支 (年收入大於等於 50萬), 該使用者落在「可以償還」的葉子節點上。 所以預測使用者甲具備償還貸款能力。
決策樹優點
相較與其他的演算法,決策樹擁有幾個優勢:
- 測試數據集時,運行速度比較快。
- 擅長能夠處理不相關的特徵, 決策樹易於理解和實現,人們在通過解釋後都有能力去理解決策樹所表達的意義。
- 其他的技術往往要求數據屬性的單一, 但決策樹可以同時處理標稱型和數值型數據。
- 對於決策樹,數據的準備往往是簡單或者是不必要的,其他的技術往往要求先把數據一般化,比如去掉多餘的或者空白的屬性。
- 在相對短的時間內能夠對大型數據源做出可行且效果良好的結果。
- 是一個白盒模型,如果給定一個觀察的模型,那麼根據所產生的決策樹很容易推出相應的邏輯表達式。
- 易於通過靜態測試來對模型進行評測。表示有可能測量該模型的可信度。
- 效率高,決策樹只需要一次構建,可反覆使用,每一次預測的最大計算次數不超過決策樹的深度。
決策樹缺點
- 對於那些各類別樣本數量不一致的數據,在決策樹當中信息增益的結果偏向於那些具有更多數值的特徵。
- 對連續性的欄位比較難預測。
- 對有時間順序的資料,需要較多的預處理的工作。
- 當類別太多時,會影響表現,錯誤可能就會增加的比較快。
- 決策樹不會給正確答案,它會同時得出許多可能答案。隨著樹的根結點改變,可能得到不同結果。
- 不穩定性,擾亂一點,改動一點值,決策樹就會改變。
- 一般的演算法分類的時候,只是根據一個欄位來分類。
在處理特徵關聯性比較強的資料時表現得不是太好。
舉例:以分類迴歸樹(CART,Classification And Regression Tree)為例, 它也屬決策樹的一種, 採用基於最小距離的基尼指數估計函數,用來決定由該子數據集生成的決策樹的拓展形。 決策樹回歸方法,採用切分點與切分變量來計算的損失來估計函數。 如果目標變量是標稱的,稱為分類樹; 如果目標變量是連續的,稱為回歸樹。 分類樹是使用樹結構算法將數據分成離散類的方法。 優點:非常靈活,可以允許有部分錯分成本,還可指定先驗概率分佈, 可使用自動的成本複雜性剪枝來得到歸納性更強的樹, 產生出的分類規則易於理解,準確率較高。 缺點:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效。 此外,C4.5(註1)只適合於能夠駐留於內存的數據集, 當訓練集大得無法在內存容納時程序無法運行。
註1:什麼C4.5 演算法?在 Q23什麼是決策樹演算法? 提到,它是ID3改進版,不是直接使用資訊增益,而是引入「資訊增益比」指標作為特徵的選擇依據。
【推薦學習】
緯育TibaMe已經有10萬人次來學習AI/資料科學知識或技術,若你想進一步了解或學習 AI / 資料科學的相關知識或技能,歡迎來TibaMe 👉 https://bit.ly/3o4N39e
每日5分鐘, 提拔我園丁陪你快速添補AI/資料科學知識與技能。
若您想了解更多AI/資料科學的小知識、及各產業的相關應用,歡迎訂閱TibaMe FB及部落格,或你有其他想了解的主題歡迎在下方留言讓我們知道唷!
參考資料