大數(shù)據(jù)挖掘課程建設(shè)研究
時間:2022-04-04 03:18:56
導(dǎo)語:大數(shù)據(jù)挖掘課程建設(shè)研究一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:為了解決數(shù)據(jù)挖掘課程建設(shè)中存在的不足之處,培養(yǎng)符合時代要求的大數(shù)據(jù)挖掘人才,引入R語言作為課程的實踐軟件。R語言作為目前流行的數(shù)據(jù)分析軟件,有著簡單易學(xué)、功能強大、可擴展性強等特點,在教學(xué)過程中可以充分利用其功能包生成各種算法的過程示意圖或動畫來提高教學(xué)效果,同時便于開展課程的實踐教學(xué)環(huán)節(jié)。文章對基于R語言的大數(shù)據(jù)挖掘課程建設(shè)進行研究。
關(guān)鍵詞:大數(shù)據(jù)挖掘;R語言;實踐;課程建設(shè)
1R語言簡介
R語言是一種用于統(tǒng)計計算的編程語言和環(huán)境,它是由S語言發(fā)展而來的。R語言擅長統(tǒng)計建模和解決數(shù)據(jù)分析相關(guān)的問題,是一種為數(shù)據(jù)而生的程序設(shè)計語言。不同于其他主流的計算機編程語言,R語言使用命令加回車的方式進行操作,以人機對話模式進行交互,使用起來較為簡單。R的核心要素是數(shù)據(jù)和函數(shù),任何數(shù)據(jù)分析都可以理解為通過函數(shù)來操作數(shù)據(jù),學(xué)習(xí)R語言無需掌握復(fù)雜的語法。R語言可以很方便地和幾乎市面上所有的數(shù)據(jù)庫系統(tǒng)相連接,再加上諸多的R數(shù)據(jù)庫支持包,使R能夠方便地對數(shù)據(jù)庫進行讀寫操作,實現(xiàn)的技術(shù)包括ODBC和JDBC兩大方面(其中RJDBC和RpgSQL需要Java的支持)。R語言中提供了大量數(shù)據(jù)挖掘相關(guān)的函數(shù)及功能包[1]。通過以上R語言的簡介可以總結(jié)出選用R語言作為數(shù)據(jù)挖掘課程的實踐軟件有以下5個優(yōu)點:(1)R語言是免費的,相比多數(shù)價格不菲的商業(yè)統(tǒng)計軟件而言,其優(yōu)勢顯而易見。(2)通過數(shù)據(jù)挖掘課程的學(xué)習(xí)使得學(xué)生認識并掌握R語言的數(shù)據(jù)分析方法,為學(xué)生今后的職業(yè)發(fā)展提供更加廣闊的選擇空間。(3)R語言有著強大的圖形和動畫功能,在教學(xué)過程中可以方便地通過R語言生成各種數(shù)據(jù)挖掘算法的過程示意圖和過程演示動畫,能有效提高教學(xué)效果并增加學(xué)生的學(xué)習(xí)興趣。(4)R語言的簡單、易操作性可以使得擁有不同計算機編程基礎(chǔ)的學(xué)生都能在較短時間內(nèi)學(xué)會利用R語言進行數(shù)據(jù)挖掘?qū)嵺`操作,便于開展課程的實踐教學(xué)。(5)R語言能支持各種數(shù)據(jù)庫系統(tǒng),因此對于先修課程數(shù)據(jù)庫系統(tǒng)所使用的實踐軟件無特別要求,方便銜接形成課程體系。
2教學(xué)大綱設(shè)置
美國計算機學(xué)會數(shù)據(jù)挖掘?qū)iT興趣小組(ACMSIGKDD)曾在2006年擬定了一套公認的標(biāo)準(zhǔn)數(shù)據(jù)挖掘課程的教學(xué)大綱[2]。大綱建議將數(shù)據(jù)挖掘的教學(xué)內(nèi)容分為基礎(chǔ)和高級專題兩部分,其中基礎(chǔ)部分包括數(shù)據(jù)挖掘?qū)д?,?shù)據(jù)預(yù)處理,數(shù)據(jù)倉庫與聯(lián)機分析處理(OnlineAnalyticalProcessing,OLAP),關(guān)聯(lián)規(guī)則與頻繁模式挖掘、分類、聚類與孤立點分析,時間序列與序列模式,文本與Web挖掘,數(shù)據(jù)挖掘的可視化,數(shù)據(jù)挖掘應(yīng)用十章內(nèi)容。高級部分主要是對基礎(chǔ)部分進行進一步的深入擴展,對不同的挖掘算法進行比較分析,并增加了數(shù)據(jù)流挖掘、多媒體數(shù)據(jù)挖掘等內(nèi)容??紤]到本科階段該課程的教學(xué)總學(xué)時一般為32~48學(xué)時,且學(xué)生的理論背景知識有限,因此需要對標(biāo)準(zhǔn)大綱的內(nèi)容作一定的調(diào)整,對理論部分可以做一定刪減而增加一些大數(shù)據(jù)相關(guān)的背景知識,讓學(xué)生對數(shù)據(jù)挖掘的大環(huán)境有一個完整的認識。同時為了突出培養(yǎng)學(xué)生的實踐能力,課時安排以實踐教學(xué)為主,理論教學(xué)為輔。實踐教學(xué)中以學(xué)生為主體,教師利用實踐任務(wù)引導(dǎo)學(xué)生學(xué)習(xí)相關(guān)知識,在實踐環(huán)節(jié)中鞏固理論教學(xué)[3]??梢韵劝才?~4個學(xué)時來講解R語言的基礎(chǔ)知識,讓學(xué)生掌握R語言在數(shù)據(jù)挖掘過程中的應(yīng)用方法,并通過介紹一些大數(shù)據(jù)挖掘的案例讓學(xué)生了解數(shù)據(jù)挖掘技術(shù)的主要應(yīng)用領(lǐng)域及當(dāng)前的研究熱點問題,增強學(xué)生對數(shù)據(jù)挖掘課程的學(xué)習(xí)興趣。在充分調(diào)動了學(xué)生對數(shù)據(jù)挖掘的興趣后,可以通過增加課外學(xué)習(xí)學(xué)時來彌補課內(nèi)學(xué)時的不足。教師可以充分利用網(wǎng)絡(luò)上的大量有關(guān)數(shù)據(jù)挖掘的學(xué)習(xí)資源,例如一些國外大學(xué)的在線課程,教學(xué)案例等。對這些資料進行分類整合,并通過郵件、微信公眾號等方法推送給學(xué)生,提高學(xué)生的課后學(xué)習(xí)效果。
3基于R語言的數(shù)據(jù)挖掘課程教學(xué)
以下以數(shù)據(jù)挖掘中常用的聚類算法為例,介紹如何利用R語言作為數(shù)據(jù)挖掘?qū)嵺`軟件來開展教學(xué)。聚類分析是數(shù)據(jù)挖掘中一個非常重要的領(lǐng)域,將數(shù)據(jù)劃分成有意義或有用的組(簇),使同一類別內(nèi)的個體具有盡可能高的同質(zhì)性,而不同類別之間的個體則應(yīng)具有盡可能高的異質(zhì)性[4]。聚類算法有多種,一般分為兩大類:基于原型的聚類和基于密度的聚類。本科教材中主要介紹基于原型的K-means算法,在課時充足時也可補充介紹基于密度的Dbscan算法。在介紹完聚類算法的基本概念后,可以通過加載一個名為animation的R包來演示K-means算法的運算過程。該R包中提供了許多關(guān)于統(tǒng)計、數(shù)據(jù)分析類的動畫功能,對教學(xué)可以起到輔助作用[5]。教師只要調(diào)用該包中的相應(yīng)函數(shù)就能生成算法的執(zhí)行過程動畫,并可以通過轉(zhuǎn)換函數(shù)將動畫轉(zhuǎn)換為GIF和FLASH等格式或者利用LaTeX將動畫嵌入到PDF文件中。利用animation包中的生成的K-means算法的動畫截圖如圖1—2所示,該動畫直觀地展示了從最初的隨機中心開始,一步一步迭代計算距離并更新中心直到結(jié)果不再變化,完成聚類。通過算法動畫的演示可以在很大程度上幫助學(xué)生來理解枯燥的挖掘算法原理。在介紹完K-means算法的原理之后,就可以通過一些實例來展示如何利用R語言來完成聚類。R語言可以很方便地利用read函數(shù)讀入TXT或者CSV格式的數(shù)據(jù),命令行如下:data1<-read.table("data/dataSample.txt",header=TRUE)data1<-read.csv(file="data/dataSample.csv")如果要讀入EXCEL文件也可以通過調(diào)用readxl包來實現(xiàn),命令行如下:library(readxl)data1<-read_excel("data/dataSample.xlsx",sheet=1)除了可以導(dǎo)入外部數(shù)據(jù)進行挖掘,R語言還有另一個便利之處:其基礎(chǔ)包和其他擴展包中都自帶了許多數(shù)據(jù)集,教師可以充分利用這些數(shù)據(jù)作為數(shù)據(jù)挖掘的挖掘?qū)ο蟆Mㄟ^輸入命令:data()就能列出所有自帶的數(shù)據(jù)集的名字和簡介,再通過數(shù)據(jù)集的名稱就能直接調(diào)用相應(yīng)的數(shù)據(jù)集。以UCI數(shù)據(jù)集中的一個的iris數(shù)據(jù)集為例,該數(shù)據(jù)集中包含了4個鳶尾花的測量數(shù)據(jù)和一個分類數(shù)據(jù)。以下為利用K-means算法將iris數(shù)據(jù)集中前四個測量數(shù)據(jù)聚成三大類的命令行:data("iris")#讀取iris數(shù)據(jù)data1<-iris[,1:4]#將iris數(shù)據(jù)集中的前4列數(shù)據(jù)賦給data1變量data2<-kmeans(data1,3)#利用K-means算法將數(shù)據(jù)聚為3類最后的聚類結(jié)果存放在data2中,查看該變量可以看到聚類產(chǎn)生的三大類的大小、每個聚類中各個列值的平均值、每個記錄所屬的聚類等信息。講解完最為經(jīng)典的K-means算法,教師還可以在課時允許的情況下適當(dāng)補充介紹其他聚類算法。對于不同的數(shù)據(jù)集不同算法可能得到不同的聚類結(jié)果,在一些情況下,K-means算法并不能得到較好的結(jié)果,例如它不能識別非球形的簇,這時可以考慮使用基于密度的聚類方法。DBScan算法是將所有點標(biāo)記為核心點、邊界點或噪聲點,將任意兩個距離小于eps的核心點歸為同一個簇。任何與核心點足夠近的邊界點也放到與之相同的簇中。R語言中同樣提供了DBScan算法的實現(xiàn)函數(shù),用戶可以調(diào)用fpc包中的DBScan函數(shù)進行聚類。在講解DBScan算法時,教師可以通過對同一個數(shù)據(jù)集同時使用K-means算法和DBScan算法,并將兩個聚類結(jié)果以圖形方式對比展示出來。例如教師可以人為構(gòu)造一組數(shù)據(jù),這些數(shù)據(jù)是基于sin函數(shù)和cos函數(shù)構(gòu)成的兩組點。對該數(shù)據(jù)集分別利用K-means算法和DBScan算法的不同結(jié)果示意如圖3—4所示??梢院苊黠@地看出對于該數(shù)據(jù)集,DBScan算法能得到更好的聚類結(jié)果。
4課程實踐與考核方式設(shè)計
教師可以將實踐內(nèi)容分成兩大類:驗證實踐和案例實踐。驗證實踐主要是對教材和教師的理論講解部分作重復(fù)性驗證,主要目的是幫助學(xué)生理解并鞏固理論部分的知識。案例實踐則是學(xué)生在掌握基本的數(shù)據(jù)挖掘方法后,獨立完成教師布置的案例作業(yè),從而進一步提高學(xué)生的獨立解決數(shù)據(jù)分析問題的能力。針對課程內(nèi)容的不同特點,開展課程實踐時可以分為3步走。(1)熟悉挖掘工具:該部分的主要任務(wù)是讓學(xué)生學(xué)會R語言的基本操作。(2)學(xué)習(xí)數(shù)據(jù)挖掘基本算法:該部分主要任務(wù)是讓學(xué)生學(xué)會使用R語言的數(shù)據(jù)挖掘相關(guān)的函數(shù)和功能包。(3)綜合數(shù)據(jù)挖掘技術(shù)的訓(xùn)練:該部分主要任務(wù)是讓學(xué)生學(xué)會數(shù)據(jù)挖掘的整套流程操作,能獨立解決數(shù)據(jù)挖掘相關(guān)的實際問題。課程的考核方式應(yīng)該能夠客觀地反映學(xué)生對數(shù)據(jù)挖掘的基本原理和算法應(yīng)用的掌握程度。由于完成數(shù)據(jù)挖掘任務(wù)往往需要較大規(guī)模的原始數(shù)據(jù),且如果沒有計算機的支持,一次數(shù)據(jù)挖掘可能需要數(shù)小時,紙質(zhì)試卷無法勝任,因此傳統(tǒng)的筆試只能考查學(xué)生對于一些基本概念的記憶程度,無法全面反映學(xué)生的真實水平。因此課程考核應(yīng)以能力測試為中心,將實踐操作在總成績中的占比提高到50%以上??梢詥⒂秒娮涌季韀6],讓學(xué)生在規(guī)定時間內(nèi)利用R語言對給定的原始數(shù)據(jù)進行數(shù)據(jù)挖掘,并將挖掘結(jié)果整理成報告上傳至指定服務(wù)器。實踐成績從兩方面進行評定:通過查看結(jié)果報告判斷挖掘結(jié)果是否真實有效;通過調(diào)取并查看學(xué)生所使用過的R語言的命令行判斷挖掘過程是否合理。當(dāng)然這種電子考卷需要教師在考試前充分準(zhǔn)備電子試題庫,并且對于挖掘過程部分的判定需要教師花費較多精力,因此還需不斷地摸索改進。
[參考文獻]
[1]卡巴科弗.語言實戰(zhàn)[M].王小寧,譯.北京:人民郵電出版社,2016.
[2]石向榮.基于TDC模式的數(shù)據(jù)挖掘課程教學(xué)新方法[J].經(jīng)濟師,2015(5):311.
[3]黃劍.任務(wù)驅(qū)動探究式教學(xué)模式在數(shù)據(jù)挖掘課程中的應(yīng)用研究[J].電腦知識與技術(shù),2014(10):1253-1255.
[4]陳封能,斯坦巴赫,庫瑪爾.數(shù)據(jù)挖掘?qū)д揫M].范明,范宏建,譯.北京:人民郵電出版社,2013.
[5]岳強,胡中玉,文瑾,等.基于R語言的數(shù)據(jù)挖掘課程實驗設(shè)計[J].微型電腦應(yīng)用,2016(32):31-34.
[6]夏晶暉.應(yīng)用型本科教學(xué)中技能型課程考核方式的改革[J].西南師范大學(xué)學(xué)報(自然科學(xué)版),2013(38):193-196.
作者:渠暢 單位:北京師范大學(xué)珠海分校管理學(xué)院