劉瓔川
(唐山師范學(xué)院, 河北 唐山? 064100)
摘? 要: 為進(jìn)一步改善高校的管理效率,文中設(shè)計(jì)一種執(zhí)行效率較高的教務(wù)管理系統(tǒng)。通過分析傳統(tǒng)Apriori算法,指出數(shù)據(jù)挖掘算法所存在的缺陷。針對以上缺陷,利用散列、事務(wù)壓縮、劃分和抽樣等技術(shù),對Apriori算法進(jìn)行改進(jìn),提高該算法的執(zhí)行效率與可靠性,從而有效提高教務(wù)管理系統(tǒng)的管理效率。相關(guān)測試結(jié)果表明,該系統(tǒng)能夠挖掘?qū)W生成績數(shù)據(jù)之間的關(guān)聯(lián)與規(guī)則,可為教務(wù)管理者的決策提供支撐。
關(guān)鍵詞: 教務(wù)管理系統(tǒng); 系統(tǒng)設(shè)計(jì); Apriori算法; 算法改進(jìn); 數(shù)據(jù)挖掘; 系統(tǒng)測試
中圖分類號: TN911?34; TP311.13? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)14?0052?03
Design and implementation of university educational administration
system based on Apriori algorithms
LIU Yingchuan
(Tangshan Normal University, Tangshan 064100, China)
Abstract: In order to further improve the management efficiency of colleges and universities, an educational administration system with high efficiency is designed. The shortcomings existing in the data mining algorithm are pointed out by analyzing the traditional Apriori algorithm. The Apriori algorithm is improved by means of hashing, transaction compression, partitioning and sampling technology to overcome the above defects and enhance the execution efficiency and reliability, so as to improve the management efficiency of the educational management system. The related testing results show that this system can mine the relation and rule among the student mark data, and provide support for the decision?making of the educational administration management people.
Keywords: educational administration system; system design; Apriori algorithm; algorithm improvement; data mining; system testing
0? 引? 言
隨著社會(huì)與經(jīng)濟(jì)的發(fā)展,我國高等教育的招生規(guī)模不斷增加,高校的教學(xué)資源也逐漸成為稀缺資源。如何快速分析與處理高校學(xué)生的教學(xué)信息,提高高校教務(wù)的管理效率,顯得尤為重要。針對此問題的研究,主要集中在如何利用數(shù)據(jù)挖掘技術(shù),設(shè)計(jì)與實(shí)現(xiàn)具有普適性的高校教務(wù)管理系統(tǒng)。此外,這一方向的研究主要依賴于數(shù)據(jù)挖掘技術(shù)的發(fā)展。
目前,較多國外學(xué)者致力于數(shù)據(jù)挖掘技術(shù)的研究。其中,Kochetov總結(jié)近年來數(shù)據(jù)挖掘技術(shù)的最新進(jìn)展,具有重要意義[1];Marozzo等利用云平臺技術(shù),提出一種改進(jìn)的數(shù)據(jù)挖掘和分析技術(shù)[2],促進(jìn)此研究方向的發(fā)展;此外,國內(nèi)較多學(xué)者也逐漸將數(shù)據(jù)挖掘技術(shù)應(yīng)用于高校的教務(wù)管理系統(tǒng)[3?8]。但是,其實(shí)用性較高,但理論性較低。例如:邱文教等將DM技術(shù)應(yīng)用于教務(wù)管理系統(tǒng),朱艷鵬等將Apriori算法應(yīng)用于教務(wù)管理的研究中[9?10],但并未得到功能完善的高校教務(wù)管理系統(tǒng)。
為了解決此問題,本文利用Hash、劃分和抽樣等技術(shù),改進(jìn)傳統(tǒng)的Apriori算法,并將其用于具體的教務(wù)管理系統(tǒng),從而提高采集、篩選和分析數(shù)據(jù)的效率。
1? 算法思想
數(shù)據(jù)挖掘也被稱為數(shù)據(jù)采礦,即從隨機(jī)性數(shù)據(jù)中提取有效數(shù)據(jù)的操作,具體的技術(shù)結(jié)構(gòu)如圖1所示。
根據(jù)技術(shù)結(jié)構(gòu)可知,與傳統(tǒng)數(shù)據(jù)庫技術(shù)相比,數(shù)據(jù)挖掘所處理數(shù)據(jù)的規(guī)模較大,可以發(fā)現(xiàn)較多的潛在有效規(guī)則,且執(zhí)行速度更快。該技術(shù)具備上述優(yōu)點(diǎn),為其應(yīng)用于關(guān)聯(lián)規(guī)則領(lǐng)域提供了理論基礎(chǔ)。關(guān)聯(lián)規(guī)則是指從某一維度上講,世界上的任何兩件事情均存在某種相關(guān)性,這一特征在數(shù)據(jù)之間表現(xiàn)得尤為明顯。數(shù)據(jù)關(guān)聯(lián)是海量數(shù)據(jù)中存在的某種重要的規(guī)律,按照其關(guān)系類型,數(shù)據(jù)關(guān)聯(lián)可分為簡單關(guān)聯(lián)、時(shí)序關(guān)聯(lián)和因果關(guān)聯(lián)。
Apriori算法是關(guān)聯(lián)規(guī)則挖掘的經(jīng)典算法。該算法包括兩個(gè)步驟:
1) 挖掘大量數(shù)據(jù)中的頻繁項(xiàng)集;
2) 利用已知的頻繁項(xiàng)集,歸納潛在的關(guān)聯(lián)規(guī)則。
通常由于Apriori算法的結(jié)構(gòu)和推導(dǎo)較為簡單,所以其效率、準(zhǔn)確度較高。然而,此算法較難挖掘低支持度、多頻繁模式和復(fù)雜結(jié)構(gòu)的對象,主要因?yàn)椋?/p>
1) Apriori算法在處理候選集時(shí),若頻繁1?項(xiàng)集的數(shù)據(jù)量較大,則算法處理候選2?項(xiàng)集的難度會(huì)增加,導(dǎo)致算法的效率急劇下降;
2) Apriori算法必須不停地掃描數(shù)據(jù)庫,耗費(fèi)大量的計(jì)算資源,從而降低算法的模式匹配效率。
2? 算法設(shè)計(jì)
Apriori算法由項(xiàng)目、關(guān)聯(lián)規(guī)則、事務(wù)、頻度和支持度等因素組成。其中,事務(wù)是指系統(tǒng)的某一次活動(dòng);項(xiàng)目是事務(wù)的最小整體,也被簡稱為項(xiàng);關(guān)聯(lián)規(guī)則是指項(xiàng)目之間的相關(guān)性;頻度是指項(xiàng)目在事務(wù)中出現(xiàn)的次數(shù);項(xiàng)目的支持度是指其頻度與其在所有事務(wù)中出現(xiàn)的總數(shù)比值。
為回避Apriori算法的缺陷,本文將散列、事務(wù)壓縮、劃分和抽樣等技術(shù)融入到算法的流程中。其具體說明如下:
1) 散列技術(shù)
當(dāng)算法在掃描事務(wù)的過程中,屬于候選項(xiàng)目集[C1]中的候選1?項(xiàng)集產(chǎn)生頻繁1?項(xiàng)集[L1]。此時(shí),利用散列技術(shù)可將這兩個(gè)項(xiàng)集均映射到散列表的不同桶中,增加桶的數(shù)量。因此,散列表中的桶計(jì)數(shù)低于候選2?項(xiàng)集,可直接刪除候選項(xiàng)集,達(dá)到壓縮候選2?項(xiàng)集的目的。
2) 事務(wù)壓縮技術(shù)
根據(jù)Apriori算法本身的特性,若一個(gè)事務(wù)不包括任何頻繁[k]?項(xiàng)集,則其也不包含任何頻繁[k+1]?項(xiàng)集。因此,當(dāng)生成頻繁[j]?項(xiàng)集([j>k])時(shí),則算法不再需要掃描數(shù)據(jù)庫。從而降低算法掃描數(shù)據(jù)庫的次數(shù),改善算法的執(zhí)行速度。
3) 劃分技術(shù)
當(dāng)劃分技術(shù)被應(yīng)用時(shí),算法掃描數(shù)據(jù)庫的次數(shù)可直接降到2。第一次掃描時(shí),算法把事務(wù)集劃分為多個(gè)邏輯子集,對每個(gè)子集尋找其局部頻繁項(xiàng)集;第二次掃描時(shí),計(jì)算所有局部候選項(xiàng)集的支持度,通過劃分?jǐn)?shù)據(jù)庫來確定全局頻繁項(xiàng)集。
4) 抽樣技術(shù)
當(dāng)抽樣技術(shù)被應(yīng)用時(shí),算法需選擇數(shù)據(jù)庫[D]中的隨機(jī)樣本[S],直接在[S]中搜索頻繁項(xiàng)集。此算法只需掃描一次[S]中的事務(wù),而并非掃描整個(gè)數(shù)據(jù)庫[D]。此外,抽樣技術(shù)通過降低算法的準(zhǔn)確度,提高執(zhí)行效率。
利用以上技術(shù),本文改進(jìn)Apriori算法,從而提高該算法的執(zhí)行效率。改進(jìn)之后的算法流程如圖2所示。
按照圖2所示的流程,本文還給出了改進(jìn)Apriori算法的偽代碼,其具體描述如下:
Input: 數(shù)據(jù)庫[D],最小支持度閾值min_sup;
Output: 頻繁項(xiàng)集[L];
步驟1:get items();? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//掃描數(shù)據(jù)庫項(xiàng)目
second scan();? ? ? ? ? ? ? ? ? ? ? ? //掃描構(gòu)建0?1矩陣
getL1();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//獲取L1
getC2();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //獲取候選項(xiàng)目集2
getL2();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //獲取L2
步驟2:[for(k=2;Lk-1≠?;k++)]
{
[LC=cutbefore(Lk)];? ? ? ? ? ? ? ? ? ? ? ? ? //連接前剪枝? ? ? ? ? ? ? ?[Ck+1=conitemsLC];? ? ? ? ? ? ? ? ? ? ? //獲取候選項(xiàng)集
[Lk+1=cutafter(Ck+1)];? ? ? ? ? ? ? ? ? ? ? ? ?//連接后剪枝
}
3? 系統(tǒng)實(shí)現(xiàn)
在完成改進(jìn)Apriori算法的設(shè)計(jì)后,本文還需將此算法應(yīng)用于教務(wù)管理系統(tǒng)中。通常教務(wù)管理系統(tǒng)主要包括采集、整理、處理和修正等模塊,而改進(jìn)Apriori算法則應(yīng)用于數(shù)據(jù)處理模塊。其應(yīng)用結(jié)構(gòu)設(shè)計(jì)見圖3。
根據(jù)圖3所示的結(jié)構(gòu),本文可實(shí)現(xiàn)系統(tǒng)的各大主要功能模塊,具體介紹如下:
1) 采集預(yù)處理。系統(tǒng)的采集預(yù)處理模塊主要由數(shù)據(jù)采集與預(yù)處理組成。其中,數(shù)據(jù)采集的對象為數(shù)據(jù)庫的各種數(shù)據(jù)。本系統(tǒng)使用SQL Server數(shù)據(jù)庫,而實(shí)際應(yīng)用中的數(shù)據(jù)庫也可能是其他的。例如,Oracle,MySQL或其他類型數(shù)據(jù)庫。為避免多種數(shù)據(jù)庫造成的不匹配現(xiàn)象,本系統(tǒng)使用ODBC多種數(shù)據(jù)庫互通的方式,實(shí)現(xiàn)不同數(shù)據(jù)庫的訪問。
2) 數(shù)據(jù)整理。在提取數(shù)據(jù)后,系統(tǒng)需要對數(shù)據(jù)進(jìn)行篩選,刪除冗余數(shù)據(jù)及特征不明顯的數(shù)據(jù)。同時(shí),將篩選結(jié)果存儲(chǔ)到系統(tǒng)的中間數(shù)據(jù)庫中。在此過程中,系統(tǒng)還需對有效數(shù)據(jù)進(jìn)行分類,即清洗數(shù)據(jù)。
3) 數(shù)據(jù)分析。數(shù)據(jù)分析模塊是教務(wù)管理系統(tǒng)的核心模塊。其主要利用改進(jìn)Apriori算法,分析、處理中間數(shù)據(jù)庫的有效數(shù)據(jù),并獲取這些數(shù)據(jù)之間潛在的關(guān)聯(lián)規(guī)則,從而為系統(tǒng)使用者決策提供依據(jù)。
4) 數(shù)據(jù)修正。由于系統(tǒng)無法預(yù)測數(shù)據(jù)分析的最終結(jié)果,所以用戶無法確定其分析結(jié)果的實(shí)際意義。為避免結(jié)果無實(shí)際意義或意義模糊的情況,系統(tǒng)需要設(shè)立數(shù)據(jù)修正模塊,對數(shù)據(jù)分析的結(jié)果進(jìn)行修正、分析,判斷其最終結(jié)果是否存在實(shí)際意義。
5) 呈現(xiàn)結(jié)果。數(shù)據(jù)挖掘的結(jié)果需呈交給系統(tǒng)用戶,所以系統(tǒng)在保持分析結(jié)果準(zhǔn)確度的前提下,還應(yīng)盡量提高分析結(jié)果的可讀性。這也使得該模塊一般使用圖表的形式,展示系統(tǒng)的分析結(jié)果。
4? 系統(tǒng)測試
為了驗(yàn)證系統(tǒng)的執(zhí)行效率與可靠性,本文利用處理器為Intel[?] CoreTM i7?4790 CPU @ 3.60 GHz、內(nèi)存為4 GB、操作系統(tǒng)為Windows 7的電腦。在Matlab軟件環(huán)境下,實(shí)現(xiàn)該教務(wù)管理系統(tǒng)。需說明的是,測試數(shù)據(jù)來自于某高校的840位同學(xué)的多門課程成績。部分測試數(shù)據(jù)截圖如圖4所示。
在具體的測試過程中,算法執(zhí)行一步,則更新相應(yīng)的候選項(xiàng)目集,并計(jì)算、比較其最小支持度,從而整理得到最大項(xiàng)目集。當(dāng)系統(tǒng)的算法全部執(zhí)行完畢,本文得到的執(zhí)行結(jié)果如圖5所示。
由圖5可知,該教務(wù)管理系統(tǒng)在執(zhí)行數(shù)據(jù)挖掘的操作后,雖然得到的部分結(jié)論沒有實(shí)際意義,但同時(shí)也獲取了較多有重要價(jià)值的結(jié)果。例如,其中結(jié)論為CN>=60=>HWD>=60[support=49%,confidence=91.5%],這里
的“CN”代表《計(jì)算機(jī)網(wǎng)絡(luò)》,“HWD”代表《計(jì)算機(jī)硬件課程設(shè)計(jì)》。支持度與可信度的數(shù)據(jù)表明,這兩門課程的成績具有相關(guān)性,即當(dāng)某學(xué)生的《計(jì)算機(jī)網(wǎng)絡(luò)》課程成績達(dá)到60分后,則其《計(jì)算機(jī)硬件課程設(shè)計(jì)》的成績大于60分的概率較高。其他測試也可分析得到類似的結(jié)果,即本文的教務(wù)管理系統(tǒng)基本達(dá)到設(shè)計(jì)要求,具有一定的參考價(jià)值。
5? 結(jié)? 論
基于改進(jìn)的Apriori算法,文中主要研究高校教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。其中,本文主要使用散列、事務(wù)壓縮、劃分和抽樣等技術(shù)改進(jìn)Apriori算法,提高算法的執(zhí)行效率與可靠性,從而提升教務(wù)管理系統(tǒng)的效率。然而,該算法依然存在部分優(yōu)化空間。例如,當(dāng)支持度、可信度等數(shù)據(jù)均較高時(shí),系統(tǒng)挖掘的結(jié)果并不一定是具有實(shí)際意義的關(guān)聯(lián)規(guī)則。也許降低支持度閾值可以解決這一問題,而這也將是下一步的研究方向。
參考文獻(xiàn)
[1] VADIM Kochetov. Overview of different approaches to solving problems of data mining [J]. Computer science, 2018, 123: 234?239.
[2] MAROZZO F, TALIA D, TRUNFIO P. A workflow management system for scalable data mining on clouds [J]. IEEE transactions on services computing, 2018, 11(3): 480?492.
[3] 邱文教,潘曉卉.數(shù)據(jù)挖掘技術(shù)在教務(wù)管理中的應(yīng)用[J].安徽工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2005,22(3):133?134.
[4] 曹丹陽.數(shù)據(jù)挖掘在教務(wù)系統(tǒng)中的應(yīng)用研究[D].北京:北方工業(yè)大學(xué),2006.
[5] 陳小莉.基于大數(shù)據(jù)的計(jì)算機(jī)數(shù)據(jù)挖掘技術(shù)在檔案管理系統(tǒng)中的研究應(yīng)用[J].激光雜志,2017,38(2):142?145.
[6] 張艷麗.數(shù)據(jù)挖掘技術(shù)在數(shù)字化校園的教務(wù)系統(tǒng)中的應(yīng)用[D].沈陽:東北大學(xué),2005.
[7] 許敏.基于數(shù)據(jù)挖掘的綜合教務(wù)管理系統(tǒng)研究與實(shí)現(xiàn)[D].長沙:湖南大學(xué),2014.
[8] 崔貫勛,李梁,王柯柯,等.關(guān)聯(lián)規(guī)則挖掘中Apriori算法的研究與改進(jìn)[J].計(jì)算機(jī)應(yīng)用,2010,30(11):2952?2955.
[9] 朱艷鵬,王曉權(quán).基于Apriori算法的數(shù)據(jù)關(guān)聯(lián)規(guī)則在教務(wù)管理中研究[J].中國管理信息化,2015(17):244?246.
[10] 王華,梁華銀.改進(jìn)的Apriori算法在高校教學(xué)管理系統(tǒng)中的應(yīng)用[J].科技信息:學(xué)術(shù)研究,2008(34):226?227.