王輝 潘俊輝 王浩暢 張強



摘要:針對數據挖掘實踐課程現狀和實際教學效果,結合數據挖掘實踐課程特點,在分析總結多種數據挖掘工具的基礎上,設計了一種基于Hadoop的數據挖掘實踐平臺.架構在分布式計算平臺Hadoop上的數據挖掘實踐平臺,克服了傳統數據挖掘工具的種種問題,其能夠支持數據挖掘的標準流程,處理TB級的海量數據用于實踐挖掘,為數據挖掘基礎實踐提供了豐富的數據挖掘算法用于建模.同時,基于Hadoop的數據挖掘實踐平臺提供了靈活多樣的應用開發接口,能夠支持第三方軟件商集成開發,快速構建大型海量數據挖掘的應用系統,完成綜合數據挖掘應用的二次開發.基于Hadoop的數據挖掘實踐平臺,為數據挖掘實踐與科研提供了海量數據處理能力的數據挖掘平臺,激勵學生以競賽模式學習和完成數據挖掘實踐,從而促進了學生創新實踐能力的培養.
關鍵詞:Hadoop;數據挖掘;實踐平臺;二次開發
中圖分類號:TP319? 文獻標識碼:A? 文章編號:1673-260X(2020)02-0051-03
近年來,隨著網絡與信息技術的快速發展,數據挖掘作為多學科交叉的新興學科,在大數據時代下的各行各業中扮演著的角色越來越重要[1].數據挖掘實踐課是非常重要的實踐性環節,它是理論內容的深入和提高[2].因此,對數據挖掘實踐課程學習和考核提出了更高的要求,既要讓學生對數據挖掘實踐內容融會貫通,又要考核出學生的創新實踐能力.面對錯綜繁雜的數據挖掘工具,亟須開發適合高校教學實踐與科研使用的數據挖掘實踐平臺.
在大數據分析以及非結構化數據蔓延的背景下,由Apache軟件基金會所開發的分布式系統基礎架構Hadoop,受到了前所未有的關注[3].Hadoop可以在用戶不了解分布式底層細節情況下,開發分布式程序[4].更重要的是,Hadoop能夠充分利用集群的威力進行高速運算和存儲,非常適合大數據處理的相關應用[5].本文借助Hadoop構建數據挖掘實踐平臺,能夠處理TB級的海量數據挖掘,支持數據挖掘流程所需的核心過程,提供大量常用算法和開放的應用接口,為數據挖掘實踐與科研提供從簡單的預測建模到龐大的集成系統,采用競賽式實踐考核學生對課程內容的掌握程度,激發學生創新實踐與科研能力.
1 數據挖掘實踐課程現狀
數據挖掘是一個多學科融合的學科,這些學科包括數據庫技術、信息檢索、統計學、人工智能、神經網絡、機器學習、模式識別等[6].先修課為高等數學、線性代數、概率論與數理統計、數據結構、數據庫、算法分析與設計.
1.1 實踐教學現狀
以我院為例,數據挖掘課程一般開設在本科三年級上學期.課程主要系統介紹數據倉庫與數據挖掘的有關概念及基礎知識,對數據預處理方法、關聯規則挖掘技術,分類與預測技術,聚類分析技術進行了深入講解.數據挖掘課程總學時為64學時,理論學時為48學時,實踐學時為16學時,教學內容及學時安排如表1所示.
1.2 實踐課程主要問題
1.2.1 實踐內容交叉性強、難度大
數據挖掘是一門與時俱進的課程,隨著大數據時代的到來及科技的創新發展,經典算法無法對一些新型數據進行處理,如數據流、時間序列、圖等,這些經典算法不斷被進行改進研究[7].實踐內容卻仍舊停留在對數字信息、文本信息、圖像和視頻信息等數據的基礎挖掘和處理上.
1.2.2 實踐工具多且雜
數據挖掘工具種類繁雜,各工具均有一定的側重點,主要可分為以下兩大類.
一類是側重針對某一特定領域問題提供相對合理的解決方案,而開發的特定數據挖掘工具.例如,加州理工學院噴氣推進實驗室與天文科學家協作研發的SKICAT系統側重探索遙遠類星體,IBM公司AdvancedScout系統側重針對NBA數據優化籃球賽場戰術組合,芬蘭赫爾辛基大學研發的TASA側重協助預測網絡通信中的各種警報[8].
一類是主要側重采用一些通用的挖掘算法,處理常見數據類型的通用數據挖掘工具.例如,SGI公司MineSet系統,IBM公司Almaden研究中心QUEST系統,加拿大SimonFraser大學研發的DBMiner系統等[9].
1.2.3 考核方式形式化
目前,數據挖掘實踐考核主要采用結合平時出勤(占20%)、平時表現(占20%)和平時實驗項目完成情況(占60%)評價方式.實驗項目完成情況主要參考實驗報告的撰寫情況和實驗完成度.實踐考核靈活度不夠,缺乏比較綜合型的應用實踐考核,很難考核學生對課程內容的理解和掌握程度.
2 Hadoop分布式計算平臺
Hadoop是Apache軟件基金會旗下的一個開源分布式計算平臺.Hadoop以分布式文件系統HDFS(Hadoop Distributed File System)和MapReduce(Google MapReduce的開源實現)為框架核心設計,為用戶提供了系統底層細節透明的分布式基礎架構[10].其中,HDFS為海量數據提供了存儲,MapReduce提供了計算.使得Hadoop以一種可伸縮的、高效的、可靠的方式進行數據處理.因此,Hadoop能夠處理TB級的海量數據挖掘,具備了高擴展性、易于部署、高容錯性、低成本等特點.
Hadoop適用于大數據的技術,包括大規模并行處理數據庫,數據挖掘,分布式文件系統,云計算平臺和可擴展的存儲系統[11].在處理大數據上,Hadoop已經成為事實上的標準,IBM、Oracle、SAP、甚至Microsoft等幾乎所有的大型軟件提供商都采用了Hadoop[12].
3 數據挖掘實踐平臺功能需求
針對數據挖掘實踐課程學習和考核的復雜性,以及本科教育提倡的創新實踐能力培養,其數據挖掘實踐平臺系統應具備以下三個核心功能.