摘 要: 結合高職院校職業技能的評估情況,利用流行的網絡開發技術,應用改進的決策樹ID3算法和XML技術,設計并實現了高職學生綜合技能評估系統,為高職教學提供可行的數據和決策支持。
關鍵詞: 綜合技能評估;數據挖掘;ID3算法;XML
如何讓教師掌握學生學習情況,對學生給出建設性的學習意見;如何讓學生根據學習成績和自身素質,了解學習特點,明確專業學習方向,是高職院校教育工作者應該致力解決的問題。設計并開發適合高職學生特點和職業崗位要求的、能夠為高職師生教學和學習提供數據和決策支持的學生綜合技能評估系統,對于檢驗學生當前學習情況,做好在校期間的職業生涯規劃,有著積極的指導意義。
數據挖掘(Data Mining)是指從大量結構化和非結構的數據中提取有用的信息和知識的過程,是知識發現的有效手段[1]。通過應用數據挖掘技術,可以將目前高職院校的各種管理系統中的數據有效利用,并應用到實際的教學決策和學習指導中,對提高高職教學質量是非常有建設意義的。
本文利用數據庫技術和網絡開發技術,改進數據挖掘技術中的分類ID3算法,給出開發高職學生綜合技能評估系統的基本思路和實現方法。
1 設計思路
根據高職教學的基本特點,綜合技能評估系統的主要功能是對學生當前的課程成績和基本素質進行評估,以及依據當前成績對學生的未來職業方向進行預測,并給出學習的指導性意見。
在綜合技能評估系統中,無論是課程成績的評估,還是對學生綜合技能的預測評估,考慮到應用數據挖掘技術中的分類ID3決策樹方法,選取一門課程的不同類成績,或者學生綜合技能的相關課程成績,以此作為數據樣本,生成相關決策樹,最后依據決策樹的葉子節點給出評估結論或者評估建議。
1.1 ID3算法
ID3算法是由Quinlan首先提出的。該算法是以信息論為基礎,以信息熵和信息增益為衡量標準,首先檢測所有屬性,選擇信息增益值最大的屬性產生決策樹節點,由該屬性的不同取值建立分支,再對各分支的子集遞歸調用建立決策樹節點的分支,直到所有子集僅包含同一個類別的數據為止,最后得到一個決策樹,從而實現對新的樣本的歸納分類[2]。
ID3算法中,對于一個訓練集X,其具有目標屬性U={u1,u2,…,um},Ui在所有樣本中出現的頻率為pi(i=1,2,…,m),則該訓練集X所包含的信息熵E定義為:
通過式(1)可以看出,算法處理過程要進行多次對數運算。當出現較多數據量時,尤其是在成績評估系統中(可能會出現大量并發操作),這樣的運算勢必會影響生成決策樹的效率,可見在綜合技能評估系統中對ID3算法進行改進,節省生成決策樹時間,提高處理效率,是十分必要的。
1.2 對ID3算法的改進
對于一個在線評估系統來說,在某個時間段內可能會出現大量的并發操作,從而影響系統性能,因此,考慮對傳統的ID3決策樹分類算法進行改進。
在改進的算法中,利用了高等數學中的麥克勞林的近似公式:
當存在f(x)=ln(1+x)時,且當x→0時,ln(1+x)≈x
利用上述的近似公式,通過一系列推導后,信息熵公式為:
這里設定屬性值的個數為N。
在式(3)中,用常見的加法、乘法和除法運算代替了對數運算,與式(1)相比,節省了運算時間。通過上述算法的改進,在進行決策樹分裂節點選取的函數運算時,使信息熵只受屬性取值個數N的限制,可以克服傳統ID3算法容易出現的選擇偏向問題。
2 系統設計
2.1 系統功能設計
評估系統面向不同用戶,分為前臺系統和后臺系統。前臺系統面向學生和教師,后臺系統面向教務管理人員。對于學生用戶,可以通過前臺系統進行專業基本素質測評、查看課程成績評估情況、查看專業依照完成的課程成績,通過評估算法,了解自身的技能學習走向和技能學習指導意見;對于教師用戶,可以查看授課班級學生的課程成績、制定課程評估策略、成績分析、對照課程技能點給出學生的學習指導意見;專業負責人可以設計專業相關基本素質的測試試題,比照學生基本素質答卷給出學生專業學習指導意見、制定綜合技能評估策略、依據學生各科成績在技能評估算法的基礎上,對學生的專業學習方向有總體的掌握;對于后臺管理用戶可以執行上述操作的基礎上,還具有數據導入、用戶管理、新聞管理、留言管理、數據備份、查看日志等管理性工作。評估系統的用例如圖1所示。
2.2 系統數據設計
評估系統的科目成績數據、教師用戶數據、學生用戶數據來源于學院使用的凌展教務管理系統,由后臺教務管理人員通過導入模塊進行導入,基本素質測評試題由專業負責人進行錄入,課程評估策略由課程教師進行設計和錄入,專業綜合技能評估策略由專業負責人進行設計和錄入,關鍵數據表及其主要結構如下。
(1)基本素質試題表(B_Question)。主要結構:編號、內容、類型、考察點、專業編號、選項分值等。
(2)課程信息表(Course)。主要結構:課程號、課程名、課程類型、開設專業、是否核心課程等。
(3)課程成績表(C_Score)。主要結構:課程號、學號、開設學期、任課教師、考核方式、平時成績、知識掌握情況、課堂學習情況、成績等級、期末成績等。
(4)課程體系表(C_System)。主要結構:課程號、專業號、專業方向、前導課程號、后繼課程號、相關課程等。
(5)課程評估策略表(C_ES)。主要結構:編號、策略文件、課程編號、創建日期、創建人等。
(6)綜合技能評估策略表(IS_ES)。主要結構:編號、策略文件、專業編號、專業方向、創建日期、創建人等。
(7)專業指導意見表(P_View)。主要結構:學號、專業編號、專業方向、技能總評成績、指導意見類型、指導意見等。
(8)課程指導意見表(C_View)。主要結構:學號、課程編號、課程總評成績、課程指導意見類型、指導建議等。
除上述表外,還有新聞表、留言表、學生信息表、專業傾向表等。
3 系統實現
3.1 系統實現環境
考慮到評估系統應用對象的廣泛性,系統采用目前流行的B/S結構開發,后臺數據庫采用SQL Server2005,開發環境使用Visual Studio 2005,應用.Net框架進行開發,能夠發揮系統的效率,也能夠保證系統的安全性。
3.2 評估系統實現過程
整個系統的實現包括基本專業素質評估、課程評估和綜合技能評估3個環節,其中基本專業素質測評相對簡單,就是根據學生選擇的選項計算得分,根據得分的范圍給出相關指導性意見,而課程和綜合技能的評估則是采用改進的ID3分類算法來執行的,由于算法雷同,本文僅以綜合技能評估的實現來說明。
(1)原始數據的獲取
用于技能評估的數據是核心課程體系中的相關課程成績,其來源于學院的教務管理系統學生核心課程成績,通過程序模塊可以導入到對應的數據表中。
在進行數據導入的時候,要進行不必要數據的清理工作。因為大量課程成績信息是以無次序、無規則的數據記錄保存的,是有噪聲的。需要對大量的、潛在的有用數據進行清理,去除噪聲并識別離群點、糾正數據中的不一致值[3]。
(2)數據整理
篩選掉與綜合技能評估的成績數據后,要對導入進來的數據進行整理,即依照學生的成績進行課程等級的評定。考慮到計算的復雜性,成績等級分為A、B、C 3個等級。
UpDate C_Score set成績等級=′A′where期末成績>=90 and期末成績<=100;
UpDate C_Score set成績等級=′B′where期末成績>=70 and期末成績<=89;
UpDate C_Score set成績等級=′C′where期末成績>=60 and期末成績<70。
(3)決策樹構建
數據整理之后,即可以利用改進的ID3算法構建決策樹,這個過程要經過計算機類別屬性信息熵、計算信息增益、產生根節點等步驟,簡要算法如下。
輸入:S_data(樣本數據),Attr_list(屬性集)
輸出:D_Tree(決策樹)
①建立結點Node;
②if S_data in類C then;
③返回Node為一個葉節點,將其歸類為C;return;
④if Attr_list is NULL then;
⑤設置Node為葉節點,標記S_data為高頻類;
⑥select高頻類;//選擇最高增益屬性
⑦設置Node為高頻類;
⑧對于每個高頻類中的值va,創建一個由Node長出的值為va的分支;
⑨設定Si是S_data中值為va的樣本集合;
⑩If Si is NULL then。
加上一個葉子,標記Si為S_data中的高頻類
Else
加上一個有Make_Dtree返回的節點,繼續構建決策樹
利用上述算法程序構建之后的一個(網絡專業網站設計方向)簡化決策樹模型如圖2所示。該圖中對于核心課程體系中的任何一門課程成績少于60分,即為綜合技能不合格,因此該等級在決策樹中不予體現。
(4)決策規則表示
根據決策樹的分支情況,即可以生成綜合技能評估的決策規則。如圖2所示,一條分類規則就是從根節點到葉子節點的一條路徑,每一個屬性值構成分類規則的條件,而葉子節點表示的是該規則的結果[3]。分類規則采用“if-then”規則,如:
①If Asp=′A′and網頁設計=′A′Then網站設計綜合技能=′合格′
②If Asp=′B′and網頁設計=′C′ and平面設計=′C′Then網站設計綜合技能=′不合格′
(5)評估策略文件的存儲
在存儲決策規則的時候,系統使用易于樹形表示的XML文檔格式進行存儲,將文件名記錄在數據庫中(即綜合技能評估策略表中的策略文件),基本文檔表示如下:
<Rule name="規則1">
<Course>ASP|網頁設計</Course>
<Score>A|A</Score>
<Result>合格</Result>
</Rule>
<Rule name="規則2">
<Course>ASP|網頁設計|平面設計</Course>
<Score>B|C|C</Score>
<Result>不合格</Result>
</Rule>
評估策略確定之后,專業主任可以依據學生的核心課程成績對其綜合技能進行評估、學生和教師也可以根據當前課程學習情況,對未來要學習的課程做出預判,從而確定學習的努力程度,或者對學生給出專業學習建議。
利用數據挖掘技術改進的ID3算法,進行高職院校綜合技能評估系統的開發,可以高效地依據專業核心課程體系中各科成績進行分析、對專業綜合技能進行評估和評定,為高職院校教學管理、專業建設和學生自主學習提供決策技術支持,對提高教學質量起著輔助作用。在系統中,利用XML技術來存儲課程和綜合技能的評估策略,使其更加利于決策樹的表示,提高了存取效率,也節省了存儲空間。
該系統目前已經在遼陽職業技術學院信息工程系進行試運行,目前運行穩定,得到了使用方的認可,證明了其具有實用性和可靠性。
參考文獻
[1] 蘇新寧.數據倉庫和數據挖掘[M].北京:清華大學出版社,2006.
[2] 蔣盛益.數據挖掘原理與實踐[M].北京:電子工業出版社,2011.
[3] 羅雨滋,趙鵬起.改進的ID3算法在學生綜合技能評估中的應用研究[J].佳木斯:佳木斯大學學報,2013(4):80-82.