基于機(jī)器學(xué)習(xí)的收人預(yù)測(cè)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1研究背景
隨著我國(guó)的經(jīng)濟(jì)發(fā)展越來(lái)越快,居民收入水平逐漸成為社會(huì)關(guān)注的焦點(diǎn)。個(gè)人收入預(yù)測(cè)主要是對(duì)居民的基本信息進(jìn)行數(shù)據(jù)挖掘,預(yù)測(cè)居民的收入狀況。個(gè)人收入預(yù)測(cè)在實(shí)際應(yīng)用中有巨大的現(xiàn)實(shí)意義和參考價(jià)值,有利于社會(huì)研究和分析,可對(duì)經(jīng)濟(jì)發(fā)展進(jìn)行有針對(duì)性的規(guī)劃指導(dǎo)。
日常生活中大量的常見問(wèn)題,都可以使用數(shù)據(jù)挖掘的方法來(lái)解決。數(shù)據(jù)分類被廣泛應(yīng)用于經(jīng)濟(jì)、生活、醫(yī)學(xué)等領(lǐng)域,例如客戶分析、生理指標(biāo)的處理等,數(shù)據(jù)分類對(duì)各項(xiàng)工作都提供了有力的參考及有效的幫助。
筆者在互聯(lián)網(wǎng)上下載了關(guān)于個(gè)人收入的數(shù)據(jù)集,涉及的特征包括性別、年齡、國(guó)籍、婚姻狀況、工作狀況、受教育程度等。本文選取了數(shù)據(jù)集中的一部分?jǐn)?shù)據(jù),通過(guò)多個(gè)機(jī)器學(xué)習(xí)模型進(jìn)行實(shí)驗(yàn),具體采用KNN、SVM、隨機(jī)森林模型:隨后通過(guò)實(shí)驗(yàn)結(jié)果分析了各種因素對(duì)收入預(yù)測(cè)準(zhǔn)確性的影響,尋找、調(diào)整各個(gè)模型的最優(yōu)參數(shù),并比較了基于最優(yōu)參數(shù)的不同模型的實(shí)驗(yàn)結(jié)果,最終得到了一個(gè)最優(yōu)預(yù)測(cè)模型。
2KNN、SVM、隨機(jī)森林模型介紹
支持向量機(jī)模型(SVM)最初是一種處理數(shù)據(jù)二分類的方法,它是基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化和VC理論建立的。SVM模型在訓(xùn)練過(guò)程中把低維不可分的數(shù)據(jù)轉(zhuǎn)化成高維可分的數(shù)據(jù),在轉(zhuǎn)化后的高維平面中,SVM旨在找到一個(gè)超平面,讓訓(xùn)練集樣本中的數(shù)據(jù)恰好分布在超平面兩側(cè),并使得超平面兩側(cè)的數(shù)據(jù)到超平面的距離達(dá)到最大。這些特點(diǎn)使得SVM算法能夠在有限數(shù)據(jù)集中得到最優(yōu)解,同時(shí)對(duì)未知樣本也具有較好的泛化能力。在圖像、文本、時(shí)序預(yù)測(cè)等領(lǐng)域,SVM都有著廣泛的應(yīng)用。但SVM算法也有著速度慢、算法復(fù)雜、測(cè)試階段運(yùn)算量大等一系列缺點(diǎn),這是應(yīng)用SVM模型時(shí)需要重點(diǎn)考慮的因素。
K近鄰模型(KNN)是一種無(wú)需訓(xùn)練的簡(jiǎn)單預(yù)測(cè)方法[7]。KNN具有良好的移植性,可用于小范圍的數(shù)據(jù)統(tǒng)計(jì),當(dāng)參數(shù)合適時(shí),實(shí)驗(yàn)精度較高。但KNN模型的限制較多,泛化能力弱,對(duì)參數(shù)有嚴(yán)格要求,對(duì)于大范圍的數(shù)據(jù)表現(xiàn)較差,且參數(shù)的選取一般較為主觀。KNN模型的核心是距離度量的方式,它首先獲得距離目標(biāo)點(diǎn)最近的K個(gè)點(diǎn),之后根據(jù)分類決策規(guī)則,進(jìn)一步?jīng)Q定目標(biāo)點(diǎn)的類別。KNN模型有三個(gè)關(guān)鍵點(diǎn):K值的選擇、距離度量和分類規(guī)則。K值的選擇很關(guān)鍵,如果K值過(guò)小,預(yù)測(cè)誤差會(huì)偏大:相反,如果K值過(guò)大,那么近似誤差會(huì)偏大。對(duì)于距離度量來(lái)說(shuō),常用的距離是余弦距離和歐氏距離。KNN模型的分類決策規(guī)則可以是常見的簡(jiǎn)單多數(shù)規(guī)則,也就是在距離目標(biāo)點(diǎn)最近的K個(gè)點(diǎn)中,哪種類別的數(shù)據(jù)量最大,就把目標(biāo)點(diǎn)的類別歸于哪一類。
隨機(jī)森林算法是LeoBreiman于2001年提出的一種算法,Breiman把隨機(jī)子空間算法和集成學(xué)習(xí)算法相結(jié)合,得到了最終的隨機(jī)森林算法。該算法解決了決策樹過(guò)擬合的問(wèn)題,對(duì)噪聲和異常值有較強(qiáng)的容忍度,并且不需要分類的先驗(yàn)知識(shí),是一種數(shù)據(jù)驅(qū)動(dòng)的非參數(shù)分類方法。隨機(jī)森林算法把決策樹作為基本的分類器,訓(xùn)練時(shí)使用Bagging算法訓(xùn)練得到多個(gè)決策樹模型。分類時(shí)由包含的多個(gè)決策樹分別進(jìn)行類別預(yù)測(cè),再通過(guò)投票法判斷輸入數(shù)據(jù)的類別。哪種類別所獲得的投票數(shù)最多,就把輸入數(shù)據(jù)歸于哪一類。隨機(jī)森林模型的應(yīng)用效果在理論和實(shí)踐中得到了大量證明,它有著出色的泛化能力,不易造成過(guò)擬合,預(yù)測(cè)誤差較小。隨機(jī)森林在實(shí)際應(yīng)用中的良好表現(xiàn)使得它被廣泛應(yīng)用于各大領(lǐng)域,例如文本分類、經(jīng)濟(jì)問(wèn)題建模、醫(yī)學(xué)研究、生物信息分析等,并且都取得了不錯(cuò)的成果。
3實(shí)驗(yàn)分析
3.1實(shí)驗(yàn)數(shù)據(jù)和工具
筆者在UC+數(shù)據(jù)倉(cāng)庫(kù)網(wǎng)站上下載了關(guān)于個(gè)人收入預(yù)測(cè)的數(shù)據(jù)集,該數(shù)據(jù)集包含了l4個(gè)代表個(gè)人基本信息的特征,這些特征包括年齡、工作單位、性別、受教育程度、婚姻狀態(tài)、國(guó)籍等。每條數(shù)據(jù)包括一個(gè)類別標(biāo)簽,標(biāo)簽有兩種取值:l或者0,表明該公民的年收入是大于5萬(wàn)美元還是小于5萬(wàn)美元。本文下載的數(shù)據(jù)集包含訓(xùn)練集和測(cè)試集,訓(xùn)練集含有l(wèi)0000+條數(shù)據(jù),測(cè)試集含有5000+條數(shù)據(jù)。考慮到實(shí)驗(yàn)機(jī)器的配置較低,為了提高效率,本文從10000+條訓(xùn)練集中抽取了5000條數(shù)據(jù)用于實(shí)驗(yàn)。
本文使用Weka軟件進(jìn)行數(shù)據(jù)挖掘的實(shí)驗(yàn)。Weka基于Java語(yǔ)言開發(fā),是一個(gè)數(shù)據(jù)挖掘的第三方工具平臺(tái),該平臺(tái)集成了大量的機(jī)器學(xué)習(xí)模型和數(shù)據(jù)挖掘的相關(guān)算法,在機(jī)器學(xué)習(xí)領(lǐng)域被廣泛使用。本文在進(jìn)行實(shí)驗(yàn)時(shí),采用了五交叉驗(yàn)證的方法。
3.2實(shí)驗(yàn)結(jié)果
3.2.1KNN模型的實(shí)驗(yàn)結(jié)果
本文首先使用KNN模型進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)過(guò)程中首先調(diào)整KNN模型中K值的大小,設(shè)置K值分別為l、3、5、7、l0,實(shí)驗(yàn)結(jié)果表1所示。
由表l可知,當(dāng)K值從1~7逐漸變大時(shí),模型的準(zhǔn)確率逐步上升:7~l0時(shí),模型的準(zhǔn)確率開始下降:KNN模型在K值為7時(shí)有著最高的準(zhǔn)確率。因此,本文的KNN模型中參數(shù)K的最優(yōu)值是7。另外,需要說(shuō)明的是,KNN是一個(gè)較為特殊的模型,不需要訓(xùn)練過(guò)程,因此表1中模型的訓(xùn)練時(shí)間均為0s。
表2是K取值為7時(shí)KNN模型在正類和負(fù)類上的表現(xiàn),由表2可知模型在負(fù)類數(shù)據(jù)上的表現(xiàn)要優(yōu)于正類數(shù)據(jù)的表現(xiàn),無(wú)論是召回率、精確率還是F值,負(fù)類數(shù)據(jù)的預(yù)測(cè)值都要更高一些。經(jīng)過(guò)分析得知,這是由于數(shù)據(jù)分布不均衡導(dǎo)致的。在數(shù)據(jù)集中,負(fù)類數(shù)據(jù)共有3779條,大約占了整個(gè)數(shù)據(jù)集的76%,而相比之下,正類數(shù)據(jù)只有1221條,占整個(gè)數(shù)據(jù)集的24%左右。在這種正負(fù)類數(shù)據(jù)分布不均衡的情況下,模型對(duì)于數(shù)量大的數(shù)據(jù)集更加敏感,在預(yù)測(cè)時(shí)對(duì)數(shù)據(jù)較多的類別有更大的傾向性,容易將輸入數(shù)據(jù)判別為數(shù)據(jù)量更大的數(shù)據(jù)類別,正是這一原因造成了表2中正負(fù)類表現(xiàn)的差異。
3.2.2隨機(jī)森林模型的實(shí)驗(yàn)結(jié)果
本文在實(shí)驗(yàn)中使用隨機(jī)森林模型,為了找到隨機(jī)森林包含決策樹的最佳個(gè)數(shù),本文依次設(shè)置決策樹的個(gè)數(shù)為5、10、15、20、30,實(shí)驗(yàn)結(jié)果如表3所示。由表3可知,隨著決策樹個(gè)數(shù)變多,隨機(jī)森林模型的預(yù)測(cè)準(zhǔn)確率逐漸變高,訓(xùn)練時(shí)間也逐漸變長(zhǎng)。當(dāng)隨機(jī)森林含有30個(gè)決策樹時(shí),模型的預(yù)測(cè)準(zhǔn)確率最高,預(yù)測(cè)效果最好。因此,本文中的隨機(jī)森林模型,含有30個(gè)決策樹時(shí)表現(xiàn)最優(yōu)。另外,由于隨機(jī)森林模型的訓(xùn)練時(shí)間較少,決策樹個(gè)數(shù)不同時(shí),隨機(jī)森林模型的訓(xùn)練時(shí)間差別較小,因此本文忽略了訓(xùn)練時(shí)間這一因素。
表4是含有30個(gè)決策樹的隨機(jī)森林模型的實(shí)驗(yàn)結(jié)果,由表4不難看出,和KNN類似,不論是精確率、召回率還是F值,隨機(jī)森林模型在負(fù)類數(shù)據(jù)的表現(xiàn)都優(yōu)于正類數(shù)據(jù)的表現(xiàn)。這同樣是由于數(shù)據(jù)集中數(shù)據(jù)分布不均衡的原因?qū)е碌?前文已有分析,這里不再贅述。
3.2.3SVM模型的實(shí)驗(yàn)結(jié)果
本文在實(shí)驗(yàn)中使用SVM模型,為了找到SVM模型的最佳核函數(shù),本文依次對(duì)不同核函數(shù)的SVM模型進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示,表5中的a、b、c、d依次代表線性核函數(shù)、多項(xiàng)式核函數(shù)、RBF核函數(shù)和sigmoid核函數(shù)。
由表5可知,基于核函數(shù)b的SVM模型預(yù)測(cè)精確率最低,并且消耗的訓(xùn)練時(shí)間最長(zhǎng),在4個(gè)核函數(shù)中表現(xiàn)最差。對(duì)于核函數(shù)a、c、d來(lái)說(shuō),三個(gè)核函數(shù)的預(yù)測(cè)準(zhǔn)確率相差不大,但是a消耗的訓(xùn)練時(shí)間最多,出于效率的考慮,核函數(shù)a的表現(xiàn)也比較差。核函數(shù)d的準(zhǔn)確率較高,且訓(xùn)練時(shí)間遠(yuǎn)小于其他三個(gè)核函數(shù),但基于d核函數(shù)的SVM模型,在正類數(shù)據(jù)的精確率、召回率、F值都為0,因此d核函數(shù)表現(xiàn)并不正常,因此本文中SVM模型的最佳核函數(shù)是c,也就是RBF核函數(shù)。
表6是基于RBF核函數(shù)的SVM模型的詳細(xì)實(shí)驗(yàn)結(jié)果,由表6可知,SVM模型和上述KNN模型、隨機(jī)森林模型的情況類似,即負(fù)類數(shù)據(jù)的預(yù)測(cè)表現(xiàn)優(yōu)于正類數(shù)據(jù)的預(yù)測(cè)表現(xiàn)。這同樣是由于數(shù)據(jù)集數(shù)據(jù)分布不均衡導(dǎo)致的,由此也可以知道,不論何種模型,數(shù)據(jù)分布不均衡都會(huì)對(duì)實(shí)驗(yàn)結(jié)果造成相似的影響。
3.2.4三種模型的比較
表7所示為三種分類模型的對(duì)比,其中KNN模型的K值為7,隨機(jī)森林含有30個(gè)決策樹,SVM的核函數(shù)是RBF核函數(shù)。由表7可知,三種模型中,隨機(jī)森林模型有著最高的預(yù)測(cè)準(zhǔn)確率,消耗的訓(xùn)練時(shí)間也較短,因此本文中的最佳模型是隨機(jī)森林模型。
4結(jié)語(yǔ)
本文主要研究機(jī)器學(xué)習(xí)在個(gè)人收入預(yù)測(cè)方面的應(yīng)用,使用了KNN、SVM、隨機(jī)森林模型進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,三種模型中,隨機(jī)森林模型有著最好的預(yù)測(cè)效果,預(yù)測(cè)準(zhǔn)確率高于SVM、KNN模型的預(yù)測(cè)準(zhǔn)確率。另外,數(shù)據(jù)集數(shù)據(jù)分布不均衡會(huì)造成實(shí)驗(yàn)結(jié)果出現(xiàn)一定的偏差,實(shí)際實(shí)驗(yàn)中要盡量保持?jǐn)?shù)據(jù)分布的平衡。