機器學習——決策樹

在看了大佬的博客以後我再這裏來說一下自己的理解,有不對的地方希望大家能夠指正,謝謝


一、決策樹的分類
決策樹按照數據類型可以分爲分類決策樹跟迴歸決策樹,二者的區別在於:分類決策樹是對離散的數據變量來進行決策的,迴歸決策樹是對連續的數據變量來進行決策的。
二、決策樹的生成過程
1、進行特徵選擇
對已有數據根據數據本身的一些特徵然後從中提取出可以劃分數據的類別,比如性別、年齡等等。
2、生成決策樹
根據第一步劃分出的數據類別將數據從上到下遞歸的生成子節點,直到數據集不可分則停止決策樹的生成。
3、剪枝
對於第二步生成的決策樹由於我們分的類別可能比較多所以生成的決策樹很容易發生過擬合現象,所以我們就需要對生成的決策樹進行修剪,縮小樹結構規模緩解過擬合現象。


案例講解

對於原理問題這方面我個人認爲一個例子可以幫助你更好的理解這個原理,所以下面我們就以一個例子來說明解釋決策樹的整個過程。

案例簡述一下:
某公司開發了一款遊戲,並且得到了一些用戶的數據。如下所示:
在這裏插入圖片描述
橫座標表示年齡,縱座標表示性別,紅色表示喜歡這款遊戲,藍色表示不喜歡。現在要判斷綠色點代表的那個用戶是否喜歡這款遊戲。本例中我們以性別年齡爲特徵來構建決策樹

上圖可以轉化爲:
在這裏插入圖片描述
在構建決策樹的時候我們可以現根據性別將數據分成男女兩類,然後根據年齡是否大於30歲再對數據進行二次分類,結果如下圖所示:
在這裏插入圖片描述
決策樹中每一個葉子節點就是一個判斷結果,我們這裏用概率作爲最終判斷結果。
對於要判斷的那個綠色結點用戶我們可以將他的特徵套入決策樹中然後得出結果,由決策樹跟新用戶特徵 [男,年齡大於30] 可知該用戶不喜歡這款遊戲的概率是0.8,所以該用戶很可能不喜歡這款遊戲。
以上就是決策樹的構建過程及最終的決策樹

然而在構建決策樹選取數據特徵的時候數據特徵選取的先後順序不一樣對應的決策樹也就不一樣,但是葉子節點還是一樣的,而數據特徵的先後順序可以反應數據屬性的重要性或者理解爲在所有特徵中佔比重問題,比重越大說明該屬性也就越重要,那麼它對於決策結果的影響也就越大,最終的判定結果的確定性也就越大。
在物理中我們用來反應熱力學系統之間的無序程度,熵值越大越無序熵值越小越有序,這裏我們也可以用它來反應最終判斷結果的確定性的程度。熵值越大說明最終結果確定性越高,結果越準確,反之可得。
一個屬性的重要性,可以用它所產生的熵值大小來判斷。使得熵值變的更小的屬性,重要性更高!
2、生成決策樹
我們將所有屬性對應的熵值計算出來,將熵值按照從大到小的順序排列起 來,然後把熵值最小的屬性作爲一級節點,次小的作爲二級結點,然後依次類推搭建決策樹。

3、剪枝
這個我目前還不是很瞭解,等以後再來補充吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章