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