趙瑋
(北京聯(lián)合大學(xué) 應(yīng)用科技學(xué)院, 北京 100101)
采用機(jī)器學(xué)習(xí)的聚類模型特征選擇方法比較
趙瑋
(北京聯(lián)合大學(xué) 應(yīng)用科技學(xué)院, 北京 100101)
針對(duì)機(jī)器學(xué)習(xí)聚類模型在特征選擇時(shí)存在的問(wèn)題,首先,對(duì)特征選擇在聚類模型中的適用性進(jìn)行分析并對(duì)其進(jìn)行調(diào)整和改進(jìn).然后,基于R語(yǔ)言中的遞歸特征消除(RFE)特征選擇方法和Boruta特征選擇方法進(jìn)行特征選擇算法設(shè)計(jì).最后,應(yīng)用聚類內(nèi)部有效性指標(biāo),對(duì)在線品牌忠誠(chéng)度聚類模型優(yōu)化結(jié)果進(jìn)行分析,進(jìn)而對(duì)特征選擇方法進(jìn)行比較研究.結(jié)果表明:Boruta特征選擇方法更具優(yōu)勢(shì). 關(guān)鍵詞: 特征選擇; 聚類模型; 機(jī)器學(xué)習(xí); 遞歸特征消除算法; Boruta方法
特征選擇對(duì)基于機(jī)器學(xué)習(xí)的模型構(gòu)建和優(yōu)化有著重要意義.優(yōu)質(zhì)特征的選擇和構(gòu)建可以選擇有限合理的特征,剔除不相關(guān)的特征,讓模型得到數(shù)據(jù)集中良好的結(jié)構(gòu),使模型運(yùn)算速度更快,模型結(jié)果更易理解,模型更易維護(hù).因此,使模型發(fā)揮優(yōu)良效果,需要通過(guò)特征選擇的方法對(duì)模型進(jìn)行優(yōu)化.然而,基于機(jī)器學(xué)習(xí)的聚類模型進(jìn)行特征選擇存在以下2個(gè)問(wèn)題.1) 特征選擇方法通常是針對(duì)機(jī)器學(xué)習(xí)中的監(jiān)督學(xué)習(xí)模型,需要具備目標(biāo)特征變量,而聚類模型屬于無(wú)監(jiān)督學(xué)習(xí)[1-2],沒(méi)有目標(biāo)特征變量.2) R語(yǔ)言作為機(jī)器學(xué)習(xí)比較好的實(shí)踐環(huán)境,提供了相應(yīng)的特征選擇包,但需要做比較分析.本文對(duì)特征選擇在聚類模型中的適用性進(jìn)行分析,應(yīng)用R語(yǔ)言進(jìn)行特征選擇算法設(shè)計(jì).
1.1 特征選擇適用性分析
特征選擇要考慮聚類模型的適用性問(wèn)題.聚類屬于無(wú)監(jiān)督學(xué)習(xí)[3],只有聚類特征變量,沒(méi)有目標(biāo)特征變量.因此,從在線消費(fèi)數(shù)據(jù)集[4]中,以各品牌作為目標(biāo)特征變量,研究聚類特征變量集對(duì)目標(biāo)特征變量的影響,并根據(jù)影響程度的大小,決定選擇哪些特征作為衡量品牌忠誠(chéng)度的聚類特征.
1.2 R語(yǔ)言特征選擇方法分析
以R語(yǔ)言作為機(jī)器學(xué)習(xí)特征選擇和模型優(yōu)化的實(shí)踐環(huán)境.該環(huán)境中遞歸特征消除(RFE)特征選擇方法[5]和Boruta特征選擇方法具備特征選擇基本方法的功能.再結(jié)合啟發(fā)式搜索中的序列后向選擇對(duì)特征進(jìn)行選擇,即從特征全集開(kāi)始,每次減少一個(gè)特征用于模型構(gòu)建,從而選擇最優(yōu).
2.1 基于 RFE特征選擇方法的算法設(shè)計(jì)
算法以聚類特征變量集和目標(biāo)特征變量作為算法輸入?yún)?shù),具體實(shí)現(xiàn)的功能是評(píng)價(jià)變量的重要性和模型的精確性.算法核心程序如下所示.
f_select_feature_accuracy<-function(x_set,y_set)
{x_scale_filter <<- sbf(x_set,y_set,sbfControl=sbfControl(functions=rfSBF,verbose=F,method=‘cv’))
x_set<-x_set[x_scale_filter$optVariables]
x_scale_profile <<-rfe(x_set,y_set,sizes =c(1,2,3,4,5,6,7,8,9,10,11,12),rfeControl=rfeControl(functions=rfFuncs,method=‘cv’))
plot(x_scale_profile,type=c(‘o’,‘g’))}
由算法程序可知:算法核心是針對(duì)聚類特征變量集x和目標(biāo)特征變量y實(shí)施過(guò)濾方法,并在此基礎(chǔ)上確定變量對(duì)模型精確性的影響程度.其中,RFE方法應(yīng)用rfe( )函數(shù)執(zhí)行特征選擇,其程序要點(diǎn)如下:rfe(x,y,sizes=1:MAX,rfeControl=control).
特征選擇就是根據(jù)聚類特征變量集x對(duì)目標(biāo)特征y的影響程度進(jìn)行評(píng)價(jià),從而對(duì)x中的特征重要性進(jìn)行排序.其中,Size是特征個(gè)數(shù);rfeControl用來(lái)指定特征選擇算法的細(xì)節(jié).
2.2 基于Boruta特征選擇方法的算法設(shè)計(jì)
根據(jù)特征選擇原理和思路,算法包括兩個(gè)子算法,具體實(shí)現(xiàn)的功能主要是:對(duì)于子算法f_select_feature_Boruta,基于隨機(jī)森林方法思想,通過(guò)循環(huán)迭代的方式對(duì)各特征的重要性進(jìn)行評(píng)價(jià),并對(duì)結(jié)果進(jìn)行可視化呈現(xiàn).對(duì)于子算法f_select_feature_Boruta_final,將特征重要性未被確定的暫定項(xiàng)進(jìn)行最終判別.算法核心程序如下所示.
f_select_feature_Boruta<-function(x_set,y_set,mr,pv=0.01,mc=TRUE,do=2,hh=TRUE,gi=getImpRfZ)
{…boruta_total_scale<<-Boruta(x_set,y_set,maxRuns=mr,pValue=pv,mcAdj=mc,doTrace=do,holdHistory=hh,getImp=gi)…
plot(boruta_total_scale,xlab = “ ”,xaxt = “n”,main=“Boruta算法特征重要性”)…}
f_select_feature_Boruta_final<-function(boruat_result)
{…final_boruta_total_scale<-TentativeRoughFix(boruat_result) …
plot(final_boruta_total_scale,xlab = “ ”,xaxt = “n”,main=“Boruta算法特征重要性確認(rèn)”)…
getSelectedAttributes(final_boruta_total_scale,withTentative = F)
result_df_boruta_total_scale <-attStats(final_boruta_total_scale) …}
由算法程序可知:算法核心是對(duì)于子算法f_select_feature_Boruta來(lái)說(shuō),主要通過(guò)Boruta()對(duì)各特征的重要性進(jìn)行評(píng)價(jià);對(duì)于子算法f_select_feature_Boruta_final來(lái)說(shuō),主要通過(guò)TentativeRoughFix( )方法對(duì)特征重要性進(jìn)行最終判別.其中,Boruta方法應(yīng)用Boruta( )函數(shù)執(zhí)行特征選擇,即Boruta(x,y,pValue=0.01,mcAdj=TRUE,maxRuns=100,doTrace=0,holdHistory=TRUE,getImp=getImpRfZ,…).特征選擇就是根據(jù)評(píng)價(jià)特征集合x(chóng)對(duì)目標(biāo)特征y的影響程度進(jìn)行評(píng)價(jià),x中的特征對(duì)y的影響越顯著,則x中的這個(gè)特征越重要.
3.1 實(shí)驗(yàn)數(shù)據(jù)
以在線消費(fèi)者特征集作為聚類特征變量集x,通過(guò)特征選擇方法選擇出有效特征,實(shí)現(xiàn)在線品牌忠誠(chéng)度的度量.其中,聚類特征變量集包含x_sum_count,sum_count,c_rate,x_sum_price,sum_price,p_rate,x_avg_score,x_sum_score,max_commentdate,max_buydate,max_usrtypenum,max_usrlocnum.目標(biāo)特征變量y為L(zhǎng)4(各品牌名稱).
用以上數(shù)據(jù)進(jìn)行特征選擇和模型優(yōu)化后,應(yīng)用內(nèi)部有效性指標(biāo)針對(duì)模型優(yōu)化結(jié)果對(duì)特征選擇效果進(jìn)行檢驗(yàn)和分析.內(nèi)部有效性指標(biāo)包括SSE,SSB,IntraDPS和InterDPS[6-7].衡量的含義是SSE越小,SSB越大,IntraDPS越小和InterDPS越大,模型有效性越好,特征選擇的效果也越好[8-10].未進(jìn)行特征選擇的初始模型內(nèi)部有效性指標(biāo)SSE,SSB,IntraDPS,InterDPS分別為225 429.700 0,101 762.300 0,0.689 0,0.311 0.
3.2 應(yīng)用RFE特征選擇算法的實(shí)驗(yàn)分析
應(yīng)用RFE特征選擇算法之前,將聚類特征變量集x和目標(biāo)特征變量y作為參數(shù),執(zhí)行函數(shù)sbf,實(shí)施過(guò)濾方法.其結(jié)果作為rfe函數(shù)的參數(shù),實(shí)施封裝方法,實(shí)現(xiàn)變量重要性的評(píng)價(jià)及對(duì)模型精確性的判斷,其結(jié)果如圖1所示.由圖1可知:通過(guò)遞歸特征消除算法,在數(shù)據(jù)集的9個(gè)特征中選取4個(gè)特征作為重要特征,分別是x_sum_price,sum_price,max_buydate,x_sum_count.當(dāng)重要特征數(shù)量達(dá)到4個(gè)時(shí),模型的精確性最高,如圖2所示.
圖1 模型精確性結(jié)果 圖2 模型精確性可視化結(jié)果 Fig.1 Model accuracy result Fig.2 Model accuracy visualized result
基于4個(gè)重要特征的模型優(yōu)化的結(jié)果,需要結(jié)合初始模型和RFE特征選擇優(yōu)化模型內(nèi)部有效性檢驗(yàn)的結(jié)果,進(jìn)行比較分析,如表1所示.由表1可知:在4個(gè)指標(biāo)中,RFE特征選擇優(yōu)化模型在SSE,InterDPS,InterDPS這3個(gè)指標(biāo)上優(yōu)于初始模型,表明經(jīng)過(guò)RFE特征選擇的模型,其有效性得到提升.
表1 初始模型和RFE特征選擇優(yōu)化模型內(nèi)部有效性指標(biāo)Tab.1 Internal validity index of initial model and RFE feature selection optimization model
3.3 應(yīng)用Boruta特征選擇算法的實(shí)驗(yàn)分析
將聚類特征變量集x、目標(biāo)特征變量y和Boruta方法參數(shù)要素作為參數(shù),執(zhí)行函數(shù)f_select_feature_Boruta,沒(méi)有特征被確定為重要特征和非重要特征,12個(gè)特征均被確定為暫定項(xiàng).
由于存在暫定項(xiàng),需要以f_select_feature_Boruta算法的執(zhí)行結(jié)果集作為參數(shù),執(zhí)行f_select_feature_Boruta_final算法中的TentativeRoughFix函數(shù)以判別暫定項(xiàng)的重要性.經(jīng)過(guò)進(jìn)一步的判定,12個(gè)暫定項(xiàng)最終被歸為重要特征.對(duì)于特征重要性確認(rèn)結(jié)果,還可以通過(guò)getSelectedAttributes和attStats函數(shù)確認(rèn)特征列表和創(chuàng)建一個(gè)數(shù)據(jù)框架進(jìn)行描述.
對(duì)數(shù)據(jù)框架信息中的各項(xiàng)重要性指標(biāo)進(jìn)行分析.按照medianImp指標(biāo),可得指標(biāo)結(jié)果及特征重要性的排序:38.404 31(x_sum_count)>26.929 42(sum_count)>26.783 07(x_avg_score)>25.623 44(c_rate)>25.094 46(x_sum_price)>24.051 46(x_sum_score)>23.583 09(p_rate)>19.840 42(sum_price)>15.650 59(max_buydate)>14.739 77(max_commentdate)>12.200 94(max_usrlocnum)>11.395 70(max_usrtypenum).
根據(jù)Boruta特征選擇算法的特征重要性排序結(jié)果,結(jié)合序列后向選擇,從聚類特征變量集的全集開(kāi)始,每次減少一個(gè)進(jìn)行模型構(gòu)建.針對(duì)這些聚類特征變量集依次進(jìn)行模型構(gòu)建,分別命名為Boruta優(yōu)化模型1~10,并從這些模型中選取最優(yōu).應(yīng)用內(nèi)部有效性檢驗(yàn)指標(biāo)分別對(duì)Boruta優(yōu)化模型1~10進(jìn)行檢驗(yàn).由檢驗(yàn)結(jié)果可知:Boruta優(yōu)化模型10各項(xiàng)指標(biāo)明顯優(yōu)于初始模型及Boruta優(yōu)化模型1~9.
3.4 RFE和Boruta特征選擇方法的比較
RFE方法屬于最小優(yōu)化方法,依賴于特征的子集,其優(yōu)勢(shì)是最大限度地減少了隨機(jī)森林模型的誤差,而劣勢(shì)是會(huì)丟失一些相關(guān)的特征.Boruta方法依賴全體特征,其特點(diǎn)是找到所有的特征,無(wú)論其與決策變量的相關(guān)性強(qiáng)弱與否.與傳統(tǒng)的RFE特征選擇算法相比,Boruta方法的優(yōu)勢(shì)是能夠返回變量重要性的更好結(jié)果,解釋性更強(qiáng).因此,從方法上看,Boruta方法的特征選擇更加有效.應(yīng)用RFE和Boruta特征選擇方法進(jìn)行模型優(yōu)化的內(nèi)部有效性評(píng)價(jià)指標(biāo),如表2所示.由表2可知:采用Boruta方法選擇的特征用于模型優(yōu)化時(shí),模型的聚類效果和有效性最好.
表2 RFE和Boruta特征選擇方法進(jìn)行模型優(yōu)化的內(nèi)部有效性評(píng)價(jià)指標(biāo)Tab.2 Internal validity index of RFE and Boruta feature selection optimization model
解決了聚類模型特征選擇存在的問(wèn)題,設(shè)計(jì)了基于R語(yǔ)言中的RFE特征選擇方法和Boruta特征選擇方法實(shí)現(xiàn)特征選擇的算法.在此基礎(chǔ)上,應(yīng)用聚類內(nèi)部有效性指標(biāo),對(duì)在線品牌忠誠(chéng)度聚類模型優(yōu)化結(jié)果進(jìn)行分析,并對(duì)RFE特征選擇方法和Boruta特征選擇方法進(jìn)行比較.由此可知:Boruta特征選擇方法對(duì)在線品牌忠誠(chéng)度聚類模型優(yōu)化更加適用和有效.
[1] 錢彥江.大規(guī)模數(shù)據(jù)聚類技術(shù)研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009:4-5.
[2] 汪永旗,王惠嬌.旅游大數(shù)據(jù)的MapReduce客戶細(xì)分應(yīng)用[J].華僑大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,36(3):292-296.
[3] 方匡南.基于數(shù)據(jù)挖掘的分類和聚類算法研究及R語(yǔ)言實(shí)現(xiàn)[D].廣州:暨南大學(xué),2007:78-84.
[4] 劉蓉,陳曉紅.基于數(shù)據(jù)挖掘的移動(dòng)通信客戶消費(fèi)行為分析[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(2):60-62.
[5] 盧運(yùn)梅.SVM-RFE算法在數(shù)據(jù)分析中的應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2009:16-28.
[6] 王曰芬,章成志,張蓓蓓,等.數(shù)據(jù)清洗研究綜述[J].情報(bào)分析與研究,2007(12):50-56.
[7] 周開(kāi)樂(lè),楊善林,丁帥,等.聚類有效性研究綜述[J].系統(tǒng)工程理論與實(shí)踐,2014,34(9):2417-2431.
[8] 胡勇.聚類分析結(jié)果評(píng)價(jià)方法研究[D].包頭:內(nèi)蒙古科技大學(xué),2014:62-63.
[9] KANUNGO T,MOUNT D M.A local search approximation algorithm fork-means clustering[J].Computational Geometry,2004,28(2/3):89-112.
[10] ELKAN C.Using the triangle inequality to acceleratek-means[C]∥Proceedings of the Twentieth International Conference on Machine Learning.Menlo Park:AAAI Press,2003:147-153.
(責(zé)任編輯: 錢筠 英文審校: 吳逢鐵)
Comparison of Feature Selection Method of Clustering Model Using Machine Learning
ZHAO Wei
(College of Applied Science and Technology, Beijing Union University, Beijing 100101, China)
Targeting at problems during the feature selection process of machine learning clustering model, at first, it makes analysis on the applicability of the feature selection for clustering model and makes adjustment and improvement. Then makes feature selection algorithm design based on R language recursive feature elimination (RFE) feature selection method and Boruta feature selection method. At last, applying cluster interior validity indexes to analyze the optimization result of online brand loyalty clustering model, a further comparative study is made on the feature selection method. The results show that the Boruta feature selection method has more advantages. Keywords: feature selection; clustering model; machine learning; recursive feature elimination algorithm; Boruta method
10.11830/ISSN.1000-5013.201701020
2016-11-25
趙瑋(1981-),女,講師,博士,主要從事數(shù)據(jù)挖掘與數(shù)據(jù)分析、電子商務(wù)的研究.E-mail:yykjtzhaowei@buu.edu.cn.
北京市教委科研計(jì)劃項(xiàng)目(KM201511417010)
TP 181
A
1000-5013(2017)01-0105-04