




已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
3.1 分類與決策樹概述3.1.1 分類與預(yù)測分類是一種應(yīng)用非常廣泛的數(shù)據(jù)挖掘技術(shù),應(yīng)用的例子也很多。例如,根據(jù)信用卡支付歷史記錄,來判斷具備哪些特征的用戶往往具有良好的信用;根據(jù)某種病癥的診斷記錄,來分析哪些藥物組合可以帶來良好的治療效果。這些過程的一個共同特點(diǎn)是:根據(jù)數(shù)據(jù)的某些屬性,來估計(jì)一個特定屬性的值。例如在信用分析案例中,根據(jù)用戶的“年齡”、“性別”、“收入水平”、“職業(yè)”等屬性的值,來估計(jì)該用戶“信用度”屬性的值應(yīng)該取“好”還是“差”,在這個例子中,所研究的屬性“信用度”是一個離散屬性,它的取值是一個類別值,這種問題在數(shù)據(jù)挖掘中被稱為分類。還有一種問題,例如根據(jù)股市交易的歷史數(shù)據(jù)估計(jì)下一個交易日的大盤指數(shù),這里所研究的屬性“大盤指數(shù)”是一個連續(xù)屬性,它的取值是一個實(shí)數(shù)。那么這種問題在數(shù)據(jù)挖掘中被稱為預(yù)測??傊?,當(dāng)估計(jì)的屬性值是離散值時,這就是分類;當(dāng)估計(jì)的屬性值是連續(xù)值時,這就是預(yù)測。3.1.2 決策樹的基本原理1.構(gòu)建決策樹通過一個實(shí)際的例子,來了解一些與決策樹有關(guān)的基本概念。表3-1是一個數(shù)據(jù)庫表,記載著某銀行的客戶信用記錄,屬性包括“姓名”、“年齡”、“職業(yè)”、“月薪”、.、“信用等級”,每一行是一個客戶樣本,每一列是一個屬性(字段)。這里把這個表記做數(shù)據(jù)集D。銀行需要解決的問題是,根據(jù)數(shù)據(jù)集D,建立一個信用等級分析模型,并根據(jù)這個模型,產(chǎn)生一系列規(guī)則。當(dāng)銀行在未來的某個時刻收到某個客戶的貸款申請時,依據(jù)這些規(guī)則,可以根據(jù)該客戶的年齡、職業(yè)、月薪等屬性,來預(yù)測其信用等級,以確定是否提供貸款給該用戶。這里的信用等級分析模型,就可以是一棵決策樹。在這個案例中,研究的重點(diǎn)是“信用等級”這個屬性。給定一個信用等級未知的客戶,要根據(jù)他/她的其他屬性來估計(jì)“信用等級”的值是“優(yōu)”、“良”還是“差”,也就是說,要把這客戶劃分到信用等級為“優(yōu)”、“良”、“差”這3個類別的某一類別中去。這里把“信用等級”這個屬性稱為“類標(biāo)號屬性”。數(shù)據(jù)集D中“信用等級”屬性的全部取值就構(gòu)成了類別集合:Class=“優(yōu)”,“良”,“差”。在決策樹方法中,有兩個基本的步驟。其一是構(gòu)建決策樹,其二是將決策樹應(yīng)用于數(shù)據(jù)庫。大多數(shù)研究都集中在如何有效地構(gòu)建決策樹,而應(yīng)用則相對比較簡單。構(gòu)建決策樹算法比較多,在Clementine中提供了4種算法,包括C&RT、CHAID、QUEST和C5.0。采用其中的某種算法,輸入訓(xùn)練數(shù)據(jù)集,就可以構(gòu)造出一棵類似于圖3.1所示的決策樹。一棵決策樹是一棵有向無環(huán)樹,它由若干個節(jié)點(diǎn)、分支、分裂謂詞以及類別組成。節(jié)點(diǎn)是一棵決策樹的主體。其中,沒有父親節(jié)點(diǎn)的節(jié)點(diǎn)稱為根節(jié)點(diǎn),如圖3.1中的節(jié)點(diǎn)1;沒有子節(jié)點(diǎn)的節(jié)點(diǎn)稱為葉子節(jié)點(diǎn),如圖3.1中的節(jié)點(diǎn)4、5、6、7、8。一個節(jié)點(diǎn)按照某個屬性分裂時,這個屬性稱為分裂屬性,如節(jié)點(diǎn)1按照“年齡”被分裂,這里“年齡”就是分裂屬性,同理,“職業(yè)”、“月薪”也是分裂屬性。每一個分支都會被標(biāo)記一個分裂謂詞,這個分裂謂詞就是分裂父節(jié)點(diǎn)的具體依據(jù),例如在將節(jié)點(diǎn)1分裂時,產(chǎn)生兩個分支,對應(yīng)的分裂謂詞分別是“年齡=40”。另外,每一個葉子節(jié)點(diǎn)都被確定一個類標(biāo)號,這里是“優(yōu)”、“良”或者“差”。基于以上描述,下面給出決策樹的定義:由此可以看出,構(gòu)建一棵決策樹,關(guān)鍵問題就在于,如何選擇一個合適的分裂屬性來進(jìn)行一次分裂,以及如何制定合適的分裂謂詞來產(chǎn)生相應(yīng)的分支。各種決策樹算法的主要區(qū)別也正在于此。2.修剪決策樹利用決策樹算法構(gòu)建一個初始的樹之后,為了有效地分類,還要對其進(jìn)行剪枝。這是因?yàn)?,由于?shù)據(jù)表示不當(dāng)、有噪音等原因,會造成生成的決策樹過大或過度擬合。因此為了簡化決策樹,尋找一顆最優(yōu)的決策樹,剪枝是一個必不可少的過程。通常,決策樹越小,就越容易理解,其存儲與傳輸?shù)拇鷥r也就越小,但決策樹過小會導(dǎo)致錯誤率較大。反之,決策樹越復(fù)雜,節(jié)點(diǎn)越多,每個節(jié)點(diǎn)包含的訓(xùn)練樣本個數(shù)越少,則支持每個節(jié)點(diǎn)樣本數(shù)量也越少,可能導(dǎo)致決策樹在測試集上的分類錯誤率越大。因此,剪枝的基本原則就是,在保證一定的決策精度的前提下,使樹的葉子節(jié)點(diǎn)最少,葉子節(jié)點(diǎn)的深度最小。要在樹的大小和正確率之間尋找平衡點(diǎn)。不同的算法,其剪枝的方法也不盡相同。常有的剪枝方法有預(yù)剪枝和后剪枝兩種。例如CHAID和C5.0采用預(yù)剪枝,CART則采用后剪枝。預(yù)剪枝,是指在構(gòu)建決策樹之前,先制定好生長停止準(zhǔn)則(例如指定某個評估參數(shù)的閾值),在樹的生長過程中,一旦某個分支滿足了停止準(zhǔn)則,則停止該分支的生長,這樣就可以限制樹的過度生長。采用預(yù)剪枝的算法有可能過早地停止決策樹的構(gòu)建過程,但由于不必生成完整的決策樹,算法的效率很高,適合應(yīng)用于大規(guī)模問題。后剪枝,是指待決策樹完全生長結(jié)束后,再根據(jù)一定的準(zhǔn)則,剪去決策樹中那些不具一般代表性的葉子節(jié)點(diǎn)或者分支。這時,可以將數(shù)據(jù)集劃分為兩個部分,一個是訓(xùn)練數(shù)據(jù)集,一個是測試數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集用來生成決策樹,而測試數(shù)據(jù)集用來對生成的決策樹進(jìn)行測試,并在測試的過程中通過剪枝來對決策樹進(jìn)行優(yōu)化。3.生成原則在生成一棵最優(yōu)的決策樹之后,就可以根據(jù)這棵決策樹來生成一系列規(guī)則。這些規(guī)則采用“If.,Then.”的形式。從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的每一條路徑,都可以生成一條規(guī)則。這條路徑上的分裂屬性和分裂謂詞形成規(guī)則的前件(If部分),葉子節(jié)點(diǎn)的類標(biāo)號形成規(guī)則的后件(Then部分)。例如,圖3.1的決策樹可以形成以下5條規(guī)則:If(年齡40)and(職業(yè)=“學(xué)生” or 職業(yè)=“教師”)Then 信用等級=“優(yōu)”If(年齡=40)and(月薪=40)and(月薪=1000 and 月薪=40)and(月薪3000)Then 信用等級=“優(yōu)”這些規(guī)則即可應(yīng)用到對未來觀測樣本的分類中了。3.2 ID3、C4.5與C5.0ID3算法是最有影響力的決策樹算法之一,由Quinlan提出。ID3算法的某些弱點(diǎn)被改善之后得到了C4.5算法;C5.0則進(jìn)一步改進(jìn)了C4.5算法,使其綜合性能大幅度提高。但由于C5.0是C4.5的商業(yè)版本,其算法細(xì)節(jié)屬于商業(yè)機(jī)密,因此沒有被公開,不過在許多數(shù)據(jù)挖掘軟件包中都嵌入了C5.0算法,包括Clementine。3.2.1 ID31.信息增益任何一個決策樹算法,其核心步驟都是為每一次分裂確定一個分裂屬性,即究竟按照哪一個屬性來把當(dāng)前數(shù)據(jù)集劃分為若干個子集,從而形成若干個“樹枝”。ID3算法采用“信息增益”為度量來選擇分裂屬性的。哪個屬性在分裂中產(chǎn)生的信息增益最大,就選擇該屬性作為分裂屬性。那么什么是信息增益呢?這需要首先了解“熵”這個概念。熵,是數(shù)據(jù)集中的不確定性、突發(fā)性或隨機(jī)性的程度的度量。當(dāng)一個數(shù)據(jù)集中的記錄全部都屬于同一類的時候,則沒有不確定性,這種情況下的熵為0。決策樹分類的基本原則是,數(shù)據(jù)集被分裂為若干個子集后,要使每個子集中的數(shù)據(jù)盡可能的“純”,也就是說子集中的記錄要盡可能屬于同一個類別。如果套用熵的概念,即要使分裂后各子集的熵盡可能的小。例如在一次分裂中,數(shù)據(jù)集D被按照分裂屬性“年齡”分裂為兩個子集D1和D2,如圖3.2所示。2.ID3算法的流程ID3算法是一個從上到下、分而治之的歸納過程。ID3算法的核心是:在決策樹各級節(jié)點(diǎn)上選擇分裂屬性時,通過計(jì)算信息增益來選擇屬性,以使得在每一個非葉節(jié)點(diǎn)進(jìn)行測試時,能獲得關(guān)于被測試樣本最大的類別信息。其具體方法是:檢測所有的屬性,選擇信息增益最大的屬性產(chǎn)生決策樹節(jié)點(diǎn),由該屬性的不同取值建立分支,再對各分支的子集遞歸調(diào)用該方法建立決策樹節(jié)點(diǎn)的分支,直到所有子集僅包括同一類別的數(shù)據(jù)為止。最后得到一棵決策樹,它可以用來對新的樣本進(jìn)行分類。下面通過一個實(shí)例來了解一下決策樹的構(gòu)建過程。表3-2是一個假想的銀行貸款客戶歷史信息(略去了客戶姓名),包含14個樣本?,F(xiàn)要求以這14個樣本為訓(xùn)練數(shù)據(jù)集,以“提供貸款”為類標(biāo)號屬性,用ID3算法構(gòu)造決策樹。3.ID3算法的性能分析ID3算法是一種典型的決策樹分析算法,后來發(fā)展的許多決策樹算法都是以ID3算法為基礎(chǔ)發(fā)展而來的。ID3算法的優(yōu)點(diǎn)在于它構(gòu)建決策樹的速度比較快,它的計(jì)算時間隨問題的難度只是線性地增加,適合處理大批量數(shù)據(jù)集。同時,ID3算法的缺點(diǎn)也是突出的,包括以下幾點(diǎn)。(1)ID3算法對訓(xùn)練樣本的質(zhì)量的依賴性很強(qiáng),訓(xùn)練樣本的質(zhì)量主要是指是否存在噪聲和是否存在足夠的樣本。(2)ID3算法只能處理分類屬性(離散屬性),而不能處理連續(xù)屬性(數(shù)值屬性)。在處理連續(xù)屬性時,一般要先將連續(xù)屬性劃分為多個區(qū)間,轉(zhuǎn)化為分類屬性。例如“年齡”,要把其數(shù)值事先轉(zhuǎn)換為諸如“小于30歲”、“3050歲”、“大于50歲”這樣的區(qū)間,再根據(jù)年齡值落入了某一個區(qū)間取相應(yīng)的類別值。通常,區(qū)間端點(diǎn)的選取包含著一定的主觀因素和大量的計(jì)算。(3)ID3算法生成的決策樹是一棵多叉樹,分支的數(shù)量取決于分裂屬性有多少個不同的取值。這不利于處理分裂屬性取值數(shù)目較多的情況。因此目前流行的決策樹算法大多采用二叉樹模型。(4)ID3算法不包含對樹的修剪,無法對決策樹進(jìn)行優(yōu)化。正因?yàn)镮D3還存在著許多不足的地方,Quinlan對ID3算法進(jìn)行了改進(jìn),并于1993年提出了ID3的改進(jìn)算法C4.5。3.2.2 C4.5C4.5算法的核心思想與ID3完全相同,但在實(shí)現(xiàn)方法上做了更好的改進(jìn),并增加了新的功能。主要包括:采用“增益比例”來選擇分裂屬性、對連續(xù)屬性的處理、對樣本屬性值缺失情況的處理、規(guī)則的產(chǎn)生、交叉驗(yàn)證等。1.用“增益比例”來選擇分裂屬性如前所述,ID3是采用“信息增益”來選擇分裂屬性的。雖然這是一種有效地方法,但其具有明顯的傾向性,即它傾向于選擇具有大量不同取值的屬性,從而產(chǎn)生許多小而純的子集。尤其是關(guān)系數(shù)據(jù)庫中作為主鍵的屬性,每個樣本都有一個不同的取值。如果以這樣的屬性作為分裂屬性,那么將產(chǎn)生非常多的分支,而且每一個分支產(chǎn)生的子集的熵均為0(因?yàn)樽蛹兄挥幸粋€樣本?。?。顯然,這樣的決策樹是沒有實(shí)際意義的。因此,Quinlan提出使用增益比例來代替信息增益。2.連續(xù)屬性的處理ID3最初的定義假設(shè)數(shù)據(jù)集的各屬性都必須是離散的。如果有連續(xù)屬性,則可以采用劃分區(qū)間的方法來離散化。假如在前面的例子中,屬性“年齡”由于是連續(xù)型屬性,被劃分為“50”3個區(qū)間,這樣屬性“年齡” 的不同取值就只有3個了,這就是被離散化的過程。在C4.5中,算法采用另外一種方法來實(shí)現(xiàn)連續(xù)屬性的離散化。設(shè)數(shù)據(jù)集中有一連續(xù)屬性Y,現(xiàn)要測試是否可以選用該屬性來對數(shù)據(jù)集進(jìn)行分裂以及如何分裂(即通過計(jì)算信息增益或增益比例來確認(rèn)Y是否可以作為分裂屬性,如果可以,還要確定分裂謂詞)。例如在表3-3所示的訓(xùn)練數(shù)據(jù)集中,如果要計(jì)算“年齡”屬性的信息增益,則首先將不同的屬性值排序20,25,28,40,46,55,56,58,60,65,70,那么可能的閾值集合為20,25,28,40,46,55,56,58,60,65,從中一一取出,并形成分裂謂詞,例如取出“20”,形成謂詞“20”,用它們劃分訓(xùn)練數(shù)據(jù)集,然后計(jì)算信息增益或增益比例。3.處理有缺失值的樣本ID3是基于所有屬性值都已經(jīng)確定這一假設(shè)的。但是在實(shí)際應(yīng)用中,經(jīng)常會因?yàn)樗鸭瘶颖緯r有的樣本數(shù)據(jù)不完整,或者輸入數(shù)據(jù)是有人為的誤差等原因,一個數(shù)據(jù)集中會有某些樣本缺少一些屬性值。例如在表3-3中,有兩個樣本的“收入水平”缺失了(用“?”代替)。在用一個屬性對數(shù)據(jù)集進(jìn)行劃分時,必須知道一個樣本屬于哪一類(以便于計(jì)算每類有多少個樣本,進(jìn)而計(jì)算該屬性的信息增益),這是根據(jù)這個樣本的屬性值來決定的,但是由于屬性值缺失,那么該如何判斷這個樣本屬于哪一類呢?C4.5并不會武斷地將一個有缺省值的樣本拋棄(當(dāng)然,樣本數(shù)量很大的時候可以這么做),也不會隨意地將它分配到某個類別中去。C4.5會根據(jù)其他已知屬性值來計(jì)算一個有缺失值的樣本屬于某個類別的概率,這個樣本可以屬于每一個類,只是概率不同而已。例如,在表3-3的14個樣本中,“收入水平”有兩個缺失值,其他的12個樣本的分布如表3-4所示。4.樹的修剪C4.5采用的修剪方法是所謂的“后剪枝”,即待決策樹完全生長結(jié)束之后,再來修剪掉那些對分類精度貢獻(xiàn)不大的葉子節(jié)點(diǎn)。對于某個節(jié)點(diǎn),計(jì)算該節(jié)點(diǎn)分裂之前的誤分類損失(由于錯誤地預(yù)測了樣本的類別而導(dǎo)致的損失)和分裂成子樹之后的誤分類損失,如果分裂后的誤分類損失沒有得到顯著降低,就可以考慮修剪掉這棵子樹。在計(jì)算分類精度之前,用戶可以自行定義各種誤分類損失的權(quán)重,例如“A類樣本被誤分類為B類導(dǎo)致的損失”比“B類樣本誤分類為A類導(dǎo)致的損失”要大得多,在這種情況下就可以通過設(shè)置誤分類損失的權(quán)重來加以區(qū)分。5.規(guī)則的產(chǎn)生C4.5提供了將決策樹模型轉(zhuǎn)換為If-Then規(guī)則的算法。規(guī)則存儲于一個二維數(shù)組中,每一行代表一個規(guī)則。表的每一列代表樣本的一個屬性,列的值代表了屬性的不同取值。例如,0和1分別代表“小于等于閾值”和“大于閾值”。如果列值為-1,則代表規(guī)則中不包含該屬性。6.交叉驗(yàn)證分類是有監(jiān)督學(xué)習(xí),通過學(xué)習(xí)可以對未知的數(shù)據(jù)進(jìn)行預(yù)測。在訓(xùn)練過程開始之前,將一部分?jǐn)?shù)據(jù)保留下來,在訓(xùn)練之后,利用這部分?jǐn)?shù)據(jù)對學(xué)習(xí)的結(jié)果進(jìn)行驗(yàn)證,這種模型評估方法稱為交叉驗(yàn)證。如果將這個“學(xué)習(xí)-驗(yàn)證”的過程重復(fù)k次,就稱為k次迭代交叉驗(yàn)證。首先將所有訓(xùn)練數(shù)據(jù)平均分成k份,每次使用其中一份作為測試樣本,其余的k-1份數(shù)據(jù)作為學(xué)習(xí)樣本,然后選擇平均分類精度最高的樹作為最后的結(jié)果。通常,分類精度最高的樹并不是節(jié)點(diǎn)最多的樹。另外,交叉驗(yàn)證還可以用于決策樹的修剪。k次迭代交叉驗(yàn)證非常適合訓(xùn)練樣本書目比較少
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建三明五縣2024~2025學(xué)年高一下冊聯(lián)合質(zhì)檢考試期中數(shù)學(xué)試題
- 時間壓力管理策略考核試卷
- 2025年中國LED雙基色異步屏數(shù)據(jù)監(jiān)測報(bào)告
- 2025年中國EVA亮膠紙墊數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年中國ABS床頭帶輪鋼板條面單搖床數(shù)據(jù)監(jiān)測報(bào)告
- 2025年中國2-巰基吡啶氧化物鈉鹽數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國高速真空油市場分析及競爭策略研究報(bào)告
- 2025至2030年中國防腐管接件市場分析及競爭策略研究報(bào)告
- 2025至2030年中國鋼膠釘市場分析及競爭策略研究報(bào)告
- 2025至2030年中國超音波流量計(jì)市場分析及競爭策略研究報(bào)告
- AQ 1066-2008 煤層瓦斯含量井下直接測定方法(正式版)
- 浙江省杭州市拱墅區(qū)部分校2023-2024學(xué)年六年級下冊期末練習(xí)卷科學(xué)試題
- 廣西壯族自治區(qū)南寧市2023-2024學(xué)年八年級下學(xué)期7月期末歷史試題(無答案)
- DL-T5344-2018電力光纖通信工程驗(yàn)收規(guī)范
- 2023年檢驗(yàn)檢測機(jī)構(gòu)質(zhì)量手冊(依據(jù)2023年版評審準(zhǔn)則編制)
- 2024年內(nèi)蒙古包頭市公安局留置看護(hù)警務(wù)輔助人員招聘筆試參考題庫附帶答案詳解
- 專利權(quán)利轉(zhuǎn)讓協(xié)議書(2篇)
- 設(shè)計(jì)服務(wù)方案投標(biāo)
- 陜西省安全生產(chǎn)條例
- 玻璃瓶裝飾行業(yè)前景分析
- 頸腰椎病預(yù)防及診治
評論
0/150
提交評論