劉海軍+李忠

摘要:目前大數(shù)據(jù)分析行業(yè)剛剛起步,職場上對數(shù)據(jù)分析師的崗位缺口很大,高校在此背景下開設(shè)數(shù)據(jù)挖掘技術(shù)課程,培養(yǎng)學生的數(shù)據(jù)意識、數(shù)據(jù)分析思維,對學生具有深遠的影響。本文針對應用型本科學生的接受能力和培養(yǎng)目標,探討了數(shù)據(jù)挖掘技術(shù)理論教學內(nèi)容安排和實踐課程開發(fā)工具建議,以期為廣大開設(shè)該課程的教師提供參考。
關(guān)鍵詞:數(shù)據(jù)挖掘技術(shù);實驗課程設(shè)計;應用型本科
目前,數(shù)據(jù)已經(jīng)滲透到當今每一個行業(yè)和業(yè)務職能領(lǐng)域,成為重要的生產(chǎn)因素。各行各業(yè)的決策正在從“業(yè)務驅(qū)動”轉(zhuǎn)變?yōu)椤皵?shù)據(jù)驅(qū)動”,人們對海量數(shù)據(jù)的挖掘和運用,將創(chuàng)造出巨大的經(jīng)濟和社會價值。目前,我國高度重視大數(shù)據(jù)的發(fā)展。2015年8月31日,國務院印發(fā)《促進大數(shù)據(jù)發(fā)展行動綱要》,系統(tǒng)部署大數(shù)據(jù)發(fā)展工作。通過對大數(shù)據(jù)進行挖掘和分析,可以使企業(yè)清晰地了解自身現(xiàn)狀、競爭環(huán)境、風險評判與決策支持。在對大數(shù)據(jù)進行充分挖掘與展現(xiàn)后,呈現(xiàn)給企業(yè)決策者的將是一份清晰、準確且有數(shù)據(jù)支撐的報告。所以,大數(shù)據(jù)分析師是參與企業(yè)決策發(fā)展制定的核心人物,因而被認為是未來十年最有前景的工作崗位。
目前大數(shù)據(jù)分析行業(yè)剛剛起步,職場上對數(shù)據(jù)分析師的崗位缺口很大,高校在此背景下開設(shè)數(shù)據(jù)挖掘技術(shù)課程,培養(yǎng)學生的數(shù)據(jù)意識、數(shù)據(jù)分析思維,無論學生將來是否從事數(shù)據(jù)分析相關(guān)的工作,都會對學生有深遠的影響。
數(shù)據(jù)挖掘課程的教學目的是讓學生掌握數(shù)據(jù)挖掘的相關(guān)知識,能分析并運用成熟的技術(shù)和方法。由于數(shù)據(jù)挖掘課程涉及多種學科,理論性和實踐性都很強,所以在教學中存在諸多問題和挑戰(zhàn)。本科生初次接觸數(shù)據(jù)挖掘技術(shù)這門課程,普遍感覺困難,主要在于該課程對數(shù)學要求比較高,而本科生的前期數(shù)學積累知識基礎(chǔ)不夠。針對應用型本科生的特點,本文從理論教學內(nèi)容和實驗教學環(huán)節(jié)來探討這門課程應講授的知識點。
一、理論教學內(nèi)容探討
數(shù)據(jù)挖掘技術(shù)融合了相當多的內(nèi)容,由綜合統(tǒng)計分析、機器學習、人工智能、數(shù)據(jù)庫等諸多方面的研究成果綜合而成;與專家系統(tǒng)、知識管理等研究方向不同的是,數(shù)據(jù)挖掘更側(cè)重于應用的層面。讓學生通過一個學期的學習就全面了解所有的細節(jié)是一件幾乎就不可能完成的任務,因此在一個學期的教學中,必須有所側(cè)重。數(shù)據(jù)挖掘技術(shù)包含分類、聚類、預測、關(guān)聯(lián)分析、孤立點分析等環(huán)節(jié)。學生的學習目標是明白這些技術(shù)是用來干什么的,典型的算法大致是怎樣的,以及在什么情況下應該選用什么樣的技術(shù)和算法。下面給出了教學內(nèi)容及重點難點。
1.數(shù)據(jù)挖掘技術(shù)概述
通過講解案例,學生可以了解數(shù)據(jù)挖掘都能做哪些事情以及數(shù)據(jù)挖掘技術(shù)的價值。典型的案例有沃爾瑪“啤酒喝尿布”的故事、百度用數(shù)據(jù)挖掘方法預測世界杯的結(jié)果、華爾街利用數(shù)據(jù)挖掘技術(shù)進行輿情分析預測股票價格、谷哥采用大數(shù)據(jù)分析技術(shù)預測流感趨勢的案例等。通過講授這些案例,讓學生對數(shù)據(jù)挖掘技術(shù)這門課程產(chǎn)生濃厚的學習興趣,同時讓學生去閱讀數(shù)據(jù)挖掘的綜述文章,組織討論彼此的綜述成果。
2.數(shù)據(jù)預處理方法
數(shù)據(jù)是數(shù)據(jù)挖掘的前提和核心,數(shù)據(jù)挖掘成敗往往取決于高質(zhì)量的數(shù)據(jù)。教師首先要讓學生了解什么是數(shù)據(jù)、數(shù)據(jù)中心及數(shù)據(jù)離散度的表示方法等,然后講授數(shù)據(jù)中可能存在的問題及相應的預處理方法。本章重要的數(shù)據(jù)預處理方法有數(shù)據(jù)離散化方法和數(shù)據(jù)規(guī)范化方法;關(guān)于距離的知識是講授的重點。因此,教師要讓學生了解什么是距離,為什么要有這么多距離函數(shù),什么情況下應該選取什么樣的距離函數(shù)。
3.分類和回歸
數(shù)據(jù)挖掘的絕大多數(shù)問題都可以理解成分類和回歸問題,因而本章是整個課程教學的核心任務,分配的學時較多。由于在本課程之前,學生從未接觸過機器學習知識,所以本章首先要學生理解分類和回歸的概念,讓學生能夠區(qū)分哪些問題可以用分類算法解決,哪些問題可以用回歸算法解決。對于本章的理論教學內(nèi)容,建議講授決策樹和貝葉斯兩種分類器及邏輯回歸算法。決策樹的構(gòu)建思想說明數(shù)據(jù)有好多屬性,這些屬性的價值是有差異的;貝葉斯方法表明數(shù)據(jù)具有一定的統(tǒng)計規(guī)律,當數(shù)據(jù)足夠多時,這種統(tǒng)計規(guī)律可以近似的定量描述。這兩種方法都是重點內(nèi)容。
邏輯回歸是最常見、最經(jīng)典的回歸分析算法,可以用作預測某種風險,其中損失函數(shù)是講授的重點,也是難點。
4.聚類問題
聚類問題是機器學習三大類問題之一,是非監(jiān)督學習的一種。在現(xiàn)實生活中充斥著太多的無標簽數(shù)據(jù),聚類分析可以在雜亂無章的數(shù)據(jù)中找到數(shù)據(jù)的本質(zhì)所在。最簡單、最經(jīng)典的聚類算法是kmeans聚類算法,其易于理解和實現(xiàn),但是基于距離的思想計算相似性,無法解決數(shù)據(jù)中存在不規(guī)則密度體的問題,因此需要講授另一種基于密度的聚類方法DBScan算法。本章重點是基于密度和距離的距離算法。
5.關(guān)聯(lián)分析
關(guān)聯(lián)分析并不是機器學習方法,是數(shù)據(jù)挖掘特有的技術(shù)?!捌【颇虿肌眴栴}就是關(guān)聯(lián)分析的一個典型應用。對于本章的教學,建議從事務之間的簡單關(guān)聯(lián)、單個事務之間的時序關(guān)聯(lián)兩個角度來講述關(guān)聯(lián)分析。同時要強調(diào)辛普森悖論,讓學生明白,數(shù)據(jù)預處理方法不恰當,可能導致錯誤的分析結(jié)果。本章重點內(nèi)容是相關(guān)概念、Apriori算法。
6.離群點檢測
離群點檢測本質(zhì)上是一個分類問題,即類別不平衡的分類問題,因為離群點往往被認為是數(shù)據(jù)中的小概率事件。離群點檢測問題不僅需要確定哪些數(shù)據(jù)是離群點,還需要確定數(shù)據(jù)的離群程度。建議講授基于概率的模型和基于密度的模型,重點在于對概率分析、數(shù)據(jù)密度等概念的理解。
7.案例分析
結(jié)合實際項目,介紹不同數(shù)據(jù)挖掘算法的應用、結(jié)果分析、性能等,讓學生有切實的感受。
二、實踐內(nèi)容教學探討
數(shù)據(jù)挖掘技術(shù)是一門理論性、應用性均較強的課程。學生學習理論知識的目的是解決實踐問題,因此數(shù)據(jù)挖掘?qū)嵺`課程設(shè)計尤其重要。在本科數(shù)據(jù)挖掘技術(shù)課程的教學過程中,教學學時一般在48學時或64學時,以48學時居多。然而課程的理論內(nèi)容教學就要占到32學時甚至更多,因此,要想讓學生在16個學時左右就能利用所學理論解決實際問題,實驗環(huán)境和實驗內(nèi)容的選擇尤其重要。
以筆者近年給本科生指導實驗課為例,共35個學生,僅一個貝葉斯算法,用C++語言來實現(xiàn),占用了8個學時,且只有2個學生能正確完成任務,其余的學生在數(shù)據(jù)讀取階段就花費了近4個學時,有三分之一左右的學生甚至無從下手。而采用Matlab完成該實驗,在學生以前沒有接觸過Matlab的情況下,時間減少了三分之一,當學生掌握Matlab基本語法之后,有2個學生2個小時就完成了該任務,而80%以上的學生在使用了Matlab之后,基本上能實現(xiàn)貝葉斯算法。下面給出了我校大三35名本科生采用不同工具完成數(shù)據(jù)挖掘?qū)嶒炚n程的結(jié)果,如表1所示。
從表1可以看出,在有限的實驗課時內(nèi),數(shù)據(jù)挖掘?qū)嶒灢灰瞬捎肅、C++、Java之類的編程語言;采用Matlab、Python、R之類的編程語言,可以使實驗任務完成時間更短。但是由于本科學生普遍沒有接觸過Matlab、Python、R等語言,因此需要4~6學時的編程語言教學,才能讓學生能掌握基本編程規(guī)則。即便如此,仍有相當一部分本科生無法完成實驗任務。
Clementine是一款數(shù)據(jù)挖掘軟件包,功能強大,簡單易用。學生在完全沒基礎(chǔ)的情況下,用2個學時幾乎都能掌握該使用方法,而實驗任務基本可以在半個小時之內(nèi)完成。
數(shù)據(jù)挖掘技術(shù)的實驗課程,主要目的是讓學生利用所學的專業(yè)知識解決實際問題。因此,建議本科的數(shù)據(jù)挖掘?qū)嶒炚n程以Clementine工具為主,多設(shè)計一些數(shù)據(jù)挖掘案例,讓學生學會用工具軟件進行數(shù)據(jù)分析。同時,為了讓優(yōu)秀的學生能夠自己編寫自己的數(shù)據(jù)挖掘程序,建議以開放實驗的形式,讓學生自愿參與,采用Matlab、Python、R語言來實現(xiàn)。
三、結(jié)論
本文從理論教學內(nèi)容和實驗教學工具兩個方面探討了本科數(shù)據(jù)挖掘技術(shù)課程的教學,說明了各部分的教學重點和難點,分析了實踐教學的語言應用與工具軟件的優(yōu)缺點,希望能為從事該課程教學的教師,提供一些參考。
參考文獻:
[1]詹少強.大數(shù)據(jù)背景下的數(shù)據(jù)挖掘課程教學新探[J].長春教育學院學報,2014(22):81-82.
[2]張艷.大數(shù)據(jù)背景下的數(shù)據(jù)挖掘課程教學新思考[J].計算機時代,2014(4):59-61.
[3]李春江.大數(shù)據(jù)環(huán)境下的數(shù)據(jù)挖掘課程教學探索[J].黑龍江教育(理論與實踐),2016(4):54-55.
[4]李忠,李姍姍.應用型本科院校IT專業(yè)數(shù)據(jù)挖掘課程建設(shè)[J].計算機時代,2014(11):65-69.
[5]徐琴.應用型本科數(shù)據(jù)挖掘技術(shù)課程教學探討與實踐[J].電腦知識與技術(shù),2016(22):148-149.
[6]張增平,喬曉華.針對應用型本科生數(shù)據(jù)挖掘課程的教學實踐[J].內(nèi)蒙古財經(jīng)大學學報,2015(4).
[7]江麗麗.基于數(shù)據(jù)挖掘技術(shù)的教學內(nèi)容雙向評價系統(tǒng)的設(shè)計與實現(xiàn)[J].科技信息,2010(27).