羅明挽
數據挖掘可以在大量的、不完全的、有噪聲的數據中挖掘出有價值的信息。決策樹是數據挖掘的常用方法之一。本文在分析數據挖掘基本方法的基礎上,詳細介紹了決策樹挖掘技術,闡述了決策樹中ID3算法的思想,并采用ID3算法對學生管理進行了應用研究。
【關鍵詞】數據挖掘 決策樹 ID3
1 數據挖掘
數據挖掘,即Data Mining,也稱為數據采礦。它是數據庫知識發現的一個步驟。數據挖掘從大量的數據中,通過算法,搜索出隱含于其中的有價值的信息。這些數據具有量大、噪聲、模糊、隨機、不完全等特點。數據挖掘的過程就是從這些數據中找出有價值的、先前不為人所認識的有價值的信息或知識的過程。數據挖掘通常借助于計算機或數學的技術,通過數理統計、機器學習、專家系統、模糊識別等方法來進行“挖掘”。具體而言,數據挖掘所采用的分析方法包含了分類(Classification)、估值(Estimation)、預測(Prediction)、關聯規則(association rules)、聚類(Clustering)以及復雜型數據挖掘如Web挖掘等。
數據挖掘的過程有幾個步驟,首先是要確定業務對象,要清晰地定義數據挖掘的目的和業務問題;其次要進行數據準備,從與業務對象相關的內部、外部數據中選擇適當的、適用于進行數據挖掘的數據,然后進行數據預處理,并將數據進行模型化處理,使數據適合某種挖掘算法的模型;數據挖掘的第三步是是進行具體的數據挖掘,即在前面幾步的基礎上,根據模型和選定的數據挖掘算法進行具體的挖掘;第四是進行結果分析,對數據挖掘的結果進行評估,明確本次數據挖掘的方法、模型的可信度等;數據挖掘的最后就是數據挖掘結果和模型的運用。
數據挖掘的常用操作方法有決策樹方法、人工神經網絡方法、遺傳算法、粗集方法、模糊集方法等。
2 決策樹算法
決策樹是數據挖掘的常用方法之一。決策樹(即Decision Tree),是在已知各種情況發生的概率基礎上,通過構建決策樹來求取凈現值的期望值在大于等于零情況下的概率,由此做項目風險評價,并判斷其可行性的分析方法。
決策樹是一種樹形結構,是根據策略抉擇而建立起來的一種屬性結構。在決策學習中,決策樹就是一個預測模型,代表了對象屬性與對象值之間的映射關系。決策樹中每個節點表示對象的屬性,而分支則代表屬性的取值,葉子節點代表一個分類。簡言之,決策樹就是基于分類訓練集的預測樹,用于預測和歸類。
決策樹的起源源于概念學習系統,到ID3算法的時候真正發展起來。在早期,決策樹是人工智能的重要方法,隨著數據挖掘技術的發展,決策樹成了構建決策支持系統的一種重要工具。
在決策樹的算法中,ID3算法是比較成熟的算法之一。ID3算法以信息增益來決定屬性的選擇,選擇分支后信息增益最大的屬性進行分支。
ID3算法的基本思想是:
(1)通過自頂向下的貪婪搜索,遍歷可能的決策空間構建決策樹;
(2)確定一個屬性作為根節點,而后為每個可能的屬性值構建一個分支,并把訓練樣例歸到適當的分支中,也就是將樣本分成多個子集,每個子集對應到一個分支中;
(3)不斷重復這個過程,僅使用真正到達這個分支的樣本;
(4)如果在一個節點上的所有樣本所擁有的類別相同,則停止該部分樹的繼續擴展。
那么,怎么確定哪個屬性是最佳的分類屬性呢?那就要依靠“信息增益”來確定。信息增益(Infromation Gain)是用來衡量給定的屬性區分訓練樣本能力的指標。在屬性在分裂中,選擇信息增益最大的屬性作為分裂屬性。信息增益用信息“熵”來具體衡量。熵描述了任意樣本集的純度,可以衡量數據集的不確定性、突發性或不確定性的程度。當一個數據集里面的記錄全都屬于同一類別時,則熵為零,因為同一個類別,代表著沒有不確定性。在決策樹分類中,就是要將樣例劃分為一個個確定的、歸類為同一類別的子集,或者說使分裂后的子集的熵盡可能的小。
在決策樹的分類思想中,熵越小,信息增益就越大,決策樹分類就是選擇增益最大的屬性來作為決策樹的分類節點,然后由該屬性的不同取值建立不同的分支。而分支中,則采用同樣的方法,遞歸地進行分類,直到所有子集都能歸為同一個類別為止。
可以這樣進行屬性的信息增益計算:
設C是樣本里面的類別數,S是樣本,P(s,j)表示樣本S里面樣本屬于第j類的概率,即p(i,j)=sj/S,是樣本S中屬于類j的樣本數。對于一個給定的樣本分類,望信息增益為:
具有值集的屬性T,可以將S劃分為不同的子集{S1,S2,...Sk},其中sj包括了類Ci的Sij個樣本,根據T的這種劃分的期望信息,稱作T的熵。其加權平均為:
T的信息增益定義為:
3 決策樹ID3算法在學生管理中的應用
在學生的管理中,通常要對學生的學習情況或優秀情況進行評估,或者找出決定學生優秀的幾種因素。我們可以通過對學生的智育、德育、體育、美育等因素進行評估,采用決策樹算法對學生進行分類,以便確定影響學生優秀度的因素。
為了進行數據挖掘,我們先取一些數據樣本,然后進行預處理。將數據預處理后的樣本如表1所示。
根據決策樹ID3的原理,我們可以先計算出每個屬性的熵。智育得分為例,可以計算智育得分每個分段相對于標類別的熵。
“智育<=90”;I(S11, S21)=0.972
“智育>90”;I(S12, S22)=0
“智育80-90”;I(S13, S23)= 0.972
如果根據“智育”屬性對樣本集進行子集劃分,信息熵為:
E(智育)=(5/14)* I(S11, S21)+( 4/14)* I(S12, S22)+ (5/14)* I(S13, S23)=0.694
得出“智育”屬性的信息增益為:
Gain(智育)=I(S1, S2-E)-E(智育)=0.251
同樣地,其他屬性“美育”、“體育”、“德育”的信息增益也可以使用同樣的方法計算出來。我們選取信息增益最大的作為劃分分支的節點。劃分出來之后,其他節點的子集劃分也可以采用相同樣的辦法進行劃分,一直遞歸劃分到同個類別樣本為止。
根據該方法構建出來的決策樹如圖1所示。
通過決策樹,我們可以看到,智育得分高的學生容易在評比中獲得優秀。這是顯而易見的。但是,除了智育分數以為,優秀學生還與哪些因素有比較大的關系呢?通過決策樹的分析,我們發現德育好的學生更容易獲得優秀,而體育好的學生不太容易得到優秀。通過這樣的模型,便可以在一定程度上對學生進行類別劃分和進行優秀學生預測,以便于學生的管理。
4 結語
決策樹是數據挖掘的常用方法之一,它是一種樹形結構,代表了一個預測模型,反映了對象屬性與對象值之間的映射關系。決策樹中每個節點表示對象的屬性,而分支則代表屬性的取值,葉子節點代表一個分類。決策樹可以用于預測和歸類,事實上,它就是一種基于分類訓練集的預測樹,因此,可以采用決策樹進行預測分析。本文利用決策樹對學生的優秀情況進行評估分析,以尋找影響學生培養質量的因素,達到了較好的效果。
參考文獻
[1]劉紅巖,陳劍,陳國青.數據挖掘中的數據分類算法綜述[J].清華大學學報:自然科學版,2002,42(6):727-730.
[2]羅可,林睦綱,郗東妹.數據挖掘中分類算法綜述[J].計算機工程,2005,31(1):3-5.
[3]林向陽.數據挖掘中的決策樹算法比較研究[J].中國科技信息,2010(2):94-95.
[4]王永梅,胡學鋼.決策樹中ID3算法的研究[J].安徽大學學報:自然科學版,2011(3):71-75.
作者單位
陽江職業技術學院 廣東省陽江市 529500