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