決策樹分類數據挖掘

※寫在前面的思考:
A數據是怎麼分類的?
B如何選擇分類的屬性?
C什麼時候停止分裂?

①決策樹

1. 決策樹分類方法

從數據中生成分類器的一個有效的方法就是生成一個決策樹。是從一組無次序、無規則的事例中推理出決策樹表示形式的分類規則。決策樹分類方法採用自頂向下的遞歸形式(實質就是分而治之),在決策樹的內部節點進行屬性值的比較並根據不同的屬性值判斷從該結點向下的分支,在決策樹的葉節點得到結論。所以從決策樹的根到葉節點的一條路徑就對應着一條合取規則,整棵決策樹就對應着一組析取表達式的規則。決策樹的非葉節點表示屬性;節點向下的分支對應屬性的屬性值;葉節點表示類別。分類類別爲未知的新實例時可以從這顆樹的根節點開始,測試這個節點對應的屬性,按照給定實例的屬性的屬性值沿着樹枝向下移動,這個過程在新節點爲根的子樹上重複,直到進行到葉節點得到新實例的類別爲止。

2. 基本概念與原理

決策樹是一種樹形結構,其中每個內部節點表示一個屬性上的測試,每個分支代表一個測試輸出,每個葉節點代表一種類別。
他屬於監督學習。所謂監督學習就是給定一堆樣本,每個樣本都有一組屬性和一個類別,這些類別是事先確定的,那麼通過學習得到一個分類器,這個分類器能夠對新出現的對象給出正確的分類。
(A)決策樹採用自頂向下的貪婪算法,在每個節點選擇分類效果最好的屬性(分裂屬性的數據類型分爲離散型和連續性兩種情況,對於離散型的數據,按照屬性值進行分裂,每個屬性值對應一個分裂節點;對於連續性數據,一般性的做法是對數據按照該屬性進行排序,再將數據分成若干區間,如[0,10]、[10,20]、[20,30]…,一個區間對應一個節點,若數據的屬性值落入某一區間則該數據就屬於其對應的節點。)進行分類,重複此過程,直到這棵樹能準確的分類訓練樣本,或者所有的屬性都被使用過。
決策樹構造完成後通常需要進行剪枝操作,以限制決策樹的規模來提高預測精度。核心問題是在每個節點選取要測試的屬性,以及對決策樹進行剪枝處理。
(B)樹的建立一般都是通過在內部節點選擇一個最優的測試屬性對訓練及反覆的進行劃分,並建立下一級的節點。直到每個劃分都只包含同一種類的樣本爲止,這時稱爲純劃分。

3. 一般性描述

1) 開始時是一個未經處理的數據訓練集和一棵空樹,然後對當前節點進行測試,並將其劃分。
2) 如果當前節點的訓練樣本都爲同一個類別,則創建一個帶有該類標籤的葉子節點並停止。
3) 否則的話,用最優測量計算每個集合的每個可能的劃分。
4) 選擇最優劃分爲當前節點的測試。

4. 決策樹構建方法的遞歸停止條件(C)

(1) 當前節點的樣本均爲同一類別。
(2) 某一分支沒有符合測試條件的樣本,創建一個葉子節點並將其標記爲默認類別。
(3) 候選屬性集爲空。

②屬性分裂標準:信息增益法

Ⅰ信息熵
訓練集中的數據每一個屬性都包含了一定的信息,這些信息的作用是減少整個數據集的不確定性,一般稱信息不確定性爲信息熵。(信息量的度量就等於不確定性的多少,即:不確定性越大,熵也越大)
信息增益方法選取最高信息增益(熵減少的程度最大)的屬性作爲當前節點的分類屬性,以便使劃分獲得的訓練樣本自己進行分類所需的信息量最少(因爲不確定性減少了)。(減少的信息量就是通過一次劃分之後通過某個屬性所獲得的信息量)
※信息量滿足的條件
•信息量不是負數
•信息量之間可以相加
•信息量連續依賴於概率
•信息量大小與可能結果數量有關,假如每一個可能的結果出現的概率一樣,那麼對於可能結果數量多的那個事件,新信息有更大的潛力具有更大的信息量,因爲初始狀態下不確定性更大。
※信息熵的表達式
(1)

式中, 表示X在樣本數據集中的樣本比例。
信息論認爲:一個消息所表達的信息取決於它的概率p,並且可以用 來表示其包含的信息。Log是以2爲底的,因爲在信息論中信息都是按二進制位編碼的。
Ⅱ信息增益
假設在樣本數據集 D 中,混有 c 種類別的數據。構建決策樹時,根據給定的樣本數據集選擇某個特徵值作爲樹的節點。在數據集中,可以計算出該數據中的信息熵:
•作用前的信息熵計算公式
(2) 在這裏插入圖片描述
式中: 表示第i個類別在樣本數據集中的樣本比例。
對應數據集 D,選擇特徵 A 作爲決策樹判斷節點時,在特徵 A 作用後的信息熵的爲 Info(D),計算如下:
•作用後的信息熵計算公式(也就是期望的平均信息量)
(4) 在這裏插入圖片描述
式中,k代表樣本D被分成k個部分。
信息增益表示數據集 D 在特徵 A 的作用後,其信息熵減少的值。公式如下:
•信息熵差值計算公式
(5) 在這裏插入圖片描述
例如:如下圖作爲樣本數據集,進行決策樹分類。
有三個類別,分別是 魚類、哺乳動物、爬行動物;四個屬性,魚類、產奶、有鰭、有毒。樣本數目一共是13個,魚類5個,哺乳動物,爬行動物各四個。
在這裏插入圖片描述在這裏插入圖片描述
Step1:計算總的平均信息量
Step2:分別計算按照按照不同屬性劃分的平均信息量
Step3:計算信息增益
Step4:根據求得的信息增益,其中最優分裂屬性爲數據集中所有屬性中信息增益最大的屬性。
在這裏插入圖片描述
選擇信息增益最大的那個爲最優屬性。

③ 用SSAS對三國數據進行決策樹分析

1)Microsoft SQl Server 2008 Analysis Services 的操作步驟

  1. 打開集成環境頁面
    依次執行“開始”→“所有程序”→“Microsoft SQL Server 2008”→“SQL Server Business Intelligence Development Studio”命令,打開Analysis Service集成環境界面。

  2. 新建項目
    (1) 執行菜單欄的“文件”→“新建”→“項目”命令,打開如圖所示的“新建項目”對話框。(2) 選中“Analysis Services”項目,分別在“名稱”、“解決方案名稱”文本框中,填寫項目名稱和解決方案名稱;在“位置”下拉文本框中,單擊右側的“瀏覽”鈕,選擇解決方案的保存路徑。。
    (3) 單擊“確定”按鈕,返回集成環境的起始界面,在右上角顯示“解決方案資源管理器”字樣。

  3. 創建數據源

  4. 創建數據源視圖

  5. 創建適用於三國的挖掘結構

  6. 部署項目並處理挖掘模型

  7. 模型解釋

在這裏插入圖片描述
由生成的決策樹按照屬性分成了三個級別,顏色的深淺代表了事例數目的多少。
在這裏插入圖片描述在這裏插入圖片描述和身份有相關性的屬性有武力、智慧和政治。
在這裏插入圖片描述在這裏插入圖片描述

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