楊麗玲
(漳州職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)工程系, 福建 漳州 363000)
隨著計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)的發(fā)展,各個(gè)高校逐漸實(shí)現(xiàn)了信息化管理,如何從收集到的數(shù)據(jù)中挖掘出有用的信息,從而幫助我們更有效地管理變得越來越重要.在大專院校的招生錄取過程中,如何為那些志愿填報(bào)不理想、可又愿意專業(yè)調(diào)劑的考生調(diào)劑到一個(gè)較為滿意的專業(yè),是一個(gè)很重要的工作,這關(guān)系著高校的錄取報(bào)到率.但是,由于現(xiàn)在的錄取都是通過網(wǎng)絡(luò)進(jìn)行,高校面對的是考生填報(bào)院校各個(gè)專業(yè)的數(shù)據(jù)信息,而其中的聯(lián)系信息在錄取結(jié)束前是被屏蔽的,導(dǎo)致院校無法與考生直接聯(lián)系.所以,分析當(dāng)年考生填報(bào)志愿信息,得出考生有報(bào)考傾向的其他專業(yè)對提高考生的報(bào)到率具有重要作用.本文主要是在當(dāng)前較為流行的關(guān)系型數(shù)據(jù)庫Microsoft SQl Server 2005下,利用關(guān)聯(lián)規(guī)則進(jìn)行數(shù)據(jù)挖掘和分析,找出考生填報(bào)專業(yè)間的重要性規(guī)則,挖掘出考生專業(yè)之間的關(guān)聯(lián)關(guān)系,為考生的專業(yè)安排提供一個(gè)有力的依據(jù)[1].
數(shù)據(jù)挖掘(Data Mining,DM) 是從大量不完全的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中,利用自動(dòng)化或半自動(dòng)化的工具來分析和挖掘,從而提取出隱含在其中的人們事先不知道,但又有潛在的有用的信息和知識(shí)的過程.
基于Microsoft的數(shù)據(jù)庫平臺(tái) SQL Server 2005中的數(shù)據(jù)挖掘組件是數(shù)據(jù)挖掘工具的典型代表,它在商業(yè)智能BI方面提供了集成服務(wù)SSIS、分析服務(wù)SSAS和報(bào)表服務(wù)SSRS,并整合到BI DEV Studio的體系結(jié)構(gòu)中.而其中分析服務(wù)提供了強(qiáng)大的多維數(shù)據(jù)分析和處理引擎、多種數(shù)據(jù)挖掘算法,以及功能豐富的服務(wù)器和客戶端組件,可以訪問兩種形式的決策支持機(jī)制:數(shù)據(jù)挖掘和聯(lián)機(jī)分析處理.
本文主要應(yīng)用BI中的SSAS服務(wù)功能對招生過程中的數(shù)據(jù)信息進(jìn)行數(shù)據(jù)挖掘.與傳統(tǒng)數(shù)據(jù)挖掘應(yīng)用程序相比較,它是易于使用的工具,可以幫助我們從任何數(shù)據(jù)源中構(gòu)建數(shù)據(jù)挖掘模型;具有簡單而強(qiáng)大的API,提供了數(shù)據(jù)挖掘擴(kuò)展DMX、XMLA、ADOMD.NET等API進(jìn)行編程,讓用戶可以對算法進(jìn)行改進(jìn),實(shí)現(xiàn)算法嵌入到用戶的界面系統(tǒng)中;具有7個(gè)世界級的數(shù)據(jù)挖掘算法,也可以通過.NET存儲(chǔ)過程和插件算法對其進(jìn)行擴(kuò)展[2].
數(shù)據(jù)挖掘的核心就是算法,算法決定了如何分析數(shù)據(jù)挖掘模型的實(shí)例.基于SQL Server 2005的分析服務(wù)提供了七種算法作為挖掘工具,而其中關(guān)聯(lián)規(guī)則算法是用得最頻繁的算法,它提供了一個(gè)功能強(qiáng)大的相關(guān)性計(jì)數(shù)引擎,可以執(zhí)行可伸縮的和高效的購物籃分析,因此本文選擇它進(jìn)行數(shù)據(jù)挖掘.
關(guān)聯(lián)規(guī)則是一個(gè)滿足支持度和可信度閾值的、只包含蘊(yùn)涵聯(lián)結(jié)詞的一階謂詞邏輯公式,它是隱藏在關(guān)系型數(shù)據(jù)庫中的一種特殊有價(jià)值的知識(shí),它是形如X→Y的蘊(yùn)涵式[3].在招生信息中,設(shè)I是由所有的專業(yè)所構(gòu)成的項(xiàng)目集,D是全體事務(wù)集,其中X?I,Y?I,且X∩Y=Φ,則挖掘出專業(yè)X→專業(yè)Y[支持度,可信度]的規(guī)則,從而反映考生專業(yè)之間的頻繁模式、關(guān)聯(lián)、相關(guān)系或因果關(guān)系.其中用支持度、可信度來衡量關(guān)聯(lián)規(guī)則的屬性.
為了發(fā)現(xiàn)有意義的關(guān)聯(lián)規(guī)則,通常還規(guī)定關(guān)聯(lián)規(guī)則必須滿足最小支持度和最小可信度.支持度大于最小支持度的項(xiàng)集稱為頻繁項(xiàng)度.關(guān)聯(lián)規(guī)則挖掘的步驟為:第一步挖掘頻繁項(xiàng)集.第二步基于頻繁項(xiàng)集產(chǎn)生所期望的規(guī)則.關(guān)聯(lián)規(guī)則算法的核心部分就是挖掘頻繁項(xiàng)集[4].
Apriori 算法基本思想就是采用迭代逐層搜索的方法,通過對數(shù)據(jù)庫多次掃描,使用候選項(xiàng)集來尋找頻繁項(xiàng)集.在考生專業(yè)關(guān)聯(lián)規(guī)則的挖掘中,我們通過對考生數(shù)據(jù)庫多次掃描,使用候選項(xiàng)集來尋找頻繁項(xiàng)集,從而生成關(guān)聯(lián)規(guī)則.其遞歸過程是:首先,挖掘出所有大小為1的頻繁項(xiàng)集L1,即報(bào)考高校其中一個(gè)專業(yè)的項(xiàng)集,并對每個(gè)單項(xiàng)的支持度進(jìn)行計(jì)數(shù),留下支持度大于最小支持度的項(xiàng);其次基于L1來生成一組大小為2的頻繁項(xiàng)集L2,即同時(shí)報(bào)考二個(gè)專業(yè)的項(xiàng)集,并對每一個(gè)生成的候選項(xiàng)集的支持度進(jìn)行計(jì)數(shù),留下支持度大于最小支持度的項(xiàng);該算法重復(fù)過程,用L2生成頻繁項(xiàng)集L3,以此類推,直到找到頻繁K-項(xiàng)集.在第k循環(huán)中,通過對兩個(gè)只有一個(gè)項(xiàng)不同,即只有一個(gè)報(bào)考專業(yè)不同的屬于Lk-1的頻集做連接來產(chǎn)生Ck,同時(shí)由于一個(gè)頻繁項(xiàng)集的子集也是頻繁項(xiàng)集,基于此性質(zhì)引入修剪策略,從而由候選項(xiàng)集Ck產(chǎn)生頻繁項(xiàng)集Lk[5].
具體算法如下[6]:
--生成大小為1的頻繁項(xiàng)集,即只報(bào)考一個(gè)專業(yè)的頻繁項(xiàng)集
L1= { 所有大小為1的頻繁項(xiàng)集的集合}
--產(chǎn)生頻繁項(xiàng)集k-項(xiàng)集
For ( k=1 ; Lk<>Φ; k++)
{ ---利用sql 自連接語句,從頻繁項(xiàng)集Lk中生成候選項(xiàng)集Ck+1
insert into Ck+1
Select x1.a1,x1.a2,…,x1.ak,x2.akfrom Lkas x1, Lkas x2
Where x1.a1=x2.a1and x1.a2=x2.a2and …and x1.ak ;---修剪掉非頻繁項(xiàng)集的項(xiàng)集 For all itemsets c in Ck+1 { For all k-subsets s of c do { If (s is not in Lk) then delete c from Ck+1;} } ---計(jì)算每個(gè)項(xiàng)集的支持度 For each transaction t in databases { For each candidate c in Ck+1 { if ct then C(x)++;} } ---排除掉那些支持度小于最小支持度的候選項(xiàng)集 For all c Ck+1 { If C(x)>minimum_support Lk+1=Lk∪{ c} } } ---得到頻繁K-項(xiàng)集 While k>=1 do { L=L∪Lk; k--; } Return L ; (1)數(shù)據(jù)預(yù)處理.對2013年的招生數(shù)據(jù)進(jìn)行整理,其中共有考生2482名,每個(gè)考生最多可填報(bào)6個(gè)專業(yè)志愿.整理后的主要表結(jié)構(gòu)見表1、表2: 表1 考生表ks 表2 志愿表zy 其中考生表ks(2842條記錄),與志愿表zy((7567條記錄)通過列字段考生號(hào)ksh建立一對多的聯(lián)系,見圖1. 圖1 考生表ks與志愿表zy的聯(lián)系 (2)關(guān)聯(lián)規(guī)則挖掘模型.以考生表ks為事例表,志愿表zy為嵌套表,指定zymc為鍵和可預(yù)測列,默認(rèn)系統(tǒng)也會(huì)將其設(shè)置為輸入列.選擇關(guān)聯(lián)規(guī)則算法作為數(shù)據(jù)挖掘的算法,如圖2. 圖2 關(guān)聯(lián)規(guī)則挖掘模型的構(gòu)建 在關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘時(shí),設(shè)定最小的支持度、項(xiàng)集數(shù)和最小概率后,挖掘出符合條件的項(xiàng)集和規(guī)則,具體如圖3. 圖3 專業(yè)填報(bào)的支持度 從第一行記錄可看出有601人填報(bào)了公共事務(wù)管理的同時(shí)也填報(bào)了人力資源管理. 圖4 專業(yè)填報(bào)的規(guī)則 在圖4中,第一行記錄顯示了考生填報(bào)旅游管理(酒店服務(wù)與管理方向)專業(yè)后填報(bào)涉外旅游(涉外酒店管理方向)的概率有54% .在這里我們以重要性為度量規(guī)則.有時(shí)有些規(guī)則的概率很高,但有可能該規(guī)則并沒有多大的指導(dǎo)意義.反過來,重要性越高,則規(guī)則越重要.如圖5的關(guān)系依賴網(wǎng)絡(luò)圖所示: 圖5 專業(yè)填報(bào)的關(guān)系依賴圖 (3)關(guān)聯(lián)規(guī)則結(jié)果分析.從挖掘結(jié)果中產(chǎn)生強(qiáng)規(guī)則關(guān)系,如考生填報(bào)旅游管理(酒店服務(wù)與管理方向)專業(yè)后填報(bào)涉外旅游(涉外酒店管理方向)的概率有54% ,而考生填報(bào)涉外旅游(涉外酒店管理方向)專業(yè)后填報(bào)旅游管理(酒店服務(wù)與管理方向)的概率有89%.通過對兩個(gè)專業(yè)的雙向預(yù)測,指導(dǎo)我們對僅填報(bào)其中一個(gè)專業(yè)且處于調(diào)劑狀態(tài)的考生,將其調(diào)劑到規(guī)則右側(cè)的專業(yè)中,既避免了由于考生志愿填報(bào)失誤造成退檔,同時(shí)又提高了高校的錄取率. 在數(shù)據(jù)挖掘中,核心是算法.本文基于數(shù)據(jù)庫平臺(tái) Microsoft SQL Server 2005,結(jié)合BI Development Studio的分析服務(wù)功能SSAS對招生系統(tǒng)中考生報(bào)考專業(yè)的合理安排進(jìn)行研究,利用Microsoft關(guān)聯(lián)規(guī)則算法挖掘出考生填報(bào)專業(yè)間的規(guī)則,實(shí)現(xiàn)將那些志愿填報(bào)不理想又愿意專業(yè)調(diào)劑的考生調(diào)劑到一個(gè)較為滿意的專業(yè). 參考文獻(xiàn): [1]羅孟華.基于布爾關(guān)聯(lián)規(guī)則Apriori算法的高校決策應(yīng)用的研究[J].電腦知識(shí)與技術(shù),2014,10(1):170-171. [2](美)Zhaohui Tang,Jamie Maclennan.Data Mining With SQL Server 2005[M].北京:清華大學(xué)出版社,2007. [3]李佐軍.基于關(guān)聯(lián)規(guī)則興趣度挖掘在招生管理中的應(yīng)用[J].臨滄師范高等??茖W(xué)校學(xué)報(bào),2014,23(1):136-140. [4]陳麗芳.基于Apriori算法的購物籃分析[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,31(5):84-88. [5]李平榮.Apriori算法的研究與改進(jìn)[J].喀什師范學(xué)院報(bào),2014,35(3):35-37. [6]蘇新寧,楊建林,等.數(shù)據(jù)倉庫和數(shù)據(jù)挖掘[M].北京:清華大學(xué)出版社,2006.4 Apriori算法在高校招生中的數(shù)據(jù)挖掘
5 結(jié)束語
通化師范學(xué)院學(xué)報(bào)2014年12期