陳賽娉
摘要:本文從現(xiàn)有的教務(wù)管理系統(tǒng)存在的不足入手,簡(jiǎn)單闡述了關(guān)聯(lián)規(guī)則算法和大數(shù)據(jù)分析的應(yīng)用。搭建了適合本校的大數(shù)據(jù)分析平臺(tái),在該平臺(tái)上成功應(yīng)用Aprior關(guān)聯(lián)規(guī)則算法對(duì)學(xué)生成績(jī)數(shù)據(jù)進(jìn)行挖掘和分析,得出很多意義的信息。
【中圖分類號(hào)】TP311.13
1 引言
隨著高校信息化建設(shè)的不斷深入,教務(wù)管理信息系統(tǒng)被廣泛應(yīng)用。通過(guò)教務(wù)管理系統(tǒng),基本上實(shí)現(xiàn)了學(xué)校中的成績(jī)管理、課程管理、學(xué)業(yè)學(xué)籍管理等日常教學(xué)任務(wù)的信息化。但是,這類系統(tǒng)只是一個(gè)初級(jí)的信息化管理系統(tǒng),只具備了信息的輸入、查詢、報(bào)表打印和簡(jiǎn)單的統(tǒng)計(jì)等功能。
同時(shí),在教務(wù)信息管理系統(tǒng)的使用過(guò)程中,會(huì)產(chǎn)生大量的數(shù)據(jù)。這些數(shù)據(jù)的產(chǎn)生對(duì)于教務(wù)系統(tǒng)的使用會(huì)帶來(lái)一定的負(fù)面作用。隨著數(shù)據(jù)量的不斷加大,會(huì)明顯感覺(jué)系統(tǒng)的反應(yīng)速度下降。為了提高教務(wù)管理系統(tǒng)的響應(yīng)速度,除了對(duì)硬件的升級(jí)外,普遍的做法是將速度按時(shí)間段進(jìn)行歸類存檔。學(xué)校一般會(huì)將已經(jīng)畢業(yè)的學(xué)生所有數(shù)據(jù)進(jìn)行備份,然后再將系統(tǒng)中該類數(shù)據(jù)清空。這類數(shù)據(jù)除了特殊情況下進(jìn)行查詢外,基本上不會(huì)再有人去接觸。
為了增強(qiáng)教務(wù)管理系統(tǒng)的功能,并更好地利用系統(tǒng)中積累的各種寶貴的數(shù)據(jù),我們引入了比較成熟的數(shù)據(jù)挖掘算法--Aprior關(guān)聯(lián)規(guī)則算法,利用該算法可以對(duì)教務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)中提取有用的信息,為教務(wù)決策提供幫助。
2 關(guān)聯(lián)規(guī)則算法介紹
關(guān)聯(lián)算法是數(shù)據(jù)挖掘中的一類重要算法。1993年,R.Agrawal等人首次提出了挖掘顧客交易數(shù)據(jù)中項(xiàng)目集間的關(guān)聯(lián)規(guī)則問(wèn)題,其核心是基于兩階段頻繁集思想的遞推算法。該關(guān)聯(lián)規(guī)則在分類上屬于單維、單層及布爾關(guān)聯(lián)規(guī)則,典型的算法是Aprior算法。[1]
Aprior算法將發(fā)現(xiàn)關(guān)聯(lián)規(guī)則的過(guò)程分為兩個(gè)步驟:首先通過(guò)迭代,檢索出事務(wù)數(shù)據(jù)庫(kù)1中的所有頻繁項(xiàng)集,即支持度不低于用戶設(shè)定的閾值的項(xiàng)集;然后利用頻繁項(xiàng)集構(gòu)造出滿足用戶最小信任度的規(guī)則。其中,挖掘或識(shí)別出所有頻繁項(xiàng)集是該算法的核心,占整個(gè)計(jì)算量的大部分。[2]
3 高校學(xué)生成績(jī)數(shù)據(jù)分析平臺(tái)構(gòu)建
數(shù)據(jù)分析平臺(tái)是是擴(kuò)展現(xiàn)有教務(wù)管理系統(tǒng)功能的核心。在大數(shù)據(jù)時(shí)代,構(gòu)建一個(gè)適合高校教學(xué)管理的數(shù)據(jù)分析平臺(tái),對(duì)提高整個(gè)學(xué)校的教學(xué)管理具有非常重要的作用。普通高校中生涉及的數(shù)據(jù)主要包括學(xué)生在日常學(xué)習(xí)生活中產(chǎn)生的數(shù)據(jù)、教師在教學(xué)過(guò)程中記錄的數(shù)據(jù)及學(xué)校管理人員在日常的教學(xué)管理中產(chǎn)生的數(shù)據(jù)。如果精確記錄這些數(shù)據(jù),那將是一個(gè)比較龐大的量。我們需要的分析結(jié)果主要是為教學(xué)管理提供一個(gè)數(shù)據(jù)支持,對(duì)實(shí)時(shí)性分析不敏感,所以,在構(gòu)建數(shù)據(jù)平臺(tái)時(shí)選用開(kāi)源的HADOOP來(lái)構(gòu)建。
3.1 HADOOP數(shù)據(jù)分析平臺(tái)的構(gòu)建
HADOOP是近期比較流行的大數(shù)據(jù)分析平臺(tái)工具,具有較高的可靠性、容錯(cuò)性和可擴(kuò)展性。HADOOP的安裝相對(duì)其它工具會(huì)比較復(fù)雜。安裝該平臺(tái)時(shí),在硬件方面,我們配置了3 臺(tái)高性能PC機(jī),系統(tǒng)選擇CentOS7。
數(shù)據(jù)平臺(tái)的安裝配置如下:
1、 關(guān)閉系統(tǒng)防火墻
2、 修改主機(jī)名和IP地址
將三臺(tái)機(jī)器的主機(jī)名改成Master、Slave_1、Slave_2;IP地址分別為192.168.100.101,192.168.100.102,192.168.100.103。
3、 安裝JDK
4、 配置Hosts文件
找到系統(tǒng)中"/etc/hosts"這個(gè)文件,并將三臺(tái)機(jī)器的機(jī)器名和IP地址方面填進(jìn)去,一一對(duì)應(yīng)。三臺(tái)機(jī)器都做這個(gè)配置。配置好后用ping命令進(jìn)行測(cè)試。
5、 建立3臺(tái)機(jī)器間無(wú)密碼訪問(wèn)
利用SSH,建立三臺(tái)PC機(jī)間免密碼登錄。
6、 安裝Hadoop
從Apache官方網(wǎng)站上下載Hadoop2.4,64位版本,并解壓安裝。Master作為Master服務(wù)器解壓,Slave_1,Slave_2作為Slave客戶機(jī),可以直接把Master機(jī)器上安裝好的Hadoop文件夾復(fù)制過(guò)來(lái)。
7、 配置HADOOP
分別配置hadoop目錄中的core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml文件,并且修改hadoop-env.sh、yarn-env.sh文件中的JAVA_HOME路徑。在slaves文件中增加Slave_1,Slave_2。
8、 啟動(dòng)HADOOP
先輸入命令將Hadoop初始化:bin/hdfs namenode –format,然后輸入sbin/start-all.sh啟動(dòng)Hadoop。
9、 查看系統(tǒng)運(yùn)行
輸入jps命令來(lái)查看系統(tǒng)運(yùn)行情況。
3.2 外部數(shù)據(jù)導(dǎo)入
Hadoop平臺(tái)搭建完畢后,我們需要將現(xiàn)有的數(shù)據(jù)導(dǎo)入到該平臺(tái)中。我們現(xiàn)有近4年全校學(xué)生學(xué)習(xí)成績(jī)數(shù)據(jù)。這些數(shù)據(jù)存儲(chǔ)在另外一臺(tái)MySQL數(shù)據(jù)服務(wù)器中。在數(shù)據(jù)導(dǎo)入前,需要在Hadoop平臺(tái)中安裝HIVE和Sqoop。通過(guò)Sqoop工具,我們可以很方便的將MySQL中的數(shù)據(jù)導(dǎo)入到HIVE中。
4 Aprior算法在Hadoop平臺(tái)上的實(shí)現(xiàn)
Aprior算法分布式實(shí)現(xiàn)算法思路:Mapper:k-v輸入為事務(wù)數(shù)據(jù)庫(kù),外加一個(gè)內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),此數(shù)據(jù)結(jié)構(gòu)即用來(lái)存儲(chǔ)候選項(xiàng)集,保證了候選項(xiàng)集是完整的不會(huì)被分片。輸出為候選項(xiàng)(key)-支持度(value)。Reducer:普通的累加求和即可。在寫入文件時(shí)加一個(gè)判斷,滿足支持度要求才寫入文件。2個(gè)基本的原子操作就有了。一個(gè)完整的Aprior算法流程是: 運(yùn)行了一個(gè)job,即一次Mapreduce,產(chǎn)生相應(yīng)階次的頻繁項(xiàng)集,將此次job的輸出讀取入內(nèi)存中,產(chǎn)生高階候選項(xiàng)集作為下一個(gè)job的在內(nèi)存中的輸入,也就是候選項(xiàng)集,然后,啟動(dòng)下一次job。接下來(lái)循環(huán)迭代,直到不能產(chǎn)生新的頻繁集為止。[3]
5 數(shù)據(jù)分析應(yīng)用
數(shù)據(jù)分析是我們搭建數(shù)據(jù)平臺(tái)的主要目的。通過(guò)不同的規(guī)則進(jìn)行分析可以找到我們感興趣內(nèi)容,為我們的決策提供有效的數(shù)據(jù)支持。我們使用并行Aprior算法,對(duì)學(xué)生成績(jī)數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘。
5.1單門不及格課程數(shù)據(jù)分析
通過(guò)簡(jiǎn)單的數(shù)據(jù)統(tǒng)計(jì),我們可以很快得到學(xué)生單門課程不及格出現(xiàn)的頻率,由于學(xué)生的不同專業(yè)所學(xué)課程差異較大,所以我們選擇結(jié)合計(jì)算機(jī)專業(yè)的數(shù)據(jù)進(jìn)行挖掘。數(shù)據(jù)挖掘結(jié)果見(jiàn)表1。
從數(shù)據(jù)表中可以很容易得出,學(xué)生在《高等數(shù)學(xué)》這門課程出現(xiàn)的不及格概率是最大的,而且第二學(xué)期比第一學(xué)期出現(xiàn)的更多。
5.2 關(guān)聯(lián)規(guī)則分析
我們?cè)O(shè)置置信度為0.6,最小支持度為0.01(6/578),通過(guò)april關(guān)聯(lián)關(guān)注算法的計(jì)算,從成績(jī)表中我們可以得出如表2的結(jié)果。
從表格中可以看出兩門課程之間的關(guān)系,比如先前課程《程序設(shè)計(jì)基礎(chǔ)》如果發(fā)生不及格現(xiàn)象,它的后續(xù)課程《數(shù)據(jù)結(jié)構(gòu)》出現(xiàn)不及格的可信度就達(dá)到0.82,應(yīng)該引起高度重視。
6 結(jié)論
上文的實(shí)例應(yīng)用中由于應(yīng)用的數(shù)據(jù)量比較少,沒(méi)有真正體現(xiàn)大數(shù)據(jù)Hadoop平臺(tái)的優(yōu)勢(shì),操作也沒(méi)有普通的數(shù)據(jù)庫(kù)系統(tǒng)使用方便;但是,隨著各類不同的數(shù)據(jù)集成后,相信這個(gè)平臺(tái)的優(yōu)勢(shì)會(huì)慢慢體現(xiàn)出來(lái)。
通過(guò)設(shè)置不同的關(guān)聯(lián)規(guī)則來(lái)挖掘?qū)W生成績(jī)數(shù)據(jù)可以得到很多有用的信息。比如,上面提到的先導(dǎo)課程與后續(xù)課程之間的關(guān)聯(lián)問(wèn)題,及時(shí)感知學(xué)生學(xué)習(xí)中可能出現(xiàn)的問(wèn)題。通過(guò)輔導(dǎo)員和專職教師的直接干預(yù)來(lái)正確引導(dǎo)學(xué)習(xí)方向。同樣,也可以把兩個(gè)不同的年級(jí)段的課程成績(jī)比較作為考核輔導(dǎo)員和專職教師的教學(xué)效果考核依據(jù)。這些都將極大地提高教學(xué)管理的效果,使教學(xué)更加有針對(duì)性,從而提高教學(xué)檔次。
參考文獻(xiàn):
[1] 數(shù)據(jù)挖掘中關(guān)聯(lián)規(guī)則算法的研究
[2] 關(guān)聯(lián)規(guī)則算法
[3] Aprior算法Hadoop上實(shí)現(xiàn)思路與關(guān)鍵部分代碼endprint