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