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





