• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      案例驅(qū)動(dòng)下的分類與預(yù)測(cè)課程教學(xué)方法研究

      2018-08-17 10:01:06方賢文陳小奎
      關(guān)鍵詞:樸素結(jié)點(diǎn)決策樹

      方 歡,方賢文,郭 娟,陳小奎

      (安徽理工大學(xué)數(shù)學(xué)與大數(shù)據(jù)學(xué)院,安徽淮南 232001)

      近年來,隨著大數(shù)據(jù)技術(shù)應(yīng)用的深入,開設(shè)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”(專業(yè)代碼:080910T)以及在已有專業(yè)的基礎(chǔ)上增設(shè)“數(shù)據(jù)分析與挖掘”專業(yè)方向的本科院校越來越多,而在市場(chǎng)招聘中,對(duì)于數(shù)據(jù)分析與挖掘類人才的能力與要求也各有不同。根據(jù)領(lǐng)英人才報(bào)告,相關(guān)的大數(shù)據(jù)人才需求可以分為幾個(gè)層次,具體如表1所示。從表1的崗位和技術(shù)能力要求可以看出,雖然大數(shù)據(jù)分析師是目前的亟需人才,但是這個(gè)崗位對(duì)專業(yè)技術(shù)能力的要求也較高。因此,在本科院校中研究如何展開數(shù)據(jù)分析師相關(guān)課程的教學(xué)工作十分必要。

      表1 市場(chǎng)對(duì)大數(shù)據(jù)人才的需求層次

      以筆者所在學(xué)校為例,其目前在應(yīng)用統(tǒng)計(jì)學(xué)、信息與計(jì)算科學(xué)兩個(gè)理科專業(yè),都開設(shè)有“數(shù)據(jù)分析與處理”“數(shù)據(jù)挖掘技術(shù)”以及“Python程序設(shè)計(jì)方法”等課程[1-3],用以支撐這兩個(gè)專業(yè)學(xué)生在數(shù)據(jù)分析方向的就業(yè),這也進(jìn)一步促進(jìn)了有關(guān)數(shù)據(jù)挖掘相關(guān)課程的教學(xué)研究[4-7]。本文針對(duì)“數(shù)據(jù)挖掘技術(shù)”課程中“分類與預(yù)測(cè)”內(nèi)容的教學(xué)方法進(jìn)行深入探討,結(jié)合教學(xué)實(shí)踐,闡述在案例驅(qū)動(dòng)的條件下使用Python程序?qū)Ψ诸惻c預(yù)測(cè)方法進(jìn)行教學(xué),并給出相關(guān)的實(shí)驗(yàn)設(shè)計(jì)方案。

      1 分類與預(yù)測(cè)的總體教學(xué)方案設(shè)計(jì)

      1.1 經(jīng)典的分類與預(yù)測(cè)方法

      在“數(shù)據(jù)挖掘技術(shù)”課程中,主要介紹以下六種分類與預(yù)測(cè)方法:(1)基于決策樹的分類預(yù)測(cè)方法;(2)基于條件規(guī)則的分類預(yù)測(cè)方法;(3)基于神經(jīng)網(wǎng)絡(luò)的分類預(yù)測(cè)方法;(4)基于支持向量機(jī)的分類預(yù)測(cè)方法;(5)基于樸素貝葉斯及貝葉斯信念網(wǎng)絡(luò)的分類預(yù)測(cè)方法;(6)基于記憶的推理分類預(yù)測(cè)方法。

      在這些方法中,基于決策樹的方法、樸素貝葉斯方法以及基于條件規(guī)則的方法不需要太多的預(yù)備知識(shí),只需要掌握經(jīng)典的概率論方法即可,因此在本科生教學(xué)時(shí)選擇這三種方法為主要講解內(nèi)容,調(diào)整后的分類預(yù)測(cè)方法教學(xué)內(nèi)容如下:(1)信息熵理論、信息的不確定性理論;(2)決策樹的概念;(3)ID3分類預(yù)測(cè)算法;(4)規(guī)則條件系統(tǒng)以及決策樹與條件規(guī)則系統(tǒng)的轉(zhuǎn)換;(5)樸素貝葉斯分類預(yù)測(cè)算法;(6)分類預(yù)測(cè)算法的評(píng)價(jià)。

      1.2 背景案例

      表2 采集的案例數(shù)據(jù)集

      表3 需要分類預(yù)測(cè)的數(shù)據(jù)集

      2 基于信息熵的ID3算法

      2.1 信息熵與信息的不確定性

      2.1.1 基于古典概率模型的信息熵

      例 有32個(gè)足球隊(duì)比賽,每個(gè)隊(duì)實(shí)力相當(dāng),每一個(gè)隊(duì)勝出的概率都是1/32,那么要猜對(duì)哪個(gè)足球隊(duì)勝出非常困難,此時(shí)熵H(X)=5。試想如果32個(gè)隊(duì)中有1個(gè)是AC米蘭隊(duì),另外31個(gè)隊(duì)是安理信計(jì)1班、2班、…、31班,那么幾乎只有一個(gè)可能,即AC米蘭隊(duì)勝利的概率是100%,其他球隊(duì)的獲勝概率都為0,此時(shí)這個(gè)系統(tǒng)的熵就是H(X)=0。

      2.1.2 熵的性質(zhì)

      (1)有序的系統(tǒng),熵為0;(2)熵也可以作為一個(gè)系統(tǒng)的混亂程度的標(biāo)準(zhǔn),系統(tǒng)越混亂,熵越大。因此,熵可以作為衡量信息量大小的度量標(biāo)準(zhǔn)之一。

      2.2 決策樹的基本概念

      決策樹是樣本知識(shí)的一種表現(xiàn)形式,主要由三類結(jié)點(diǎn)組成:決策結(jié)點(diǎn)、分支以及葉子結(jié)點(diǎn),其中決策結(jié)點(diǎn)由樣本屬性構(gòu)成,而分支則來源于樣本屬性的取值,葉子結(jié)點(diǎn)為分類標(biāo)簽值。圖1給出了一個(gè)流感問題描述的決策樹模型,方形為決策結(jié)點(diǎn),圓形是葉子結(jié)點(diǎn),而邊上的標(biāo)注為屬性分支。

      2.3 基于ID3算法的決策樹構(gòu)造

      2.3.1 決策樹構(gòu)造思路

      使用貪心法來選擇具有最高信息增益的屬性作為當(dāng)前計(jì)算的分裂屬性,因此一顆ID3決策樹一定滿足以下三個(gè)條件:(1)決策樹的根結(jié)點(diǎn)是所有樣本中信息量最大的屬性;(2)樹的中間結(jié)點(diǎn)是以該結(jié)點(diǎn)為根的子樹所包含的樣本子集中信息量最大的屬性;(3)決策樹的葉子結(jié)點(diǎn)是樣本的類別值。

      2.3.2 決策樹的計(jì)算過程

      2.3.3 算法示例

      根據(jù)決策樹構(gòu)造算法,對(duì)表2的樣本數(shù)據(jù)進(jìn)行計(jì)算,可以得到如圖2所示的決策樹模型。

      3 決策樹模型向條件規(guī)則系統(tǒng)的轉(zhuǎn)換方法

      根據(jù)決策樹模型,可以很容易得到相關(guān)樣本的條件規(guī)則系統(tǒng)。轉(zhuǎn)換規(guī)則如下:從樹根開始,選擇任意一條可以達(dá)到葉子結(jié)點(diǎn)的路徑,將分裂屬性及其對(duì)應(yīng)的分支條件結(jié)合起來,并使用合取條件進(jìn)行條件復(fù)合,即可得到一條規(guī)則,重復(fù)這個(gè)過程直至所有的路徑都被遍歷。

      根據(jù)這個(gè)思路,圖2的決策樹表達(dá)成條件規(guī)則系統(tǒng),如下所示:

      (1)age<=30 and student=’no’ then buys_computer=’no’;

      (2)age<=30 and student=’yes’ then buys_computer=’yes’;

      (3)age in 31..40 then buys_computer=’yes’;

      (4)age>40 and credit_rating=’excellent’ then buys_computer=’no’;

      (5)age>40 and credit_rating=’fair’ then buys_computer=’yes’.

      由此,這五條規(guī)則構(gòu)成了表2樣本的條件規(guī)則系統(tǒng)。

      4 基于樸素貝葉斯算法的分類預(yù)測(cè)方法

      4.1 樸素貝葉斯算法的基本思想

      所謂的“樸素”是指樣本的屬性特征相互獨(dú)立,在此條件下才可以進(jìn)行樸素貝葉斯的分類預(yù)測(cè)算法。

      樸素貝葉斯分類的思想如下:

      step1 設(shè)x={a1,a2,…,am}為一個(gè)待分類項(xiàng),而每個(gè)ai為x的一個(gè)特征屬性;

      step2 有類別集合C={y1,y2,…,yn};

      樸素貝葉斯分類決策算法的決策過程如圖3所示。

      4.2 樸素貝葉斯算法演示

      以表2的樣本數(shù)據(jù)為例,假設(shè)待分類數(shù)據(jù)x為x={age=”<=30”,income=”medium”,student=”yes”,credit_rating=”fair”},表2的樣本可以分為兩類:Class y1:buys_computer=“yes”和Class y2:buys_computer=“no”。

      計(jì)算過程如下:

      step1 計(jì)算每個(gè)類的先驗(yàn)概率P(yi):P(y1)=9/14,P(y2)=5/14;

      step2 計(jì)算每個(gè)特征屬性對(duì)于每個(gè)類別的條件概率:

      (1)

      (2)

      (3)

      (4)

      (5)

      (6)

      (7)

      (8)

      step5 結(jié)論

      對(duì)于樣本x,樸素貝葉斯分類預(yù)測(cè)buys_computer=”yes”。

      5 基于Python的分類預(yù)測(cè)程序?qū)崿F(xiàn)方法

      Python程序是目前數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)最常用的一門設(shè)計(jì)語(yǔ)言,使用Python對(duì)上述的ID3以及樸素貝葉斯算法進(jìn)行使用大致有兩種途徑:(1)可以根據(jù)本文給出的算法思路進(jìn)行個(gè)性化設(shè)計(jì),將算法過程用Python進(jìn)行展示;(2)通過調(diào)用Python中的scikit-learn包庫(kù)來進(jìn)行算法調(diào)用。前者耗時(shí)較大,后者使用比較簡(jiǎn)單。本文主要講解后者的調(diào)用方法。

      5.1 ID3算法的Python包庫(kù)調(diào)用方法

      在scikit-learn包庫(kù)中存在decision-tree-id3模型,可以使用如下格式進(jìn)行調(diào)用(其中l(wèi)oad_breast_cancer為調(diào)用的數(shù)據(jù)集名稱):

      >>>from sklearn.datasets import load_breast_cancer

      >>>from id3 import Id3Estimator

      >>>from id3 import export_graphviz

      >>>bunch = load_breast_cancer()

      >>>estimator = Id3Estimator()

      >>>estimator.fit(bunch.data, bunch.target)

      >>>export_graphviz(estimator.tree_, ’tree.dot’, bunch.feature_names)

      5.2 scikit-learn中樸素貝葉斯模型的調(diào)用方法

      在scikit-learn中存在三種不同屬性的樸素貝葉斯模型。(1)高斯分布模型:假定屬性(特征)服從整體分布;(2)多項(xiàng)式模型:用于離散值模型,比如文本分類與挖掘問題;(3)伯努利模型:在這種情形下,特征只能表述為0(沒出現(xiàn))或1(出現(xiàn)過)。

      其各自的調(diào)用方式分別為:

      >>>fromsklearn import metrics

      >>>fromsklearn.naive_bayes import GaussianNB

      >>>fromsklearn.naive_bayes import MultinomialNB

      >>>fromsklearn.naive_bayes import BernoulliNB

      以其中的GaussianNB模型為例,下面給出一組GaussianNB的分類預(yù)測(cè)算法實(shí)現(xiàn)過程:

      >>>model= GaussianNB()

      >>> start_time= time.time()

      >>>model.fit(X,y)

      >>>print(’training took %fs!’%(time.time()-start_time))

      >>>print(model)

      >>>expected= y

      >>>predicted= model.predict(X)

      >>>print(metrics.classification_report(expected,predicted))

      >>>print(metrics.confusion_matrix(expected,predicted))

      6 結(jié)語(yǔ)

      在目前大數(shù)據(jù)背景下,我們把分類和預(yù)測(cè)統(tǒng)稱為推測(cè)。分類就是應(yīng)用已知的一些屬性數(shù)據(jù)去推測(cè)一個(gè)未知的離散型的屬性數(shù)據(jù),而這個(gè)被推測(cè)的屬性數(shù)據(jù)的可取值是預(yù)先定義的。想要很好地實(shí)現(xiàn)這種推測(cè),就需要事先在已知的一些屬性和未知的離散型屬性之間建立一個(gè)有效的模型,即分類模型。本文主要講解了應(yīng)用古典概率模型就可以計(jì)算的ID3決策樹模型、樸素貝葉斯算法模型。除此之外,還有很多可以應(yīng)用的數(shù)學(xué)模型,比如神經(jīng)網(wǎng)絡(luò)、logistic回歸、支持向量機(jī)等。這些數(shù)學(xué)模型可能比較難,如何將這些數(shù)學(xué)模型與編程語(yǔ)言結(jié)合起來是一件非常困難的事情,需要教師不斷地應(yīng)用各種案例進(jìn)行引導(dǎo),加深學(xué)生的理解。另外,在實(shí)際教學(xué)過程中,還可引入一些案例讓學(xué)生動(dòng)手實(shí)踐,使學(xué)生對(duì)分類預(yù)測(cè)方法有更深刻的理解,提高學(xué)生的實(shí)踐動(dòng)手能力。

      猜你喜歡
      樸素結(jié)點(diǎn)決策樹
      隔離樸素
      樸素的安慰(組詩(shī))
      他是那樣“笨拙”和樸素——30多年后,我們?yōu)槭裁催€需要讀路遙?
      一種針對(duì)不均衡數(shù)據(jù)集的SVM決策樹算法
      最神奇最樸素的兩本書
      決策樹和隨機(jī)森林方法在管理決策中的應(yīng)用
      電子制作(2018年16期)2018-09-26 03:27:06
      Ladyzhenskaya流體力學(xué)方程組的確定模與確定結(jié)點(diǎn)個(gè)數(shù)估計(jì)
      基于決策樹的出租車乘客出行目的識(shí)別
      基于肺癌CT的決策樹模型在肺癌診斷中的應(yīng)用
      基于Raspberry PI為結(jié)點(diǎn)的天氣云測(cè)量網(wǎng)絡(luò)實(shí)現(xiàn)
      若尔盖县| 定结县| 建湖县| 马龙县| 怀来县| 石林| 工布江达县| 文成县| 恩施市| 德钦县| 都兰县| 于田县| 辛集市| 栾川县| 娱乐| 隆化县| 盖州市| 岳西县| 霞浦县| 尤溪县| 武义县| 北票市| 海兴县| 湟源县| 子长县| 新建县| 苍南县| 和平县| 隆回县| 蓝山县| 渑池县| 通城县| 武夷山市| 兴化市| 自贡市| 托克逊县| 化德县| 红河县| 赣榆县| 满洲里市| 阿尔山市|