文章專區

2022-08-01建立一個機器學習的預測模型 容易理解又好上手的「決策樹」 632 期

Author 作者 陳士杰/聯合大學資訊管理學系副教授。

Take Home Message
• 決策樹主要用於處理分類問題,將訓練資料中特徵屬性與類別屬性之間的關係,以樹狀結構的方式呈現,並轉換成易讀易懂的分類規則。
• 決策樹依據屬性選擇指標來挑選內部節點,主要評估方式為:經過該屬性分類後所產生的資料子集合,是否具有「高同質性」,資料子集合的同質性愈高愈好。
• 由於決策樹模型的建立過程明確易懂,得到的分類結果也具備高度可解釋性,很適合初入機器學習領域的新手們使用。

在機器學習的眾多分類技術中,較受矚目的有以神經網路(artificial neural network, ANN)為基礎的模型,或是以數理統計為主的方法等。雖然這些技術的分類成效卓越,然而背後往往有著異常繁複的模型設定、難以理解的數理推導,以及低解釋性的結果,讓初入機器學習領域的新手們無法善加利用。有沒有那種容易上手、具備一定分類成效、運作過程好理解,以及高解釋性的技術供機器學習新手們使用呢?有的,那就是本文將介紹的「決策樹」(decision tree)分類法!

解決分類問題

談論決策樹之前,我們先談談決策樹處理的主要議題:分類問題。此類問題主要是將訓練資料中隱藏於特徵屬性與類別屬性之間的關係,以規則、函數等形式表示,用以判斷未知資料所屬的類別。例如我們收集到的路人基本資料,總共有六種不同的屬性(表一),而「屬性」這個詞,就等同於表一中的「欄位」。

假設我們想要區分「會養竉物與不會養竉物」的路人特徵,就可以將上表中「是否有竉物」這個屬性視為「類別屬性」,其他屬性則視為「特徵屬性」。由於第一個屬性「ID」是一種不具個人訊息的流水號,因此可以被剔除於特徵屬性之外。接下來便能透過機器學習的訓練,找出隱藏在特徵屬性與類別屬性之間的關係,此關係可以利用函數f 表示如下:

f(個性, 收入, 運動頻率, 學生與否) = 是否有竉物

此外,根據分類問題的不同,我們所使用的類別屬性與特徵屬性也會有所不同。例如:若是想區分「不同個性」的路人,則可以將「個性」視為類別屬性,而其它屬性(不含ID)則視為特徵屬性。

透過上述說明可以得知,分類問題能夠依據類別屬性內不同資料的數目,進一步區分為二元分類問題(例如區分出會/不會養竉物的路人)與多元分類問題(例如區分出外向、溫和、神經質的路人)。

什麼是「決策樹」?

決策樹是眾多機器學習的分類技術之一,主要是將前面提到的特徵屬性與類別屬性之間的關係,以樹狀結構的方式呈現,進而轉換成易讀易懂的分類規則。以先前區分「會/不會養竉物的路人」的二元分類問題為例,這個資料集合可建構出如圖一的決策樹,進而得知分類規則。……【更多內容請閱讀科學月刊第632期】