徐敏
【摘要】文章利用學(xué)院教務(wù)管理軟件收集了大量的學(xué)生數(shù)據(jù)信息,采用數(shù)據(jù)挖掘技術(shù)中的ID3算法將這些信息轉(zhuǎn)換成知識(shí),指導(dǎo)教學(xué)研究,并輔助學(xué)生選擇適合自己的專業(yè)方向。
【關(guān)鍵詞】數(shù)據(jù)挖掘;決策樹;ID3算法
一、前言
本研究采用數(shù)據(jù)挖掘分類技術(shù),從教務(wù)管理系統(tǒng)存儲(chǔ)的數(shù)據(jù)中發(fā)現(xiàn)有價(jià)值的信息,對(duì)“學(xué)生大一期間各門專業(yè)基礎(chǔ)課”及相關(guān)信息的數(shù)據(jù)資源進(jìn)行挖掘以獲得輔助決策,分析基礎(chǔ)課成績(jī)和學(xué)生個(gè)人興趣愛好之間的潛在關(guān)系,幫助管理者通過對(duì)學(xué)生學(xué)習(xí)成績(jī)的分析和研究,了解和掌握學(xué)生的學(xué)習(xí)情況、需求、能力等,及時(shí)調(diào)整教學(xué)計(jì)劃,對(duì)學(xué)生專業(yè)方向選擇做出預(yù)測(cè)性的指導(dǎo)。
二、算法及實(shí)現(xiàn)
ID3算法是由Quinlan于1986年提出的一種基于信息炳的決策樹學(xué)習(xí)算法。他把C.E.Shannon的信息論引入到了決策樹算法中,把信息熵作為選擇測(cè)試屬性的標(biāo)準(zhǔn),對(duì)訓(xùn)練樣本集進(jìn)行分類,并構(gòu)造決策樹來預(yù)測(cè)如何由測(cè)試屬性對(duì)整個(gè)樣本空間進(jìn)行劃分。
(一)數(shù)據(jù)的收集和整理
本研究利用ID3算法以華南女子學(xué)院服裝專業(yè)學(xué)生的大一期間的成績(jī)?yōu)橥诰驍?shù)據(jù)源,根據(jù)學(xué)生各科的學(xué)習(xí)成績(jī)信息,剔除了成績(jī)表中與專業(yè)發(fā)展方向無顯著相關(guān)性的屬性如體育等課程屬性,選擇7門具有代表性的專業(yè)基礎(chǔ)課作為基礎(chǔ)數(shù)據(jù)進(jìn)行處理。
其次,對(duì)訓(xùn)練表中的每一列成績(jī)屬性的值進(jìn)行離散化處理。我們?cè)谶M(jìn)行數(shù)據(jù)預(yù)處理工作的時(shí)候,將成績(jī)分成三個(gè)部分,用A類表示[80,100]之間的分?jǐn)?shù),用B類表示[70,79]之間的分?jǐn)?shù),用C類表示[0,69]之間的分?jǐn)?shù)。
除了學(xué)習(xí)成績(jī)之外,我們還需要考慮影響學(xué)生專業(yè)方向選擇的其他因素。服裝系的專業(yè)方向具體劃分為三個(gè)方面:
制板與工藝方向、造型設(shè)計(jì)方向、市場(chǎng)營(yíng)銷方向。
學(xué)生在大一修完專業(yè)基礎(chǔ)課后,自行選擇專業(yè)方向。為了更好地了解學(xué)生選擇專業(yè)方向的動(dòng)機(jī)以及完成階段性學(xué)習(xí)以及大學(xué)二年級(jí)工學(xué)結(jié)合的專業(yè)實(shí)踐后對(duì)自己所選方向的滿意度,我們?cè)O(shè)計(jì)了問卷調(diào)查:①學(xué)生的個(gè)人興趣:A、手工制作 ;B 、創(chuàng)意設(shè)計(jì) ;C、人際交往;②選擇專業(yè)方向時(shí)是否按興趣來選擇:A、是;B、不確定;C、否; ③ 經(jīng)過一年的專業(yè)學(xué)習(xí),覺得現(xiàn)在的專業(yè)方向是否合適自己:A、是;B、不確定;C、否(覺得自己更合適什么方向)。
經(jīng)過上述工作之后,整個(gè)表就只包含了影響專業(yè)發(fā)展方向的關(guān)鍵因素的屬性。然后再對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)清理工作。
在學(xué)生調(diào)查信息表中我們看到,有一些我們感興趣的屬性缺少屬性值。這樣的記錄,我們予以刪除。在學(xué)生成績(jī)表中,有些學(xué)生缺考、作弊或退學(xué)。這樣他們的成績(jī)也是無效的數(shù)據(jù),因?yàn)闊o法根據(jù)他們的成績(jī)得出分類結(jié)果,所以我們進(jìn)行了刪除。經(jīng)過數(shù)據(jù)清理后,總記錄數(shù)為186條。
通過數(shù)據(jù)收集、數(shù)據(jù)整理之后,我們實(shí)際可以使用的數(shù)據(jù)記錄為182條。由于在系統(tǒng)實(shí)現(xiàn)過程中我們還需要預(yù)留一部分?jǐn)?shù)據(jù)進(jìn)行數(shù)據(jù)分析準(zhǔn)確度測(cè)試,因此,在放入訓(xùn)練數(shù)據(jù)集進(jìn)行決策樹模型生成訓(xùn)練的實(shí)際數(shù)據(jù)記錄為146條。使用決策樹ID3方法對(duì)于越大的數(shù)據(jù)庫(kù)使用效果越好。由于本次數(shù)據(jù)挖掘使用的挖掘庫(kù)中的數(shù)據(jù)記錄存在有限性,使得對(duì)ID3方法的使用效果產(chǎn)生了影響。
(二)利用ID3算法構(gòu)造學(xué)生成績(jī)分析決策樹
1.信息增益的計(jì)算
先我們先利用公式計(jì)算機(jī)出信息熵,參加數(shù)據(jù)挖掘的記錄有146條。經(jīng)過兩年的專業(yè)學(xué)習(xí)后,認(rèn)為自己更適合學(xué)習(xí)制板與工藝方向的有58人,認(rèn)為自己更適合學(xué)習(xí)造型設(shè)計(jì)方向的有48人,覺得自己更適合市場(chǎng)營(yíng)銷方向的有32人,不確定方向的8人。
H(S)=-
=-(58/146)Log2(58/146)-(32/146)Log2(32/146)-(48/146)Log2 (48/146)-(8/146)Log2 (8/146)=1.7663
下面計(jì)算信息增益值。
利用公式:信息增益值 I(S/A) =H(S)-H(S/A)
其中H(S/A)=-得
經(jīng)過整理后,參加數(shù)據(jù)挖掘的屬性有9個(gè),根據(jù)公式計(jì)算起信息增益為:
Gain(S,基礎(chǔ)工藝)=H(S)-H(基礎(chǔ)工藝)=0.0646比特
Gain(S,成衣工藝)=H(S))-H(成衣工藝)=0.1356比特
Gain(S,服裝結(jié)構(gòu)設(shè)計(jì)原理)=H(S)-H(服裝結(jié)構(gòu)設(shè)計(jì)原理)=0.0932比特。
Gain(S,服裝設(shè)計(jì)基礎(chǔ))=H(S)-H(服裝設(shè)計(jì)基礎(chǔ))=0.1696比特。
Gain(S,款式效果圖)=H(S)-H(款式效果圖)=0.1696比特。
Gain(S,款式設(shè)計(jì))=H(S))-H(款式設(shè)計(jì))=0.3512比特。
Gain(S,市場(chǎng)營(yíng)銷)=H(S)-H(市場(chǎng)營(yíng)銷)=0.1116比特。
Gain(S,興趣)=H(S)-H(興趣)=0.7951比特。
由此可得Gain(S,興趣)最大,即個(gè)人興趣對(duì)分類最有幫助,所以選擇興趣對(duì)決策樹的結(jié)構(gòu)進(jìn)行首次分區(qū),產(chǎn)生4分枝。
2.遞歸創(chuàng)建決策樹
選擇興趣作為測(cè)試屬性之后訓(xùn)練實(shí)例集分為4個(gè)子集,生成4個(gè)子節(jié)點(diǎn),對(duì)每個(gè)子節(jié)點(diǎn)遞歸采用上述過程進(jìn)行分類直至每個(gè)節(jié)點(diǎn)中各個(gè)實(shí)例屬于同類。
以 “興趣= 手工制作” 為例
選擇手工制作的同學(xué)一共有56人,經(jīng)過兩年的專業(yè)學(xué)習(xí)后,認(rèn)為自己更適合學(xué)習(xí)制板與工藝方向的有42人,認(rèn)為自己更適合學(xué)習(xí)造型設(shè)計(jì)方向的有8人,覺得自己更適合市場(chǎng)營(yíng)銷方向的有4人,不確定方向的2人。
通過計(jì)算得到的Gain(S_興趣. 手工制作,服裝結(jié)構(gòu)設(shè)計(jì)原理)最大,即“服裝結(jié)構(gòu)設(shè)計(jì)原理(簡(jiǎn)稱設(shè)計(jì)原理)”的信息對(duì)分類最有幫助,所以選擇“服裝結(jié)構(gòu)設(shè)計(jì)原理”的成績(jī)對(duì)決策樹的結(jié)構(gòu)進(jìn)行再次分區(qū),產(chǎn)生3個(gè)分枝。
計(jì)算選擇興趣為“手工制作”的學(xué)生里,設(shè)計(jì)原理成績(jī)大等于80分,其余的6門課程成績(jī)相應(yīng)的信息增益值,發(fā)現(xiàn)興趣選擇手工制作的所有設(shè)計(jì)原理成績(jī)大等于80分的同學(xué)在兩年的學(xué)習(xí)后認(rèn)為自己最適合工藝方向因此不再另做計(jì)算。
于是,我們接著研究興趣為“手工制作”且設(shè)計(jì)原理成績(jī)介于80~70分之間,其余6門成績(jī)的信息增益值計(jì)算:
Gain(S_興趣.手工制作_服裝結(jié)構(gòu)設(shè)計(jì)原理.介于70~80分,基礎(chǔ)工藝)=0.8298比特
Gain(S_興趣.手工制作_服裝結(jié)構(gòu)設(shè)計(jì)原理. 介于70~80分,成衣工藝)=0.6817比特
Gain(S_興趣.手工制作_服裝結(jié)構(gòu)設(shè)計(jì)原理. 介于70~80分,服裝設(shè)計(jì)基礎(chǔ))=0.2484比特
Gain(S_興趣.手工制作_服裝結(jié)構(gòu)設(shè)計(jì)原理. 介于70~80分,款式效果圖)=0.3148比特
Gain(S_興趣.手工制作_服裝結(jié)構(gòu)設(shè)計(jì)原理. 介于70~80分,款式設(shè)計(jì))=0.1627比特
Gain(S_興趣.手工制作_服裝結(jié)構(gòu)設(shè)計(jì)原理. 介于70~80分,市場(chǎng)營(yíng)銷)=0.1309比特
通過以上計(jì)算得到的Gain(S_興趣.手工制作_服裝結(jié)構(gòu)設(shè)計(jì)原理.介于70~80分,基礎(chǔ)工藝)最大,按照信息增益最大的原則選擇“基礎(chǔ)工藝”的成績(jī)?yōu)楦Y(jié)點(diǎn),并將樣本分成3部分,然后對(duì)每一棵子樹按照以上方法遞歸計(jì)算,最后得出的決策樹。
由于決策樹的構(gòu)建是一個(gè)遞歸的計(jì)算,而本研究采用數(shù)據(jù)結(jié)點(diǎn)較多,因此我們?cè)贛icrosoft Visual Studio 2005 環(huán)境下用C#語言編程,利用程序生成其余的決策樹:
3.樹剪枝
在實(shí)際應(yīng)用中,部分?jǐn)?shù)據(jù)因數(shù)量太少以至于不能產(chǎn)生目標(biāo)函數(shù)的有代表性的采樣,導(dǎo)致我們使用決策樹算法生成的決策樹很多分支反映的是訓(xùn)練數(shù)據(jù)集中的異常。因此我們?cè)O(shè)置生成決策樹的最小樣本值為4,進(jìn)行預(yù)剪枝處理。為了降低剪枝后的冗余,在剪枝后,如果有某個(gè)葉子結(jié)點(diǎn)下的所有屬性值指向的結(jié)果都相同,則認(rèn)為是該葉子結(jié)點(diǎn)是冗余的葉子結(jié)點(diǎn)將被刪除,其屬性值將作為該結(jié)點(diǎn)原父節(jié)點(diǎn)的屬性值被保留。
由此決策樹導(dǎo)出相關(guān)規(guī)則:
if (xq=='手工制作' and sjyl=='大等于80') then適合工藝方向
if (xq=='手工制作' and sjyl=='介于80~70' and jcgy=='大等于80' and cygy=='大等于80' and ksxgt=='大等于80' and kssj=='大等于80') then適合工藝方向
if (xq=='手工制作' and sjyl=='介于80~70' and jcgy=='大等于80' and cygy=='大等于80' and ksxgt=='大等于80' and kssj=='小于70') then適合工藝方向
本次參與數(shù)據(jù)挖掘的屬性較多,從而構(gòu)筑出的決策樹規(guī)模較為龐大,導(dǎo)出的規(guī)則也相當(dāng)多。由于篇幅有限,這里不再一一羅列。我們將留做測(cè)試的36條數(shù)據(jù)運(yùn)用到?jīng)Q策樹得出的所有規(guī)則里,經(jīng)過測(cè)試有31條規(guī)則命中,準(zhǔn)確率為86.1%。
四、小結(jié)
論文主要討論的是ID3算法在學(xué)生專業(yè)方向選擇中的具體應(yīng)用,展現(xiàn)了該數(shù)據(jù)挖掘技術(shù)在輔助預(yù)測(cè)學(xué)生最適合的專業(yè)方向的應(yīng)用過程,包括數(shù)據(jù)采集、數(shù)據(jù)清理、數(shù)據(jù)轉(zhuǎn)換等數(shù)據(jù)預(yù)處理技術(shù),使用ID3算法生成決策樹,最后由決策樹產(chǎn)生分類規(guī)則,完成了根據(jù)學(xué)生興趣以及專業(yè)課成績(jī)來判斷適合選擇的專業(yè)方向的決策樹模型建立。最后對(duì)學(xué)生專業(yè)方向選擇做出預(yù)測(cè)性的指導(dǎo)。
【參考文獻(xiàn)】
[1]董彩云,曲守寧.數(shù)據(jù)挖掘及其在高校教學(xué)系統(tǒng)中的應(yīng)用[J].濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,18(01): 65-68.
[2]邱月.數(shù)據(jù)挖掘方法在學(xué)生成績(jī)?cè)u(píng)價(jià)中的應(yīng)用[J].科技信息,2008(09):76-77.
[3]陳晶,肖丁.決策樹算法在數(shù)據(jù)挖掘中的應(yīng)用研究[J]軟件導(dǎo)刊,2008(03):98-99.
[4]魏濤.改進(jìn)的ID3算法及其在教育信息挖掘中的應(yīng)用[J].上海海事大學(xué)學(xué)報(bào),2005(03):82-84.