劉東江 李雷孝
摘要:傳統的數據挖掘課程主要是采用滿堂灌式的方法將教材中的理論知識灌輸給學生,通常這種教學方法的教學效果并不理想,并且這種方式無法提升學生的工程實踐能力。針對這一問題文章提出了一種基于項目實踐與理論進化融合的數據挖掘教學方法,該方法基于一個數據挖掘項目案例來組織課程,學生通過該項目案例可以了解運用理論知識解決實際工程問題的方法;此外,在進行理論教學時,可以通過相關理論知識的發展進程將理論知識串接起來,這樣就使得學生能夠更好地理解并記憶理論知識。
關鍵詞:數據挖掘;教學方法;項目驅動;理論發展;項目實踐
中圖分類號:G642? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)36-0146-03
開放科學(資源服務)標識碼(OSID)
0 引言
近幾十年,隨著互聯網的快速發展,各個領域都產生了大量的數據,且數據結構豐富,數據內容多樣。在這種情況下,數據處理、分析與挖掘就成為推動領域發展的重要工具。所以培養數據科學領域的專業人才對于推動我國社會經濟的發展,推動各個領域的快速進步是非常關鍵的。鑒于此,許多高校都開設了數據科學類的專業,而在數據科學類專業的課程中,數據挖掘處于核心地位。可以發現,數據挖掘課程的學習難度相對較大,這主要是因為在數據挖掘技術中需要用到統計學、數據庫、機器學習等相關的知識。為了提升學生的學習效果,出現了一系列針對數據挖掘課程的教學研究工作。
接下來,介紹一些較為典型的教學研究成果。何棟[1]對數據挖掘課程的教學方法進行了探討,將五步教學法融入數據挖掘課程中;康雁等[2]將SE-CDIO教學模式引入數據挖掘課程的教學當中,基于SE-CDIO教學模式對教學方法和考核方式進行了改進;陳朝焰等[3]針對數據挖掘課程的教學內容進行了結構化的設計;陳燕[4]詳細分析了數據挖掘課程產生的背景,確立了數據挖掘課程在計算機相關專業中的定位;羅莉霞[5]對數據挖掘課程中的思政元素和育人元素進行了探討,提出了針對數據挖掘課程思政進行改革的新途徑和新方法;彭珍[6]針對數據挖掘課程線上教學的教學目標、教學過程、教學評價等相關方面的設計與改革進行了探討。
1 課程建設現狀
數據分析與數據挖掘課程是一門講解數據處理、分析與挖掘相關技術的課程,傳統的數據挖掘課程是以老師的理論教學為主,所以課程知識都是通過老師的講解灌輸給學生的,這樣就使得學生無法很好地理解與吸收課程中的重點與難點;與此同時,由于課程中缺乏實際項目案例,學生的數據挖掘工程實踐能力無法獲得有效提高。基于此,本文提出了一種新的針對數據分析與數據挖掘課程的教學方法。該教學方法通過一個實際的項目案例來組織教學內容;與此同時,在進行理論教學的過程中,該教學方法利用理論發展的脈絡來連接理論知識,這樣不僅可以提高學生的數據挖掘工程實踐能力,還可以使得所講解的知識更容易被學生理解和記憶。為了清晰地描述所提出的教學方法,本文將以數據挖掘課程中的“數據分類模型——決策樹”一節為例來介紹該方法。
2 數據挖掘課程教學思考
數據挖掘是一項技術,通過該技術可以從大量數據中提取或挖掘出隱含的、先前未知的、有潛在價值的信息,這種信息被稱為知識。數據挖掘項目可以通過工程化的方式來完成,目前最為流行的數據挖掘工程化流程是CRISP流程,該流程包含五個步驟,分別為先驗知識、準備、建模、應用、新知。其中,先驗知識階段要求對項目的任務類型以及業務的背景進行充分分析,以便完成數據的獲取以及挖掘策略的制定;準備階段主要進行數據探索性分析以及數據預處理,通過這兩個步驟可以將低質量的數據處理成為高質量的數據;建模階段主要是基于高質量數據構建挖掘模型,該模型是從數據中獲取新知識的核心;應用階段主要是將模型部署在實際的Web系統當中;新知階段主要是基于Web系統展示的挖掘結果獲取數據中的隱藏信息。我們可以按照CRISP流程來組織課程內容,這樣不僅可以讓學生掌握數據挖掘實際項目的執行過程,同時也能夠掌握理論知識在工程實踐中如何進行應用。
在數據挖掘技術中需要用到許多不同方面的理論知識,包括概率論、統計學以及線性代數等,所以數據挖掘理論知識的學習難度相對較大。基于此,在進行授課的過程中需要對課程的理論部分進行有效的設計。通常一種新算法的提出是在原有算法的基礎上進行改進,因此我們在授課時可以將所有算法按照提出的先后順序串接起來,講新算法前要描述上一個算法的缺陷在哪里以及為什么要提出這個新算法。通過這種方式授課不僅能夠使得知識脈絡更加清晰,同時也有利于學生對所學知識的記憶。
3 基于項目實踐與理論進化融合的數據挖掘課程教學過程設計
3.1 基于項目實踐的數據挖掘教學設計
數據挖掘中所包含的幾類主要任務分別為關聯分析、分類分析、聚類分析以及離群點檢測,其中在分類分析中需要基于訓練數據集訓練分類模型并基于測試數據集完成模型性能測試,之后就可以對模型進行實際部署。機器學習中的所有監督學習模型均可被用于完成分類分析任務,接下來將以監督學習模型中的決策樹模型為例介紹基于項目實踐與理論進化融合的教學設計方法。
在進行教學的過程中,首先需要給出一個真實的項目案例:
某銀行為了避免潛在的風險,需要在客戶出現違約情況之前采取應對手段,因此需要構建一套系統提前發現可能出現違約狀況的客戶,該系統中最為核心的功能就是違約客戶預測,銀行可以提供的數據中包含用戶的個人信息以及用戶的日常支付信息。
CRISP流程中的第一個階段是獲取先驗知識,此階段要求根據需求確定項目的任務類型并且了解項目的業務背景。確定項目的任務類型主要是引導學生分析項目是什么類型的任務,獲取項目的任務類型之后就可以確定未來將要采用什么數據挖掘技術。通過分析可以發現,該項目主要是為銀行進行用戶類型甄別,也就是區分哪些用戶是可能違約的用戶以及哪些用戶是不會違約的用戶,基于此可以確定這個項目是一個分類分析任務。了解項目的業務背景主要是為收集數據做準備,由于數據是已經給定的,因此在課程當中該步驟可以省略。
準備階段主要是進行數據的探索性分析以及數據預處理,通過數據探索性分析可以發現影響數據質量的問題并幫助工程技術人員了解數據的具體特征。在數據預處理階段可以根據數據探索性分析的結果制定預處理的策略,之后按照預處理的策略對數據進行預處理。之前的課程已經介紹過數據探索性分析以及數據預處理的相關方法,在此處可以讓學生對數據探索性分析方法以及數據預處理方法進行復習并將這些方法應用在該項目案例中。
在完成數據預處理任務之后,接下來就可以基于這些處理好的數據進行模型構建,在進行模型構建之前需要為學生講解決策樹模型的相關理論知識,讓學生對于決策樹有一個較為深入的認識,理論課程的教學設計將在3.2小節中做介紹。學生完成理論知識學習后,就可以針對實際項目案例進行決策樹模型的構建。由于在決策樹之前學生也學習過其他的分類模型,因此鼓勵學生同時也創建其他已經學習過的分類模型,這樣可以幫助學生對以往所學的知識進行復習,最后需要通過評價指標對所有分類模型的效果進行評估。
當學生完成以上描述的過程之后,不僅可以對過去所學的知識進行復習,還可以在學習決策樹模型相關理論的同時了解模型的應用方法。
3.2 基于理論進化的數據挖掘理論課程教學設計
決策樹模型有三個主要的算法,包括ID3、C4.5以及CART,其中ID3和C4.5兩個算法構建決策樹模型的過程相同,但是這兩個算法的屬性選擇方法不同,其中ID3所采用的屬性選擇方法為信息增益,而C4.5所采用的屬性選擇方法為信息增益率,CART算法構建決策樹模型的過程與ID3、C4.5不同,并且CART算法所采用的屬性選擇方法為Gini系數。如果將這三種算法分開介紹,會使得學生學習并且記憶這些算法的難度加大,但是如果通過理論進化將三個算法串接起來,將會非常有益于學生掌握所講解的理論知識。
在講解構建決策樹模型的三個算法的過程中,由于ID3算法最先被提出,因此首先需要通過ID3算法的偽代碼詳細講解其構造決策樹的過程。此外,由于ID3和C4.5兩個算法的主要區別在于屬性選擇的方法,因此需要通過兩種屬性選擇方法的關系對C4.5算法的屬性選擇方法進行講解。其中,ID3所采用的屬性選擇方法為信息增益,C4.5所采用的屬性選擇方法為信息增益率。通過對信息增益的計算方法進行分析可以發現,信息增益無法應對屬性取值過多的情況。如果某個屬性對應的取值數量過多,那么該屬性的信息增益就會變為0,這就導致真正有代表性的屬性對應的信息增益值可能并不大,所以需要在信息增益的計算公式上增加懲罰項,通過懲罰項可以有效調節計算結果,從而避免以上問題的發生,而信息增益率其實就是針對信息增益的計算公式增加了懲罰項。可以發現,通過這樣的方式講解ID3算法和C4.5算法不僅可以使得學生了解理論發展的過程,同時也能很好的學習并記憶兩個算法的原理。
由于C4.5對于數據集的劃分是通過某個屬性的取值來完成的,因此如果對應屬性可以取k個值,那么整個數據集就會被劃分到k個不同的分支當中,這樣就導致數據集中的每個屬性只能被使用一次,所以基于C4.5算法構造的決策樹對于數據的擬合度不夠高。CART算法有效地解決了這一問題,該算法將所選擇的屬性處理為二元屬性,并基于處理后的屬性構建二叉決策樹,這樣就使得數據集中的屬性可以被重復使用,從而使得所構造的決策樹更加靈活并且對于數據的擬合度更高,所以基于CART算法構造的決策樹模型效果更好。通過以上的描述可以引出基于CART算法構造決策樹模型的過程,首先需要進行屬性選擇,之后將所選擇的屬性處理成為二元屬性,最后基于二元屬性進行數據劃分即可。可以發現,基于C4.5算法的缺陷講解CART算法構造決策樹的過程,不僅可以使得學生更好地掌握CART算法的原理,同時也可以使得學生了解各種算法的優缺點。
由于在CART算法中屬性是可以重復使用的,因此可能導致所構造的決策樹模型過于龐大,在這種情況下會產生過擬合的問題。為了避免過擬合問題的發生,需要對決策樹進行剪枝,剪枝算法分為預剪枝算法和后剪枝算法。可以發現在講完CART算法之后便可以非常自然地引出剪枝算法的內容。
4 教學評價設計
由于課程教學不僅要向學生傳授理論知識,同時也要提高學生的工程實踐能力,因此在對學生進行考核的過程中,需要考查學生掌握理論知識的程度以及運用所學知識解決實際工程問題的能力。通過以上介紹的教學設計方法可以發現課堂內容就是通過實際項目案例串接起來的,因此需要學生完成項目,提交編寫的代碼以及代碼運行結果的截圖,根據提交的代碼及運行結果截圖可以判斷學生對于課堂知識的掌握情況以及在課堂上是否認真聽講。此外,為了能夠讓學生得到進一步的練習,需要給定一個新的項目案例作為編程作業,要求學生在課后編寫代碼完成項目,通過學生提交的代碼可以判斷學生是否能夠靈活運用所學知識解決實際工程問題。
與此同時,還應當檢驗學生對于理論知識的掌握情況,這主要是通過學習心得和課后作業來完成。在學習心得中學生需要按照老師講解的知識發展過程介紹自己學習了哪些知識,通過學習心得可以判斷學生課堂學習效果。可以發現在決策樹的三個算法中最重要的知識點是ID3算法和C4.5算法構建決策樹的過程、CART算法構建決策樹的過程、信息增益的計算方法、信息增益率的計算方法以及Gini系數的計算方法。很明顯,如果學生能夠計算出屬性的信息增益率,那么學生必然能夠計算出屬性的信息增益,因此可以只考查學生是否掌握信息增益率的計算方法。基于此,在課后作業中需要分別針對ID3算法構建決策樹的過程、CART算法構建決策樹的過程、信息增益率的計算方法以及Gini系數的計算方法出相關的習題,通過課后作業可以檢驗學生對于課程重點、難點的掌握情況。
期末成績由兩部分組成,分別是考試成績和平時成績,其中考試成績占總成績的30%,平時成績占總成績的70%。平時成績又可以進一步劃分為平時表現成績、實驗成績和作業成績,其中作業成績占40%,平時表現成績占10%,實驗成績占20%。平時表現成績是根據學生提交的課堂編程代碼來進行判定的,實驗成績是根據課后的編程作業來進行判定的,作業成績需要被劃分為兩部分,第一部分是根據學生提交的學習心得來進行判定,第二部分是根據課后習題的完成情況來進行判定,每部分占總成績的20%。
5 結論
近些年,隨著互聯網技術的快速發展,各個領域都積累了大量的數據,因此迫切需要精通大數據處理、分析與挖掘的人才,數據挖掘作為數據專業的核心課,對于培養大數據方面的人才是非常重要的。傳統的數據挖掘課程教學主要集中在理論教學方面,并且理論教學也主要是通過講解教材來完成的,因此學生很難在工程能力方面獲得很好的訓練,同時學生對于理論知識的理解和掌握情況也不是特別樂觀。為了克服這些問題,本文提出了一種基于項目實踐與理論進化融合的數據挖掘課程教學方法。在以該方法設計的數據挖掘課程中,學生的工程實踐能力可以得到有效提高,與此同時他們還可以通過老師的講解將理論知識串接起來,這樣不僅可以使得理論知識變得更加容易理解同時也使得學生對于理論知識的掌握更加的扎實。
參考文獻:
[1] 何棟.關于“數據挖掘” 的項目驅動教學探討[J].教育理論與實踐,2018,38(6):52-53.
[2] 康雁,林英,朱燕萍,等.基于SE-CDIO的數據挖掘課程教學改革[J].云南大學學報(自然科學版),2020,42(S1):54-57.
[3] 陳朝焰,許洪云,劉攀.本科數據挖掘課程教學內容的結構化設計[J].現代計算機,2020(36):77-81,94.
[4] 陳燕.數據挖掘課程教學方法探討[J].教育教學論壇,2018(13):146-148.
[5] 羅莉霞.新工科背景下數據挖掘課程思政教學改革研究[J].林區教學,2021(12):25-28.
[6] 彭珍.數據挖掘課程在線教學設計與改革探討[J].中國教育技術裝備,2021(4):100-102.
【通聯編輯:王 力】