李 楠
(福州軟件職業(yè)技術(shù)學(xué)院 軟件工程系,福建 福州 350003)
目前我校的貧困生等級依然是通過傳統(tǒng)方式——輔導(dǎo)員人工評估產(chǎn)生。在學(xué)生將貧困的相關(guān)證明材料及申請書提交給輔導(dǎo)員后,輔導(dǎo)員對候選貧困生的日常消費(fèi)情況進(jìn)行初步評定。學(xué)生通過審核后,提交材料申請讓學(xué)工處再審。通過復(fù)審后在網(wǎng)站進(jìn)行公示,公示期滿再依據(jù)等級發(fā)放助學(xué)金。這樣的流程導(dǎo)致候選貧困生申請材料所體現(xiàn)的家庭情況、消費(fèi)狀況等,成為主要評判依據(jù),這樣,內(nèi)向的貧困生可能得不到貧困資助,表現(xiàn)積極活躍的學(xué)生卻容易獲得申請。另外,繁瑣的過程,導(dǎo)致評定周期較長,助學(xué)金不能及時(shí)發(fā)放至貧困學(xué)生手中。為此,如果能根據(jù)采集到的學(xué)生一卡通中的消費(fèi)數(shù)據(jù),挖掘出有價(jià)值數(shù)據(jù)成果,能使得學(xué)生助貧扶貧工作更加高效、精準(zhǔn)。
下圖展示了本文研究的一卡通貧困生評定系統(tǒng)的系統(tǒng)架構(gòu)圖。
圖1一卡通貧困生評定系統(tǒng)的系統(tǒng)架構(gòu)圖
Hadoop 是由Apache 組織研發(fā)的一個(gè)支持?jǐn)?shù)據(jù)集進(jìn)行分布式處理的框架,它將應(yīng)用程序分布在多硬件群運(yùn)行,此種結(jié)合的并行分布式系統(tǒng)性能高、擴(kuò)展性高、成本低、可靠性高等性能。它由 HDFS( Hadoop分布式文件系統(tǒng)) 和 MapReduce(分布式計(jì)算框架)、HBase(分布式數(shù)據(jù)庫)等核心組件構(gòu)成。
1.1.1 HDFS
HDFS政區(qū)域,全稱為Hadoop Distributed FileSystem,它負(fù)責(zé)存儲并管理海量數(shù)據(jù),使得 Hadoop 可以很容易地在低成本的設(shè)備上安裝,訪問模式是以流式數(shù)據(jù)形式來訪問、存儲超大系統(tǒng)文件。
各服務(wù)器上分散有HDFS,抽象存儲資源出來,形成一虛擬統(tǒng)一的目錄文件格式。此做法使數(shù)據(jù)容量存儲擴(kuò)展,具體文件存儲地址用戶無需管理,以抽象的目錄可用本地系統(tǒng)對HDFS 中文件進(jìn)行操作。
1.1.2 MapReduce
MapReduce 是谷歌提出的用于分布式并行數(shù)據(jù)處理的編程模型,充分利用強(qiáng)大的海量數(shù)據(jù)計(jì)算支持,應(yīng)用集群能力實(shí)施高速運(yùn)算。采用思想是分解數(shù)據(jù)處理為函數(shù)reduce 與map兩階段。封裝map和reduce兩接口核心于 MapReduce 中,程序員實(shí)現(xiàn)此兩接口可實(shí)現(xiàn)數(shù)據(jù)并行處理。Hadoop 把輸入數(shù)據(jù)MapReduce分劃為相等小數(shù)據(jù)塊(input split)輸入分片。適合的分片大小和 HDFS 的塊的一樣,map 運(yùn)作只對輸入分片處理。在任務(wù) MapReduce中往往會分較大數(shù)據(jù)為多種分片,將分片在多個(gè) map 進(jìn)程中封裝, N個(gè)計(jì)算機(jī)中并行運(yùn)行map進(jìn)程有N個(gè),處理數(shù)據(jù)得以加速。用戶輸入于map 中,對(key-value)映射成主鍵值,此多鍵值經(jīng)shffule處理后,變成有序的若干組鍵值對,鍵值對排好即成為輸入值reduce。,數(shù)據(jù)會在reduce階段被歸納、合并總結(jié)加以輸出??捎蒠arn(Yet Anther Resource Negotiator)對reduce和Map進(jìn)程實(shí)施調(diào)度。
1.1.3 HBase
HBase是Hadoop的一個(gè)分布式、面向列存儲的開源數(shù)據(jù)庫,它能為大數(shù)據(jù)提供隨機(jī)、實(shí)時(shí)的讀寫訪問功能,它非常適合于非結(jié)構(gòu)化的數(shù)據(jù)存儲,同時(shí)又運(yùn)用 MapReduce計(jì)算模型來并行處理大規(guī)模數(shù)據(jù),實(shí)現(xiàn)高大的數(shù)據(jù)存儲與計(jì)算能力。所以,HBase能夠?qū)崿F(xiàn)對高校學(xué)生的大量多類數(shù)據(jù)進(jìn)行存儲、分析和高效處理。
數(shù)據(jù)挖掘是整個(gè)應(yīng)用研究的核心。我們需要從大量的數(shù)據(jù)信息中,通過特定的算法提取出隱藏的有價(jià)值的信息,采用分析、統(tǒng)計(jì)、機(jī)器學(xué)習(xí)、模式匹配等手段,發(fā)掘不同數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)總結(jié)規(guī)律、預(yù)測未來趨勢的目的。
關(guān)聯(lián)規(guī)則作用是主要找尋不一樣事物的關(guān)聯(lián)性,如扶貧任務(wù)中貧困程度與交通、醫(yī)療、教育等領(lǐng)域間關(guān)聯(lián)性,能挖掘出其中的關(guān)聯(lián)規(guī)則對扶貧精準(zhǔn)任務(wù)的具體實(shí)施有十分重要的意義。再如分析購物籃的商品間關(guān)系,找出顧客購物習(xí)性,可對商業(yè)策略高效制定。
測評貧困生的相關(guān)領(lǐng)域發(fā)現(xiàn),分析Hadoop架構(gòu)體系, 貧困生Hadoop的系統(tǒng)評定設(shè)計(jì)原則選用結(jié)構(gòu)為層次化,依次從下到上為基礎(chǔ)、數(shù)據(jù)資源、支撐、應(yīng)用和服務(wù)這幾層,形成完整的系統(tǒng)框架,各層次功能如下表。
表1基于Hadoop的貧困生評定系統(tǒng)層次結(jié)構(gòu)表
基于Hadoop的貧困生評定系統(tǒng)的技術(shù)架構(gòu)采用 MVC 三層結(jié)構(gòu),如圖2 所示,其分別為視圖層、控制層和模型層,使用 Java 語言編寫后臺代碼,前臺使用 B/S 模式采用JSP語言開發(fā)。各層間不同的負(fù)責(zé)作業(yè),以相應(yīng)的接口通信交換數(shù)據(jù),同時(shí)還預(yù)留多個(gè)擴(kuò)展接口,方便后期添加新的校園大數(shù)據(jù)功能。
圖2基于Hadoop的貧困生評定系統(tǒng)的技術(shù)架構(gòu)圖
我們采用算法為FP-Growth,頻繁通過( FPTree)模式樹樹形結(jié)構(gòu)數(shù)據(jù),集壓頻繁項(xiàng)縮于頻繁模式樹里,將數(shù)據(jù)庫壓縮后劃分為條件數(shù)據(jù)庫,再對所有條件數(shù)據(jù)庫挖掘。具體算法如下:
第一步:從基礎(chǔ)數(shù)據(jù)中選取學(xué)生的一卡通消費(fèi)數(shù)據(jù)
第二步:統(tǒng)計(jì)學(xué)生各類消費(fèi)數(shù)據(jù),形成事務(wù)數(shù)據(jù)集
第三步:輸入最小支持度閾值
第四步:以支持度最小閾值找到各1項(xiàng)頻繁集,計(jì)數(shù)按其支持度降序排列
第五步:創(chuàng)建FPTree的根節(jié)點(diǎn),將支持度計(jì)數(shù)降序排列的頻繁項(xiàng)遞歸插入到樹中,從而生成頻繁模式樹。
第六步:劃分條件數(shù)據(jù)庫。
第七步:挖掘每個(gè)條件數(shù)據(jù)庫。
葉節(jié)點(diǎn)、N個(gè)內(nèi)部節(jié)點(diǎn)和一個(gè)根節(jié)點(diǎn)合成決策樹一顆。葉節(jié)點(diǎn)其中,表決策結(jié)果,每個(gè)測試屬性由每個(gè)內(nèi)部節(jié)點(diǎn)相對應(yīng)。一個(gè)節(jié)點(diǎn)含的集合樣本以測試屬性結(jié)果劃分于子節(jié)點(diǎn)里。于每個(gè)根節(jié)點(diǎn)至葉節(jié)點(diǎn)路徑對應(yīng)每個(gè)測試判定序列。
建構(gòu)決策樹的泛化能力強(qiáng),我們選擇了C4.5 算法。它采用增益率來選擇劃分屬性。在C4.5的算法中通常選擇增益信息高出平均水平屬性從候選劃分中,再選出最高增益率。
當(dāng)前集合樣本假設(shè)為A,有n個(gè)離散屬性r的值{r1,r2,r3, ... ,rn},如對樣本集A用r屬性來劃分,會有n個(gè)節(jié)點(diǎn)分支產(chǎn)生,節(jié)點(diǎn)分支中第i個(gè)包含了所有A中取值在屬性r上為ri的樣本Ai。求增益率的公式如下所示:
根據(jù)以上設(shè)計(jì)思想,我們采集福州軟件職業(yè)技術(shù)學(xué)院2018年度軟件工程系在校生615名的一卡通刷卡數(shù)據(jù)(因走讀生在校刷卡次數(shù)較少,走讀生另做評定)進(jìn)行實(shí)踐。輔導(dǎo)員可以通過系統(tǒng)實(shí)時(shí)查看學(xué)生貧困狀態(tài)評測信息,還可以根據(jù)查看貧困學(xué)生的檔案資料等。
本次研究為進(jìn)一步基于Hadoop技術(shù),為高職校園建成系統(tǒng)大數(shù)據(jù)做好基礎(chǔ)奠定,變廢為寶重要的被忽視數(shù)據(jù),以合理科學(xué)的大數(shù)據(jù)挖掘和管理,為高職管理教學(xué)人員關(guān)注學(xué)生生活和學(xué)業(yè)提供依據(jù)分析數(shù)據(jù),也為高職管理教學(xué)方針制定提供數(shù)據(jù)支撐。