張 亮
?
基于Apriori算法的高校就業(yè)預(yù)警系統(tǒng)的研究
張亮
摘 要:隨著現(xiàn)代高校學(xué)生學(xué)習(xí)任務(wù)的日益繁重以及學(xué)習(xí)方向趨于多樣,學(xué)生很難看清自己就業(yè)和在校期間的學(xué)習(xí)方向的關(guān)系,這使得學(xué)生在校期間對(duì)自己要求不甚嚴(yán)格導(dǎo)致就業(yè)困難。針對(duì)這一現(xiàn)狀,提出了一種基于Apriori算法的高校就業(yè)預(yù)警系統(tǒng),通過(guò)挖掘已就業(yè)學(xué)生的信息,找出隱藏在其中有價(jià)值的信息,并加上對(duì)在校學(xué)生的信息的分析,對(duì)在校學(xué)生就業(yè)前景進(jìn)行預(yù)警。系統(tǒng)開(kāi)發(fā)采用JSP+servlet完成,后臺(tái)選用SQL Server2008數(shù)據(jù)庫(kù)搭建,在此基礎(chǔ)上設(shè)計(jì)并開(kāi)發(fā)一個(gè)較完善的高校就業(yè)預(yù)警系統(tǒng)。
關(guān)鍵詞:數(shù)據(jù)挖掘;Apriori算法;預(yù)警系統(tǒng);MVC;
隨著國(guó)家信息化步伐的加快和高等教育規(guī)模的擴(kuò)大,近年來(lái),高校畢業(yè)生就業(yè)存在一個(gè)常見(jiàn)的問(wèn)題是由于在校時(shí)學(xué)習(xí)方向的選擇偏差,導(dǎo)致就業(yè)方向與自己所期望的相差甚遠(yuǎn)。數(shù)據(jù)挖掘融合了數(shù)據(jù)庫(kù)技術(shù)等多種技術(shù)學(xué)科,而數(shù)據(jù)挖掘中最活躍的研究方法之一就是關(guān)聯(lián)規(guī)則。本文主要介紹了高校預(yù)警系統(tǒng)工程和數(shù)據(jù)庫(kù)的分析與設(shè)計(jì),并對(duì)其使用的關(guān)鍵技術(shù)進(jìn)行了闡述。
1.1 系統(tǒng)功能分析與設(shè)計(jì)
本系統(tǒng)的用戶分為管理員和學(xué)生兩種。管理員的權(quán)限為:對(duì)已就業(yè)信息進(jìn)行錄入和修改,可修改影響學(xué)生就業(yè)因素以及就業(yè)因素影響程度;對(duì)就業(yè)行業(yè)形勢(shì)信息進(jìn)行錄入和修改。學(xué)生的權(quán)限為:修改自己的基本資料,進(jìn)行就業(yè)預(yù)警分析,查看就業(yè)形勢(shì)和就業(yè)需求。本系統(tǒng)總體設(shè)計(jì)流程如圖1所示:

圖1 系統(tǒng)的總體設(shè)計(jì)流程圖
1.2 系統(tǒng)的數(shù)據(jù)庫(kù)分析與設(shè)計(jì)
根據(jù)系統(tǒng)功能的設(shè)計(jì),在SQL Server2008里創(chuàng)建數(shù)據(jù)庫(kù)TestAlarming,其中主要數(shù)據(jù)庫(kù)[1]-[3]如表1~表4所示:

表1 ADMINF(管理員信息表)

表2 CHOOSE(預(yù)警因素選擇表)

表3 INFO(行業(yè)形勢(shì)信息表)
還有一張 EMPLOYED(已就業(yè)學(xué)生信息表),由于此表和STUINF(學(xué)生信息表)數(shù)據(jù)表設(shè)計(jì)基本一致,故此不再贅述。
2.1 預(yù)警模塊的實(shí)現(xiàn)
2.1.1 Apriori簡(jiǎn)介
Apriori算法[4]-[5]是最為經(jīng)典的關(guān)聯(lián)規(guī)挖據(jù)算法,它利用頻繁項(xiàng)集性質(zhì)的先驗(yàn)知識(shí)(prior knowledge),通過(guò)逐層搜索的迭代方法,逐步完成頻繁項(xiàng)目集的發(fā)現(xiàn)。為了發(fā)掘有意義的關(guān)聯(lián),一般需要給定兩個(gè)閥值:最小支持度(min_sup)和最小置信度(min_conf)。其中,頻繁項(xiàng)集就是指一個(gè)項(xiàng)目集A滿足最小支持度(Support(A)>=min_sup)。
Apriori算法由連接(join)和修剪(prune)兩個(gè)操作步驟[6]-[7]:
連接(join)步驟:為了找出Lk,可以將Lk-1與自己連接產(chǎn)生候選k-項(xiàng)集的集合,該候選k-項(xiàng)集記為Ck。Lk-1中的兩個(gè)元素L1和L2可以執(zhí)行連接操作的條件是:

(2)修剪(prune)步驟:一個(gè)k-項(xiàng)集,如果它的一個(gè)k-1項(xiàng)集不是頻繁的,那它本身也不可能是頻繁的。為了減少計(jì)算量,可以使用Apriori性質(zhì),即如果一個(gè)候選k-項(xiàng)集任一子集((k-1)-項(xiàng)集)不屬于Lk-1,那么該候選k-項(xiàng)集不可能成為一個(gè)頻繁k-項(xiàng)集,因而可以直接從Ck刪除。
Apriori算法核心思想如下[8]:

2.1.2 預(yù)警規(guī)則的挖掘
預(yù)警規(guī)則的挖掘是高校就業(yè)預(yù)警系統(tǒng)中的核心部分。預(yù)警模塊根據(jù)學(xué)生錄入的基本信息,提取相應(yīng)的預(yù)警規(guī)則集,依據(jù)所涉及的預(yù)警策略決定預(yù)警信息的生成情況。具體過(guò)程如下:
(1)清除冗余數(shù)據(jù),這是由于就業(yè)預(yù)警模塊需要選取大量的成績(jī)數(shù)據(jù)進(jìn)行挖掘;
(2)將就業(yè)情況加入到成績(jī)表中,高校就業(yè)預(yù)警系統(tǒng)分為7種就業(yè)情況,分別為,No1:考取碩士研究生;No2:考取公務(wù)員及事業(yè)編;No3:就職國(guó)企;No4:就職500強(qiáng)企業(yè);No5:就職普通公司;No6:出國(guó)留學(xué);No7:未就業(yè)。
(3)通過(guò)預(yù)處理模塊將數(shù)據(jù)進(jìn)行離散化處理,具體離散化過(guò)程如表5所示:

表5 數(shù)據(jù)離散化
(4)根據(jù)就業(yè)情況將數(shù)據(jù)分類。

(5)關(guān)聯(lián)規(guī)則算法計(jì)算。將就業(yè)數(shù)據(jù)分離成5個(gè)表,使用Apriori算法進(jìn)行計(jì)算,將能推出其就業(yè)情況且置信度達(dá)到100%的規(guī)則抽出,得到N條關(guān)聯(lián)規(guī)則,具體實(shí)現(xiàn)代碼如下所示:

(6)找到該學(xué)生所有成績(jī)中不及格的成績(jī),找到其中的必然聯(lián)系。例如物理上與物理下,高數(shù)上與高數(shù)下等相關(guān)聯(lián)的課,對(duì)其不及格課程進(jìn)行分析,若前一科不及格,則對(duì)后面相關(guān)的未修科目,提出課程預(yù)警。例如物理上不及格,將會(huì)提示學(xué)生其物理下也會(huì)不及格的可能性。
(7)將學(xué)生的信息分別與5種不同的職業(yè)得出的關(guān)聯(lián)規(guī)則進(jìn)行匹配,若M1~M8條關(guān)聯(lián)規(guī)則,計(jì)算出每個(gè)職業(yè)的匹配度Mn/N。當(dāng)匹配度最高時(shí),說(shuō)明學(xué)生適合n號(hào)職業(yè)。
2.2 MVC體系結(jié)構(gòu)模式
模型-視圖-控制器 MVC(Model-View-Controller),其目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。本系統(tǒng)是JSP+Servlet+ JavaBean結(jié)構(gòu)來(lái)實(shí)現(xiàn)的MVC模式[9],其總體結(jié)構(gòu)設(shè)計(jì)應(yīng)遵循如下原則:
(1)為了方便用戶使用,系統(tǒng)基于瀏覽器進(jìn)行顯示;
(2)為了便于數(shù)據(jù)庫(kù)轉(zhuǎn)換,系統(tǒng)采用JDBC技術(shù)與數(shù)據(jù)庫(kù)通信;
(3)Web層:用于與企業(yè)用戶進(jìn)行交互以及顯示根據(jù)特定業(yè)務(wù)規(guī)則進(jìn)行計(jì)算后的結(jié)構(gòu);
(4)Middle層:相當(dāng)于三層標(biāo)準(zhǔn)架構(gòu)中的Web應(yīng)用服務(wù)層,支持諸如響應(yīng)客戶請(qǐng)求以及查詢等功能;
(5)Server層:提供底層的信息數(shù)據(jù)庫(kù)服務(wù)器,用JavaBean實(shí)現(xiàn)。
采用MVC開(kāi)發(fā)模式,主要是考慮到用戶網(wǎng)絡(luò)信息安全的問(wèn)題,將全部數(shù)據(jù)庫(kù)操作封裝在JavaBean中,并用Servlet進(jìn)行控制,保證了用戶的信心安全,實(shí)現(xiàn)了性能的穩(wěn)定。
2.3 WEB-INF安全路徑
為了使系統(tǒng)的安全性得到保障,將開(kāi)發(fā)的頁(yè)面文件移到WEB-INF目錄下[10],利用WEB-INF作為安全路徑來(lái)跳轉(zhuǎn)。在WEB-INF目錄下放置開(kāi)發(fā)的頁(yè)面資源,這樣可以的限制訪問(wèn),用戶可以使用WEB-INF目錄下的JSP頁(yè)面來(lái)提供視圖,用戶不能直接請(qǐng)求訪問(wèn)JSP,提高安全性。基于Servlet的聲明,WEB-INF不能作為Web應(yīng)用的公共文檔樹(shù)的一部分。因此,WEB-INF目錄下的資源不是為客戶直接服務(wù)的。
2.4 直接預(yù)警功能推薦顯示實(shí)例
一名學(xué)生注冊(cè)并登錄到本系統(tǒng)后,根據(jù)新生的基本信息,點(diǎn)擊“預(yù)警”按鈕,按照2.1.2所述的預(yù)警規(guī)則的挖掘算法,系統(tǒng)將為學(xué)生顯示預(yù)警信息,并直觀顯示在預(yù)警信息的頁(yè)面中。如圖2所示:

圖2 預(yù)警系統(tǒng)顯示頁(yè)面
該文提出了一種基于關(guān)聯(lián)規(guī)則挖掘的高校就業(yè)預(yù)警系統(tǒng),挖掘已就業(yè)學(xué)生的信息。根據(jù)Apriori算法對(duì)系統(tǒng)中的數(shù)據(jù)進(jìn)行分析處理,并與相應(yīng)的關(guān)聯(lián)規(guī)則進(jìn)行匹配,及時(shí)找到可能出現(xiàn)不及格的科目,從而為學(xué)生提出就業(yè)預(yù)警信息。將開(kāi)發(fā)的頁(yè)面文件移到WEB-INF目錄下,有效地保證了數(shù)據(jù)的安全可靠性。
參考文獻(xiàn)
[1] 郭艷華.?dāng)?shù)據(jù)庫(kù)技術(shù)與應(yīng)用[M].杭州:浙江大學(xué)出版社,2013
[2] 王曉波.?dāng)?shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)教程[M].北京:清華大學(xué)出版社,2010
[3] 陳利平.?dāng)?shù)據(jù)庫(kù)原理[M].北京:中國(guó)鐵道出版社,2007
[4] 毛國(guó)君,段立娟,王實(shí)等.?dāng)?shù)據(jù)挖掘原理與算法[M].北京:清華大學(xué)出版社,2007
[5] 趙祖應(yīng),丁勇,鄧平.基于Apriori算法的購(gòu)物籃關(guān)聯(lián)規(guī)則分析[J].江西科學(xué),2012,30(01):96-98
[6] 趙春玲,寧紅云.Apriori算法的改進(jìn)及其在物流信息挖掘中的應(yīng)用[J].天津理工大學(xué)學(xué)報(bào),2007,23(01):30-33
[7] 劉華婷,郭仁祥,姜浩.關(guān)聯(lián)規(guī)則挖掘Apriori算法的研究和改進(jìn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,26(1):1-3
[8] 紀(jì)系禹、韓秋明等.?dāng)?shù)據(jù)挖掘技術(shù)應(yīng)用實(shí)例[M].北京:機(jī)械工業(yè)出版社,2009
[9] 韓彩云.基于MVC模式的J2EE開(kāi)發(fā)框架研究[J].軟件導(dǎo)刊,2015,14(02):126-128
[10] Deepak Alur,John Crupi,Dan Malks.J2EE核心模式[J].北京:機(jī)械工業(yè)出版社,2005
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1007-757X(2016)07-0044-03
收稿日期:(2016.03.11)
基金項(xiàng)目:中國(guó)石油大學(xué)(華東)高等教育研究基金(GJKT201502)
作者簡(jiǎn)介:張 亮(1981-),男,漢族,江蘇啟東,中國(guó)石油大學(xué)(華東),碩士,工程師,研究方向:計(jì)算機(jī)信息和網(wǎng)絡(luò)技術(shù)方面的研究,青島,266500
Research on Early-warning System of College Employment Based on Apriori Algorithm
Zhang Liang
(Network Information Center, China University of Petroleum (East China), Qingdao 266500, China)
Abstract:As learning task of college students is increasingly arduous and learning orientation tends to be diverse, students do not easily see their employment relationship between the occupational direction and the learning direction in school. It makes students not strict with themselves, which leads to the difficulties of future employment. In response to the situation, this paper proposes the early-warning system of college employment based on the Apriori algorithm. By mining the information of the employed students, it can find the valuable hidden information, and then it gives the employment warning to the students in school with the information analysis of them. In this paper, the system is developed by JSP + servlet, and the background selects SQL Server2008 database structures. On this basis, it designs and develops a more comprehensive early-warning system of college employment.
Key words:Data Mining; Apriori Algorithm; Early-warning System; MVC