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