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