盧昊寬 文漢云
摘 要:在對薪資結(jié)構(gòu)進(jìn)行普查時(shí),由于薪資具有隱私的特性和各種不確定的因素,導(dǎo)致普查過程越來越難,精確度、時(shí)效性越來越低。為了快速、準(zhǔn)確地了解薪資水平與結(jié)構(gòu),該文通過使用決策樹模型對Adult數(shù)據(jù)集進(jìn)行判斷、訓(xùn)練,生成對應(yīng)的薪資劃分模型,將影響薪資階級的各個(gè)屬性建立起相應(yīng)的關(guān)聯(lián),可以分析與預(yù)測人們的生活水平與影響因素,仿真的結(jié)果表明決策樹模型能夠進(jìn)行真實(shí)預(yù)測。
關(guān)鍵詞:薪資結(jié)構(gòu)普查;決策樹;薪資劃分模型;數(shù)據(jù)集
中圖分類號:TP301 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)12-0265-02
決策樹算法的核心是歸納學(xué)習(xí)算法,最基本的特點(diǎn)是運(yùn)算速度快、結(jié)果簡單、易于理解、方便將得到的模型轉(zhuǎn)換成對應(yīng)的規(guī)則[1]。因此決策樹常常用于預(yù)測模型的生成[2-3],對未來的數(shù)據(jù)進(jìn)行預(yù)測。在薪資調(diào)查中由于個(gè)人隱私以及工作變動等問題存在,導(dǎo)致直接通過群眾調(diào)查結(jié)果存在著較大的誤差。希望能夠通過決策樹算法對已擁有的薪資數(shù)據(jù)進(jìn)行訓(xùn)練,得到一個(gè)較為精確的分類模型[4],進(jìn)一步縮短薪資普查周期、提高數(shù)據(jù)精確度以及真實(shí)度。
1 決策樹基本原理簡介
1.1決策樹算法理論
決策樹(Decision Tree)是一類基于回歸問題的對實(shí)例進(jìn)行分類的樹形結(jié)構(gòu)。決策樹呈樹狀結(jié)構(gòu),其模型類似于數(shù)據(jù)結(jié)構(gòu)中的樹形圖[5]。在分類問題中,表示基于特征對實(shí)例進(jìn)行分類的過程。它可以認(rèn)為是if-then規(guī)則的集合,也可以認(rèn)為是定義在特征空間與類空間上的條件概率分布,圖1是典型的決策樹:
ID3決策樹(Iterative Dichotomiser 3)算法,是Ross Quinlan發(fā)明的一種決策樹算法,該算法的特點(diǎn)是簡潔、運(yùn)用廣泛。它是以奧卡姆剃刀原理為核心,盡量用較少的資源做更多的事情,因此對于該算法而言,越是小型的決策樹越優(yōu)于大的決策樹[6-7]。
1.2 C4.5決策樹算法介紹
C4.5決策樹算法是一種基于ID3決策樹算法改進(jìn)后的一種算法,其與ID3決策樹算法最主要的區(qū)別是在于C4.5算法不再使用ID3決策樹算法的信息增益,而是使用了信息增益率這個(gè)概念。
2 決策樹在薪資結(jié)構(gòu)普查中的應(yīng)用
2.1數(shù)據(jù)源獲取
本文的數(shù)據(jù)來源于UCI機(jī)器學(xué)習(xí)庫的Adult數(shù)據(jù)集,該集合主要包含兩個(gè)部分,訓(xùn)練集adult.data與adult.test。其中adult.data包含了32561調(diào)數(shù)據(jù),總計(jì)有workclass、education、 occupation、relationship等總計(jì)16項(xiàng)屬性。
2.2薪資結(jié)構(gòu)普查決策樹模型生成方案及流程
薪資結(jié)構(gòu)普查決策樹算法:
Input:DataSet(adult.data),featureList(包含篩選過后的13個(gè)屬性集合)
Output:決策樹T
C4.5(DataSet,featureList)
Begin:
創(chuàng)建決策樹T,令T={}
創(chuàng)建根結(jié)點(diǎn)R
If:當(dāng)前DataSet中的數(shù)據(jù)都屬于同一類
標(biāo)記R的類別為該類,將R加入決策樹T。并返回T。
End If
If:當(dāng)前featureList集合為空
標(biāo)記R的類別為當(dāng)前DataSet中樣本最多的類別,將R加入決策樹T。并返回T。
While(如果featureList不為空)
從featureList中選擇屬性F(選擇G_Ratio(DataSet,F(xiàn))最大的屬性)
根據(jù)F的每一個(gè)值V,將DataSet劃分為不同的子集DS,對于每個(gè)DS:
·創(chuàng)建結(jié)點(diǎn)C
·IF:DS為空
結(jié)點(diǎn)C標(biāo)記為DataSet中樣本最多的類
·Else
結(jié)點(diǎn)C=C4.5(DS,featureList-F)
·將結(jié)點(diǎn)C添加為R的子結(jié)點(diǎn)
End While
Return T
整體方案流程圖:
3 結(jié)果與討論
本算法是基于Python語言,PyCharm開發(fā)環(huán)境進(jìn)行實(shí)現(xiàn)的,通過訓(xùn)練數(shù)據(jù)adult.data對決策樹進(jìn)行訓(xùn)練建模,再通過測試數(shù)據(jù)對訓(xùn)練所得的決策樹模型進(jìn)行檢測,最終通過測試到的訓(xùn)練所得的決策樹模型的正確率。并分別將決策樹模型與樸素貝葉斯算法(NaiveBayes),最近鄰算法(Nearest-neighbor)的正確率進(jìn)行對比。
圖3為決策樹模型的測試結(jié)果,如圖所示,該程序主要分為三個(gè)部分:模型訓(xùn)練、模型測試、以及模型正確率檢測,其中模型測試正確率高達(dá)85.54%,相比其他分類模型更為精確。
該算法在構(gòu)建時(shí)易于實(shí)現(xiàn),產(chǎn)生的分類規(guī)則容易理解,相對于其他分類算法而言精確率較高。但在決策樹構(gòu)造過程當(dāng)中需要進(jìn)行多次的排序,因此需要花費(fèi)大量時(shí)間,導(dǎo)致算法效率較低,并且可能出現(xiàn)過擬合情況。因此,該算法適用于非實(shí)時(shí)性的數(shù)據(jù)分析,并可建立所對應(yīng)分類的影響屬性的關(guān)聯(lián)性。
4 結(jié)束語
該模型在訓(xùn)練過程中表現(xiàn)較好,其正確率優(yōu)于其他傳統(tǒng)的分類模型,建立的分類規(guī)則通俗易懂,并成功的避免了大規(guī)模的薪資調(diào)查,可以盡量減少對他人隱私的關(guān)注,能夠合情合理地對未來的信息階級變化進(jìn)行預(yù)測。但決策樹模型尚處于研究階段,由于需要對數(shù)據(jù)集進(jìn)行多次掃描與排序,在部分情況下執(zhí)行效率相對較低。決策樹模型能使用于絕大多數(shù)場景,適應(yīng)性較強(qiáng),具有較大的應(yīng)用價(jià)值,特別是在分類場合中。相信在未來,隨著決策樹算法的不斷優(yōu)化,決策樹算法來挖掘的數(shù)據(jù)越多,算法的效率和性能越好,算法的優(yōu)越性就越明顯。
參考文獻(xiàn):
[1]潘琛,杜培軍,張海榮.決策樹分類法及其在遙感圖像處理中的應(yīng)用[J].中國礦業(yè)大學(xué)地理信息與遙感科學(xué)系,測繪科學(xué),2008,33(1):76-78.
[2]楊靜,張楠男.決策樹算法的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)于發(fā)展,2010,22(2):116-120.
[3]馮少榮.決策樹算法的研究與改進(jìn)[J].廈門大學(xué)學(xué)報(bào),2007,46(4):496-500.
[4]于卓.應(yīng)用決策樹構(gòu)建個(gè)人住房貸款風(fēng)險(xiǎn)評估模型[D].東北財(cái)經(jīng)大學(xué),2007.
[5]唐華松,姚耀文.數(shù)據(jù)挖掘中決策樹算法的探討[J].計(jì)算機(jī)應(yīng)用研究,2001(8):18-22.
[6]戴南.基于決策樹的分類方法研究[D].南京師范大學(xué),2003.
[7]張棪,曹健.運(yùn)動目標(biāo)圖像檢測與跟蹤問題研究[J].計(jì)算機(jī)科學(xué),2016,43(6A):374-383.