決策樹算法進行分類的基本依據
在本文的內容中主要參考《Spark MLlib 機器學習算法、源碼及其實戰詳解》介紹了一些決策樹的基本理論知識,只要內容爲決策樹的特徵選擇。在特徵選擇中主要以信息熵作爲特徵選擇的主要依據進行處理依據。
1 決策樹
決策樹(Decision Tree)是一個樹結構(可以是二叉樹或者非二叉樹),決策樹又節點和有向邊組成。
決策樹節點類型分類:內部節點,葉子節點。內部節點表示屬性,外部節點表示一個類。其每一個內部節點表示一個特徵屬性上的測試,每一個分支代表這個特徵屬性在某個值閾上的的輸出,而每個葉子節點代表一個類型。
決策樹分類的本質:從訓練集上歸納出一組分類規則,通常採用啓發式學習的方法,即局部最優。具體做法是每一次挑選feature時都挑選當前條件下最優的那個featrue作爲劃分規則。
決策書學習的三個步驟:
(1)特徵選擇
(2)決策樹生成
(3)決策樹的修剪
2 特徵選擇
特徵選擇的標準:找出局部最優秀特徵,判斷這個特徵對當前數據集的分類效果。也就是按照這個特徵進行分類之後,數據集是否更加有序(不同類的數據儘量被分開)
在當前節點用哪個屬性特徵作爲判斷進行切分(也叫分類規則),取決於切分後節點數據集合中類別的有序純度。
衡量節點的有序純度:
(1)熵
(2)基尼
(3)方差
(1)熵
1)信息量
信息量是由一個事情發生的概率決定的。經常發生的事情沒有什麼信息量。在信息論中,香農用概率表示一個事件包含的信息量的大小,大概率事件發生的信息量較小,小概率事件包含有較大的信息量。(我們不妨這樣理解,每一種類型的時間包含的信息量的總數是相同的,因爲其經常發生所有每一個時間發生所攜帶的信息量較小。)
信息量的具體定義如下:
根據上述的公式可知:當
例如,有26個英文字母,每個字母在文章中出現的次數是平均數,則每一個字母的信息來量大小爲:
而每個漢字有2500個假如每個漢字出現的次數是平均數,那麼每一個漢字的信息量爲:
2)信息熵
信息熵:信息量的期望,信息熵的公式如下:
值得注意的是:在上述公式中的
條件熵的公式:
表示在已知某一個特定的條件
3)信息增益
分類前,數據中可能出現各種類的情況,比較混亂,不確定性強,熵比較高;分類後,不同類的數據得到較好的劃分,在一個劃分中大部分數據是同一類的數據,比較有序,不確定性降低,熵比較低。信息增益就是用於評價這種熵的變化。
信息增益:特徵
在上述公式中,
4)信息增益比
信息增益只是一個相對的值,因此信息增益的大小在一定程度上依賴於信息熵
信息增益比的定義如下:特徵A對訓練數據集D的信息增益比
其中
(2)基尼
定義公式如下:
其中,
(3)方差
方差定義的公式:
其中,