摘 要: 結(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é)習(xí)情況,對學(xué)生給出建設(shè)性的學(xué)習(xí)意見,;如何讓學(xué)生根據(jù)學(xué)習(xí)成績和自身素質(zhì),,了解學(xué)習(xí)特點,明確專業(yè)學(xué)習(xí)方向,,是高職院校教育工作者應(yīng)該致力解決的問題,。設(shè)計并開發(fā)適合高職學(xué)生特點和職業(yè)崗位要求的、能夠為高職師生教學(xué)和學(xué)習(xí)提供數(shù)據(jù)和決策支持的學(xué)生綜合技能評估系統(tǒng),,對于檢驗學(xué)生當(dāng)前學(xué)習(xí)情況,,做好在校期間的職業(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é)習(xí)指導(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é)生當(dāng)前的課程成績和基本素質(zhì)進行評估,,以及依據(jù)當(dāng)前成績對學(xué)生的未來職業(yè)方向進行預(yù)測,,并給出學(xué)習(xí)的指導(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ǔ),,以信息熵和信息增益為衡量標(biāo)準(zhǔn),,首先檢測所有屬性,選擇信息增益值最大的屬性產(chǎn)生決策樹節(jié)點,,由該屬性的不同取值建立分支,,再對各分支的子集遞歸調(diào)用建立決策樹節(jié)點的分支,直到所有子集僅包含同一個類別的數(shù)據(jù)為止,,最后得到一個決策樹,,從而實現(xiàn)對新的樣本的歸納分類[2]。
ID3算法中,,對于一個訓(xùn)練集X,,其具有目標(biāo)屬性U={u1,u2,,…,,um},Ui在所有樣本中出現(xiàn)的頻率為pi(i=1,,2,,…,,m),則該訓(xùn)練集X所包含的信息熵E定義為:
通過式(1)可以看出,,算法處理過程要進行多次對數(shù)運算,。當(dāng)出現(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é)中的麥克勞林的近似公式:
當(dāng)存在f(x)=ln(1+x)時,,且當(dāng)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é)習(xí)走向和技能學(xué)習(xí)指導(dǎo)意見,;對于教師用戶,可以查看授課班級學(xué)生的課程成績,、制定課程評估策略,、成績分析、對照課程技能點給出學(xué)生的學(xué)習(xí)指導(dǎo)意見,;專業(yè)負(fù)責(zé)人可以設(shè)計專業(yè)相關(guān)基本素質(zhì)的測試試題,,比照學(xué)生基本素質(zhì)答卷給出學(xué)生專業(yè)學(xué)習(xí)指導(dǎo)意見、制定綜合技能評估策略,、依據(jù)學(xué)生各科成績在技能評估算法的基礎(chǔ)上,,對學(xué)生的專業(yè)學(xué)習(xí)方向有總體的掌握;對于后臺管理用戶可以執(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è)負(fù)責(zé)人進行錄入,,課程評估策略由課程教師進行設(shè)計和錄入,專業(yè)綜合技能評估策略由專業(yè)負(fù)責(zé)人進行設(shè)計和錄入,,關(guān)鍵數(shù)據(jù)表及其主要結(jié)構(gòu)如下,。
(1)基本素質(zhì)試題表(B_Question),。主要結(jié)構(gòu):編號,、內(nèi)容、類型,、考察點,、專業(yè)編號、選項分值等,。
?。?)課程信息表(Course)。主要結(jié)構(gòu):課程號,、課程名,、課程類型,、開設(shè)專業(yè)、是否核心課程等,。
?。?)課程成績表(C_Score)。主要結(jié)構(gòu):課程號,、學(xué)號,、開設(shè)學(xué)期、任課教師,、考核方式,、平時成績、知識掌握情況,、課堂學(xué)習(xí)情況,、成績等級、期末成績等,。
?。?)課程體系表(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)來說明,。
(1)原始數(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],。
(2)數(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,。
(3)決策樹構(gòu)建
數(shù)據(jù)整理之后,,即可以利用改進的ID3算法構(gòu)建決策樹,,這個過程要經(jīng)過計算機類別屬性信息熵、計算信息增益,、產(chǎn)生根節(jié)點等步驟,,簡要算法如下。
輸入:S_data(樣本數(shù)據(jù)),,Attr_list(屬性集)
輸出:D_Tree(決策樹)
?、俳⒔Y(jié)點Node;
?、趇f S_data in類C then,;
③返回Node為一個葉節(jié)點,,將其歸類為C,;return;
?、躨f Attr_list is NULL then,;
⑤設(shè)置Node為葉節(jié)點,標(biāo)記S_data為高頻類,;
?、辳elect高頻類;//選擇最高增益屬性
?、咴O(shè)置Node為高頻類,;
⑧對于每個高頻類中的值va,,創(chuàng)建一個由Node長出的值為va的分支,;
⑨設(shè)定Si是S_data中值為va的樣本集合,;
?、釯f Si is NULL then。
加上一個葉子,,標(biāo)記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ī)則,,如:
①If 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è)計綜合技能=′不合格′
?。?)評估策略文件的存儲
在存儲決策規(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ù)當(dāng)前課程學(xué)習(xí)情況,對未來要學(xué)習(xí)的課程做出預(yù)判,,從而確定學(xué)習(xí)的努力程度,,或者對學(xué)生給出專業(yè)學(xué)習(xí)建議。
利用數(shù)據(jù)挖掘技術(shù)改進的ID3算法,進行高職院校綜合技能評估系統(tǒng)的開發(fā),,可以高效地依據(jù)專業(yè)核心課程體系中各科成績進行分析,、對專業(yè)綜合技能進行評估和評定,為高職院校教學(xué)管理,、專業(yè)建設(shè)和學(xué)生自主學(xué)習(xí)提供決策技術(shù)支持,,對提高教學(xué)質(zhì)量起著輔助作用。在系統(tǒng)中,,利用XML技術(shù)來存儲課程和綜合技能的評估策略,,使其更加利于決策樹的表示,提高了存取效率,,也節(jié)省了存儲空間,。
該系統(tǒng)目前已經(jīng)在遼陽職業(yè)技術(shù)學(xué)院信息工程系進行試運行,目前運行穩(wěn)定,,得到了使用方的認(rè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.