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