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