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