雷波
摘要:隨著科學(xué)信息技術(shù)和電子計(jì)算機(jī)的不斷發(fā)展進(jìn)步,大數(shù)據(jù)的處理就成了人們的當(dāng)務(wù)之急。分類算法在數(shù)據(jù)挖掘中起到了重要的作用,是我國重點(diǎn)研究領(lǐng)域。它的算法是通過對(duì)當(dāng)前數(shù)據(jù)挖掘中的大數(shù)據(jù)進(jìn)行篩選分類,對(duì)數(shù)據(jù)挖掘中具有顯著性、代表性的優(yōu)秀優(yōu)質(zhì)算法分類進(jìn)行詳細(xì)的比較與分析,并且從中總結(jié)出各種算法的特征,為使用者選擇算法或?qū)ρ芯空呖偨Y(jié)算法提供了十分有效的證據(jù)。它能夠解決很多問題,有助于解決單一組合分類的集成學(xué)習(xí)方法,并且能夠很好地完成數(shù)據(jù)處理的工作。本文就以根據(jù)不同算法數(shù)據(jù),從中找出算法之間的相同和異同等,能夠進(jìn)一步的推廣支持分類算法,并且能夠?yàn)樵撍惴ù蚝昧嗽鷮?shí)的基底。
關(guān)鍵詞:大數(shù)據(jù)挖掘;分類算法;ID3算法;SLIQ算法;生活中的應(yīng)用
中圖分類號(hào):TP3? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)27-0232-02
1 當(dāng)代數(shù)據(jù)挖掘研究背景
在當(dāng)代快速發(fā)展的都市背景下,大數(shù)據(jù)挖掘的思維理念已經(jīng)滲透進(jìn)了很多企業(yè)行業(yè),這種方式給計(jì)算機(jī)行業(yè)帶來了更好的發(fā)展機(jī)遇方向,同時(shí)也帶來了不少的挑戰(zhàn)。因而想要完全熟悉駕馭這門行業(yè)必須要做好大數(shù)據(jù)挖掘的相關(guān)工作,掌握數(shù)據(jù)分類算法這對(duì)大數(shù)據(jù)的挖掘是十分有幫助的,并且能提高工作效率,但是大數(shù)據(jù)的分類算法是大數(shù)據(jù)挖掘中最難的一道關(guān)卡。隨著人們對(duì)于大數(shù)據(jù)的不斷深入的發(fā)展研究,人們開發(fā)出了多種多樣的分類算法,它有助于減少工作操作的難度,提高了人們的工作效率。人們進(jìn)行相對(duì)應(yīng)的數(shù)據(jù)分類時(shí)通常是以數(shù)據(jù)分類器作為標(biāo)準(zhǔn)的,其中包括決策樹類、基于關(guān)聯(lián)規(guī)則類、Bayes類以及各種利用數(shù)據(jù)庫技術(shù)類等,以下本文就要對(duì)各種算法其詳細(xì)而又簡(jiǎn)單的闡述。
2 分類算法的簡(jiǎn)介概述
分類算法在數(shù)據(jù)挖掘中占據(jù)了十分重要的地位。它能夠幫助我們進(jìn)行分析一個(gè)分類模型或者分類函數(shù)的運(yùn)算,并且能夠?qū)⒔o定的數(shù)據(jù)映射到指定的類別區(qū)域之中的某一個(gè)在數(shù)據(jù)庫中分類模型之中??梢酝ㄟ^分類模型來預(yù)測(cè)未來數(shù)據(jù)的發(fā)展趨勢(shì)并且還可以提取描述一些重要數(shù)據(jù)分析。以下可以作為分類的例子:
當(dāng)輸入一串?dāng)?shù)據(jù)或者是訓(xùn)練集,這些是由一系列數(shù)據(jù)庫記錄而組成的。這每一條記錄可以組成一條特征向量,其中的每一條都包含了許多的屬性內(nèi)容。在訓(xùn)練集數(shù)據(jù)中每一條的記錄都與各個(gè)特定的類標(biāo)簽相之對(duì)應(yīng)。通常這些數(shù)據(jù)條的輸入往往是一些經(jīng)驗(yàn)數(shù)據(jù),樣本向量(V1,V2…VN;C)就是個(gè)具體樣本的形式。
在決策樹中通過輸入一定的數(shù)據(jù)樣本就能夠得到準(zhǔn)確的分析并且表現(xiàn)出的未來特征特性在所得到的訓(xùn)練集中和為精準(zhǔn)的在每一個(gè)訓(xùn)練集能夠找到一個(gè)相對(duì)應(yīng)的模型或者描述在每一個(gè)訓(xùn)練集中這些都是大數(shù)據(jù)的分類目的。因此分類法可以生成的對(duì)未來測(cè)試的數(shù)據(jù)進(jìn)行分類的有效規(guī)劃。但是我們都是抱以未知的態(tài)度對(duì)這些生成的未來的測(cè)試數(shù)據(jù)類標(biāo)簽,所以我們也應(yīng)該對(duì)預(yù)測(cè)這些新的數(shù)據(jù)進(jìn)行詳細(xì)的分類。不能對(duì)這些預(yù)測(cè)出來的數(shù)據(jù)抱以完全相信的態(tài)度,而且我們還要理解好分析好每一個(gè)數(shù)據(jù)。 這樣讓我們獲得了比較正確的知識(shí)類別。
3 決策樹分類算法
在分類算法與預(yù)測(cè)之中,決策樹技術(shù)是其中最主要的技術(shù)之一,歸納學(xué)習(xí)的方法是決策樹分類算法的實(shí)例基礎(chǔ)。決策樹分類算法針對(duì)各組無規(guī)則、無次序的事例推理出決策圖的分類規(guī)則和表示形式。它的遞歸方式采用的是自頂向下,這種算法可以通過根據(jù)指定數(shù)據(jù)的不同屬性來分析推斷向下該數(shù)據(jù)的分支決策路線,并且可以從決策樹上的葉節(jié)點(diǎn)獲得相關(guān)數(shù)據(jù)的結(jié)論預(yù)測(cè)。因此從數(shù)據(jù)決策樹的根部一直到葉節(jié)點(diǎn)各對(duì)應(yīng)每一項(xiàng)的合取規(guī)則,各個(gè)部分間規(guī)則的關(guān)系便是合取關(guān)系。一組析取表達(dá)式的規(guī)則規(guī)矩就對(duì)應(yīng)著整棵樹的決策。
對(duì)于學(xué)習(xí)決策樹算法最大的優(yōu)勢(shì)優(yōu)點(diǎn)就是非常容易簡(jiǎn)單去學(xué)習(xí),在決策樹中即沒有讓使用學(xué)習(xí)者進(jìn)行了解分析的背景參數(shù)知識(shí),使用學(xué)習(xí)者直接對(duì)在學(xué)習(xí)訓(xùn)練中出現(xiàn)的的問題和例題進(jìn)行反復(fù)較好的標(biāo)注學(xué)習(xí)即可。可能在學(xué)習(xí)算法過程中也會(huì)出現(xiàn)一些棘手的疑難雜癥。例如以下幾點(diǎn)主要問題:
1)在數(shù)據(jù)標(biāo)注時(shí)出現(xiàn)的問題:要進(jìn)行完全的標(biāo)注所有的屬性在有些數(shù)據(jù)之中。
2)在選擇特征時(shí)出現(xiàn)的問題:要對(duì)出現(xiàn)的數(shù)據(jù)屬性進(jìn)行嚴(yán)謹(jǐn)仔細(xì)地分析了解并且得到結(jié)果哪些數(shù)據(jù)是可以用來分類的。
3)在進(jìn)行分支準(zhǔn)則時(shí)出現(xiàn)的問題:畢竟在眾多數(shù)據(jù)分支準(zhǔn)則中,必須做的使最終的決策樹更加令人滿意,所以每一步選擇哪一種準(zhǔn)則會(huì)一定不要出現(xiàn)問題。
4)分類停止條件的問題:一定考慮決策樹到達(dá)什么的條件時(shí)停止生長(zhǎng)。
3.1 決策樹歸納算法ID3(c4.5)算法
訓(xùn)練樣例集也稱之為Examples,Attributes算法則屬于決策列表屬性,這兩個(gè)都屬于ID3算法。這種ID3算法是通過選擇窗口的方式進(jìn)而形成決策樹的,它能經(jīng)過互信息來尋找信息論里最大信息量的屬性字段,通過這種方法手段來建立每一個(gè)節(jié)點(diǎn)在決策樹中,并且去不同的分支根據(jù)屬性字段來建立決策樹的下層節(jié)點(diǎn)與分支過程。在ID3算法中的優(yōu)勢(shì)是具有極快的分類速度、能夠簡(jiǎn)單的描述、非常適合運(yùn)用于處理大規(guī)模數(shù)據(jù)。不過作為單一的屬性能力度量當(dāng)ID3算法借用信息論時(shí),它目的是能夠適當(dāng)?shù)販p少?zèng)Q策樹的平均有效深度,但是卻忽略了對(duì)決策樹葉片的研究。但是其啟發(fā)式函數(shù)不是最好的,存在有不少的問題隱患。比如以下幾個(gè)例子:
1)在互信息的計(jì)算之中,比較偏向依賴于較多特征的屬性取值的數(shù)目;但是具有較多的屬性取值的屬性數(shù)據(jù)可能并不是最好的。
2)學(xué)習(xí)ID3算法是運(yùn)用了非遞增的學(xué)習(xí)算法。
3)在訓(xùn)練計(jì)算時(shí),該算法抗噪性比較差,所以出現(xiàn)的正例和反例是比較難以控制的。
最后的算法返回一棵能夠給出正確分類的Examples的決策樹。1.首先要建立一棵樹的根節(jié)點(diǎn)Root。2.如果所指定的訓(xùn)練樣例集都是同一類別,則要將此節(jié)點(diǎn)記錄成該類,并且要返回原單節(jié)點(diǎn)樹Root。3.加入決策屬性列表為空白,則在訓(xùn)練樣例集中該幾點(diǎn)標(biāo)記為最普通平常的類,然后就要返回單節(jié)點(diǎn)樹Root。4.下一步就開始否則運(yùn)算,Attributes接近于A則該分類中訓(xùn)練樣例集;分析A接近于Root的決策屬性;分析對(duì)于A的每個(gè)可能的值Vi。
3.2 決策樹歸納算法SLIQ算法
“預(yù)排列”與“廣度優(yōu)先”技術(shù)主要運(yùn)用于在SLIQ決策樹的構(gòu)造過程中,這兩種技術(shù)在SLIQ中起到重要作用。能夠進(jìn)行評(píng)價(jià)節(jié)點(diǎn)分裂質(zhì)量的參數(shù)因素是在數(shù)據(jù)中的使用信息量在一般的決策樹中。一般在SLIQ算法計(jì)算時(shí),運(yùn)用gini的指標(biāo)參數(shù)來取代信息量,因此能夠?qū)Υ髷?shù)據(jù)集的n各類別進(jìn)行數(shù)據(jù)集S的定義。所得到的gini數(shù)值越小,獲得的信息量就越大。它和一般的決策樹不同,這種算法采用的則是二分查找樹的結(jié)構(gòu)來進(jìn)行運(yùn)算的。它要對(duì)每一個(gè)節(jié)點(diǎn)都能給出相應(yīng)的最佳的分裂方案,隨之進(jìn)行分裂演算。在關(guān)于A<=v的連續(xù)數(shù)值型字段分列式,可以該算法會(huì)對(duì)數(shù)值型字段首先進(jìn)行排序,假定分類排序后的結(jié)果會(huì)出現(xiàn)n個(gè)v,因?yàn)榉至阎辉趦蓚€(gè)節(jié)點(diǎn)之間計(jì)算,所以會(huì)出現(xiàn)n—1個(gè)可能的目標(biāo)。一般取該式子的中點(diǎn)作為分裂點(diǎn),再從小到大可以取不同的分裂點(diǎn)(split point),在所有點(diǎn)之中獲取信息量最大、gini最小的點(diǎn)就是分裂點(diǎn)。在SLIQ算法演算過程中,工作量操作量代價(jià)非常大,需要準(zhǔn)確的排序每一個(gè)節(jié)點(diǎn),其中的最重要問題就是要降低排序的成本,不過在SLIQ算法中有著很好的方案對(duì)于解決排序困難這個(gè)棘手的難題。
在離散型的字段之中,我們要求出設(shè)立的S(A)所有可能取到的A值,并且在分裂測(cè)試中要分析取遍所有的s,(s,是s的子集)。當(dāng)算法分裂為s,和s-s,時(shí)然后找到gini的指標(biāo),并且取到gini最小值,這就是該算法最佳最好的分裂方法。很明顯的是,這種算法是對(duì)合集S中的每一個(gè)子集S,進(jìn)行分析演算的過程,此算法一共要計(jì)算2|S|次,其中的操作程度也是相當(dāng)復(fù)雜的,代價(jià)也是極大的。因此一定要對(duì)SLIQ算法進(jìn)行一定的優(yōu)化才能更高校率的計(jì)算。
在實(shí)際運(yùn)算中,SLIQ這種算法一般比ID3算法處理更多更大的數(shù)據(jù)集,能夠得到準(zhǔn)確的數(shù)值。優(yōu)點(diǎn)就在于能夠獲得更好的更優(yōu)的數(shù)據(jù)記錄個(gè)數(shù)與屬性上的可擴(kuò)展性的增長(zhǎng)。不過該算法也不是毫無缺點(diǎn)問題的,比如下列幾點(diǎn)問題:
1)因?yàn)閮?nèi)存中要存放所需要類別的列表,但是在訓(xùn)練集長(zhǎng)度和列表長(zhǎng)度上兩者是相同的,這種情況就相對(duì)限制了數(shù)據(jù)集本身的長(zhǎng)度大小對(duì)算法有不利的影響。
2)在算法過程中一般運(yùn)用預(yù)排列的手段,不過這種技術(shù)它的復(fù)雜程度與相對(duì)記錄的數(shù)據(jù)個(gè)數(shù)不成線性關(guān)系,所以SLIQ算法中沒有因?yàn)殡S著數(shù)據(jù)記錄的個(gè)數(shù)增長(zhǎng)的線性可擴(kuò)展性。
4 數(shù)據(jù)挖掘的分類算法在生活預(yù)測(cè)方面的運(yùn)用
在以上所有的各種算法中,各有各的利弊,沒有一種算法是能夠滿足人們對(duì)各個(gè)方面的需求,所以必須在具體的工作范圍中,根據(jù)工作的類型方式和收集數(shù)據(jù)程度大小,來判斷選擇一項(xiàng)合適高效率的算法來解決困難。比如,在XX市的公交交通線路規(guī)劃預(yù)測(cè)項(xiàng)目中,可以運(yùn)用決策樹分類算法對(duì)數(shù)據(jù)采集分析,應(yīng)用于根據(jù)對(duì)居民的出行數(shù)據(jù)情況,研究出居民日常運(yùn)用公交出行的數(shù)據(jù)決策樹圖,可以為方便居民的出行預(yù)測(cè)出堅(jiān)實(shí)的數(shù)據(jù)基礎(chǔ),優(yōu)化了決策的可靠性。并且可以根據(jù)數(shù)據(jù)的離散化,我們可以根據(jù)來自訓(xùn)練集中記錄中的戶口、年齡、職業(yè)、歲數(shù)等來判斷是否公交出行。因?yàn)樗枰挠涗洸⒉皇呛艽?,所以我們可以運(yùn)用內(nèi)存中存留的算法來計(jì)算。這里可以運(yùn)用ID3算法來計(jì)算出大數(shù)據(jù)決策樹,在計(jì)算中可以自動(dòng)選取算法中相對(duì)應(yīng)的測(cè)試屬性。在數(shù)據(jù)的決策樹中可以得到的第一個(gè)選取分類屬性為戶口,第二點(diǎn)為職業(yè)因素,第三點(diǎn)為歲數(shù)年齡因素??梢愿鶕?jù)決策樹反映出來的這些信息以及通過公交出行人數(shù)的比重,來對(duì)公交交通線路規(guī)劃提出有力的依據(jù)證明,輔助解決相關(guān)政策依據(jù),并且還能幫助統(tǒng)計(jì)局進(jìn)行統(tǒng)計(jì)人口相關(guān)詳細(xì)信息。
5 結(jié)語
分類算法是在作為大數(shù)據(jù)的挖掘中最重要的組成部分之一,近些年來分類算法出現(xiàn)了很多方法,并且研發(fā)出還有很多改進(jìn)優(yōu)化的算法,當(dāng)今研究出的算法運(yùn)用在實(shí)際生活中也已經(jīng)趨向于成熟。所以分類算法在統(tǒng)計(jì)大數(shù)據(jù)中占據(jù)了非常重要的地位,對(duì)幫助政府輔助策劃、公交出行規(guī)劃統(tǒng)計(jì)、保險(xiǎn)行業(yè)、股票銀行交易等行業(yè)方面上有很大的幫助,也可以為控制風(fēng)險(xiǎn)投資人員決策方面有很大的幫助支持??梢岳梅诸愃惴ㄕ页鋈藗兩钪械囊恍┮?guī)律規(guī)則,為生活出行等各方面進(jìn)行預(yù)測(cè)分析、為各項(xiàng)決策提供有力的依據(jù)。運(yùn)用這種手段可以高度自主分析企業(yè)等各行業(yè)原有的數(shù)據(jù),進(jìn)行歸納整理,分析提取中商業(yè)潛在的價(jià)值模式方法,預(yù)測(cè)出客戶即將做出的行為,可以幫助企業(yè)家做出正確有利的有依據(jù)的決策方向,提供了一些新的思路方法。
參考文獻(xiàn):
[1] 王光宏,蔣平.數(shù)據(jù)挖掘綜述[J].同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,32(2):246-252.
[2] 姜園,張朝陽,仇佩亮,等.用于數(shù)據(jù)挖掘的聚類算法[J].電子與信息學(xué)報(bào),2005,27(4):655-662.
[3] 談恒貴,王文杰,李游華.數(shù)據(jù)挖掘分類算法綜述[J].微型機(jī)與應(yīng)用,2005,24(2):4-6.
【通聯(lián)編輯:張薇】