鄭 紅,葉 成,金永紅,程云輝
1.華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海200237
2.上海師范大學(xué)商學(xué)院,上海200234
互聯(lián)網(wǎng)的高速發(fā)展摧生了互聯(lián)網(wǎng)應(yīng)用市場(chǎng)的繁榮,也使互聯(lián)網(wǎng)行業(yè)的競(jìng)爭(zhēng)愈發(fā)激烈.客戶的消費(fèi)行為是企業(yè)獲利的重要渠道,用戶群體越大,企業(yè)獲利的空間越大[1].當(dāng)用戶流失的速度低于獲取新客的速度時(shí),用戶量呈增加狀態(tài).研究表明,吸引一個(gè)新用戶的成本是維護(hù)一個(gè)老用戶成本的4 至5 倍[2],如果用戶留存率提高5%,利潤率將提高25%[3].
用戶流失現(xiàn)象可以解釋為在一段時(shí)間內(nèi)用戶從當(dāng)前平臺(tái)轉(zhuǎn)移到其他平臺(tái)的現(xiàn)象[4].大量的用戶流失,不僅會(huì)影響企業(yè)盈利,而且也會(huì)帶來一系列的負(fù)面影響,比如:損害公司估值、使企業(yè)市場(chǎng)規(guī)??s水、傷害企業(yè)信譽(yù)和影響市場(chǎng)情緒、與同行競(jìng)爭(zhēng)中處于下風(fēng)等.因此,提前預(yù)測(cè)可能的流失用戶并及時(shí)發(fā)出用戶流失預(yù)警對(duì)降低用戶流失率具有重要的現(xiàn)實(shí)意義.
流失用戶預(yù)測(cè)問題本質(zhì)上是將用戶分類成流失和留存兩種類別的問題[5].國內(nèi)外學(xué)者提出了許多方法試圖提高流失用戶預(yù)測(cè)準(zhǔn)確率,如決策樹、支持向量機(jī)(support vector machine,SVM)、聚類算法以及人工神經(jīng)網(wǎng)絡(luò)等.文獻(xiàn)[6]通過對(duì)電信行業(yè)用戶流失的研究,提出了一個(gè)基于決策樹和邏輯回歸比較的統(tǒng)計(jì)生存分析工具進(jìn)行用戶流失預(yù)測(cè).文獻(xiàn)[7]基于邏輯回歸模型,通過對(duì)電子商務(wù)客戶流失行為的研究,建立了電子商務(wù)用戶流失預(yù)測(cè)模型.文獻(xiàn)[8]利用K-means 聚類算法探究了電信行業(yè)用戶細(xì)分及其在實(shí)際營銷中的作用.文獻(xiàn)[9]提出了一種基于支持向量機(jī)的客戶關(guān)系管理規(guī)則提取方法,并在銀行信用卡客戶流失預(yù)測(cè)數(shù)據(jù)集中進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果表明所提出的方法優(yōu)于其他測(cè)試方法.文獻(xiàn)[10]通過貝葉斯網(wǎng)絡(luò)對(duì)電信行業(yè)的流失用戶進(jìn)行預(yù)測(cè)可知,用戶通話時(shí)間與用戶流失有很大關(guān)系.文獻(xiàn)[11]利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)來預(yù)測(cè)客戶流失,并在測(cè)試集中取得了較高的AUC(area under ROC curve)得分.文獻(xiàn)[12]將客戶行為看作是一種時(shí)序行為,從而利用長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)進(jìn)行用戶流失預(yù)測(cè),所得實(shí)驗(yàn)結(jié)果與隨機(jī)森林算法相當(dāng),且優(yōu)于邏輯回歸算法.
在上述流失用戶預(yù)測(cè)方法中,大多只使用了單一的分類模型,或者是不同模型之間的簡(jiǎn)單融合,而沒有進(jìn)行過多的優(yōu)化.受隨機(jī)森林自助采樣法的啟發(fā),本文提出一種基于自助采樣法的Stacking 集成算法(bootstrap sampling stacking, BS-Stacking).實(shí)驗(yàn)結(jié)果表明,該集成算法相對(duì)于簡(jiǎn)單集成方法具有更高的流失用戶預(yù)測(cè)準(zhǔn)確率.
Boosting 算法的主要思想是將弱分類器提升為強(qiáng)分類器.Adaboost 算法是Boosting 最具代表性的算法之一,它允許不斷加入新的弱分類器并要求弱分類器在性能上至少要優(yōu)于隨機(jī)猜想,直到滿足規(guī)定的訓(xùn)練誤差值為止.Adaboost 算法在開始訓(xùn)練時(shí)為每一個(gè)訓(xùn)練樣本賦予相同的權(quán)重,該權(quán)重表示被某一個(gè)分類器選中并進(jìn)入其訓(xùn)練集的概率大小.如果某一個(gè)訓(xùn)練樣本被準(zhǔn)確分類,那么它在下一輪的分類器構(gòu)造中被選中的概率就會(huì)降低;反之,如果它被錯(cuò)誤分類,那么它在下一輪的分類器構(gòu)造中被選中的概率就會(huì)變大[13-14].算法步驟如下:
步驟1訓(xùn)練數(shù)據(jù)集D={xi,yi}(i=1,···,n),初始化訓(xùn)練數(shù)據(jù)權(quán)值分布,W1(i)=1/n,i=1,2,3,···,n,訓(xùn)練k輪;
步驟2使用按權(quán)重Wk(i)采樣的數(shù)據(jù)訓(xùn)練弱分類器Ck,Ck表示第k輪訓(xùn)練得到的分類器;
步驟3計(jì)算Ck在訓(xùn)練數(shù)據(jù)集上的分類誤差Ek=P(Ck(xi yi));
步驟4計(jì)算Ck(x)的系數(shù)αk=12ln[(1?Ek)/Ek];
步驟5更新訓(xùn)練集數(shù)據(jù)的權(quán)重,即
步驟6最終的判決結(jié)果由各個(gè)分類器加權(quán)得到,即
Boosting 算法的基分類器具有訓(xùn)練順序的相關(guān)性,因此只可以串行訓(xùn)練,從而導(dǎo)致其訓(xùn)練速度較慢.
Bagging 算法即裝袋法,其典型代表為隨機(jī)森林算法.隨機(jī)森林算法通常選擇CART 決策樹作為基分類器,通過對(duì)樣本進(jìn)行自助采樣來訓(xùn)練基分類器,最終的預(yù)測(cè)結(jié)果由所有基分類器投票決定[15].隨機(jī)森林算法的流程如圖1所示.
圖1 隨機(jī)森林算法流程Figure 1 Process of random forest algorithm
在樣本層面,隨機(jī)森林算法通過自助采樣法對(duì)數(shù)據(jù)集進(jìn)行樣本子集的隨機(jī)選取,從而實(shí)現(xiàn)樣本擾動(dòng),增加基分類器的差異性;隨后對(duì)屬性進(jìn)行隨機(jī)選擇,選擇出一個(gè)包含N個(gè)屬性的集合以增加屬性擾動(dòng).這種做法減少了基分類器間的相關(guān)性,提高了算法抗噪聲能力和魯棒性.另外,隨機(jī)森林算法的基分類器訓(xùn)練順序沒有相關(guān)性,因此可以進(jìn)行并行訓(xùn)練,從而可以縮短訓(xùn)練時(shí)間.
Stacking 集成學(xué)習(xí)方法最初由Wolpert 于1992年提出[16].它與Bagging 和Boosting 集成方法不同,后兩種方法只可以集成同種分類器,而Stacking 集成可以集成異構(gòu)的分類器.假設(shè)有數(shù)據(jù)集D={xi,yi}(i=1,···,n),其中xi代表一個(gè)樣本,yi表示樣本xi的類別標(biāo)簽,則Stacking 可以用以下2 個(gè)步驟描述:
步驟1基于數(shù)據(jù)集分別訓(xùn)練基模型BM=(BM1, BM2,..., BMT);
步驟2將基模型的輸出y(i,t)(i=1,···,n;t=1,···,T)組成的新的數(shù)據(jù)集作為元分類器(meta model, MM)的輸入.
Stacking 集成通常為兩層,有時(shí)也有多層的情況,但是多層Stacking 一般較為復(fù)雜且在實(shí)際情況中較少使用.為了防止過擬合情況的發(fā)生,在訓(xùn)練基模型時(shí)還會(huì)結(jié)合交叉驗(yàn)證.圖2給出了經(jīng)典Stacking 集成的框架圖.
圖2 Stacking 集成框架Figure 2 Framework of Stacking ensemble
受隨機(jī)森林算法提升分類準(zhǔn)確率方法的啟發(fā),本文改進(jìn)了經(jīng)典Stacking 集成方法,提出了BS-Stacking 模型.對(duì)Stacking 算法中的每一個(gè)基分類器BM 進(jìn)行T次拷貝,使用自助采樣法并加入屬性擾動(dòng)得到T個(gè)數(shù)據(jù)子集,分別對(duì)基分類器的副本進(jìn)行訓(xùn)練,該基分類器的最終預(yù)測(cè)結(jié)果由該基分類器的所有副本投票決定.本文所采用的基分類器有SVM、LDA、AdaBoost、KNN、Native-Bayes,元分類器為邏輯斯蒂回歸(logistic regression,LR).基于bagging 的隨機(jī)森林算法同樣會(huì)對(duì)樣本進(jìn)行采樣,如果將隨機(jī)森林也作為一個(gè)基分類器,將會(huì)發(fā)生隨機(jī)森林的基分類器會(huì)在已采樣的樣本子集上再次采樣的情況,因此不再將隨機(jī)森林作為基分類器.
BS-Stacking 算法
輸入訓(xùn)練集數(shù)據(jù)Dn×m={(x1,y1),(x2,y2),···,(xn,yn)};
基分類器BM1, BM2,···, BMT;
次級(jí)學(xué)習(xí)算法MM;
參數(shù)如下:
MS 表示最大樣本采樣比例(maximum sample)∈(0,1];
MF 表示最大屬性采樣比例(maximum feature)∈(0,1];
S表示基分類器副本數(shù)量;
過程如下:
輸出
第1 行計(jì)算了在采樣過程中樣本子集的樣本數(shù)和屬性數(shù),當(dāng)MF 和MS 都取1 時(shí),BSStacking 退化成經(jīng)典的Stacking 算法.
第2~7 行實(shí)現(xiàn)了對(duì)樣本的隨機(jī)采樣并訓(xùn)練基分類器的副本.
第9~16 行完成了在基分類器副本的預(yù)測(cè)結(jié)果中使用投票得到該樣本的預(yù)測(cè)過程,其結(jié)果可作為元分類器的訓(xùn)練集.
第18 行是以基分類器的預(yù)測(cè)結(jié)果訓(xùn)練元分類器,并得到最終訓(xùn)練模型的過程.
BS-Stacking 對(duì)數(shù)據(jù)集做自助采樣并訓(xùn)練對(duì)應(yīng)基分類器的副本,當(dāng)數(shù)據(jù)集的樣本數(shù)和維度過小時(shí),都不利于對(duì)數(shù)據(jù)的采樣,所以BS-Stacking 更適合于數(shù)據(jù)集足夠大且數(shù)據(jù)維度夠高的情況.
本文目的是預(yù)測(cè)未來7 d(天)內(nèi)的流失用戶,這是一個(gè)二分類問題,即將當(dāng)前用戶分為留存用戶和流失用戶.用戶是否流失可以通過分析用戶行為數(shù)據(jù)來確定.流失用戶由留存用戶轉(zhuǎn)化而來,但留存用戶通常不會(huì)突然變?yōu)榱魇в脩?對(duì)于大多數(shù)用戶來說,期間一般會(huì)有一個(gè)平滑的過渡過程,這個(gè)用戶群體可以稱為具有流失傾向的用戶.這3 個(gè)用戶群體在時(shí)間軸上的活動(dòng)規(guī)律是不同的,表現(xiàn)為留存用戶有連續(xù)的活動(dòng)記錄,有流失傾向的用戶一般正處于興趣衰退階段,活動(dòng)頻率逐漸開始降低,直到不再活動(dòng)、完全流失為止.基于這個(gè)特點(diǎn),本文可以確定用戶的標(biāo)簽,具體過程如下:
設(shè)p為某一時(shí)間節(jié)點(diǎn),[1,q]區(qū)間為用戶活動(dòng)區(qū)間,[p+1,p+7]為標(biāo)簽區(qū)間.在用戶活動(dòng)區(qū)間內(nèi)注冊(cè)的用戶集合為R,在標(biāo)簽區(qū)間內(nèi)所有存在活動(dòng)記錄的用戶集合為A,則用戶類別標(biāo)簽的計(jì)算公式為
即根據(jù)某一個(gè)時(shí)間節(jié)點(diǎn)T開始至此后7 d 內(nèi)用戶有無活動(dòng)記錄來確定用戶是否為流失用戶,若在活動(dòng)區(qū)間內(nèi)注冊(cè)的用戶在標(biāo)簽區(qū)間內(nèi)有活動(dòng)記錄則該用戶為留存用戶;若無活動(dòng)記錄,則該用戶記為流失用戶.
2.2.1 數(shù)據(jù)集描述
本文選用的數(shù)據(jù)集來源于國內(nèi)某視頻APP 公司.數(shù)據(jù)為用戶行為數(shù)據(jù),由4 個(gè)日志文件構(gòu)成,其數(shù)據(jù)描述和字段信息如表1所示.
表1 實(shí)驗(yàn)所用的數(shù)據(jù)集文件Table 1 Dataset used in the experiment
數(shù)據(jù)集共包含30 d 的用戶數(shù)據(jù),不包括在開始時(shí)間節(jié)點(diǎn)之前注冊(cè)的用戶.日期按照1~30 進(jìn)行編碼,所有屬性類型均為數(shù)值型.注冊(cè)方式有手機(jī)號(hào)注冊(cè)、微信注冊(cè)、微博注冊(cè)等;注冊(cè)設(shè)備有手機(jī)、電腦、平板電腦等;活動(dòng)類型有點(diǎn)贊、評(píng)論、轉(zhuǎn)發(fā)等.
2.2.2 數(shù)據(jù)集擴(kuò)充
數(shù)據(jù)集為一個(gè)月內(nèi)所有用戶的行為數(shù)據(jù),共51 709 條.利用2.1 節(jié)中的規(guī)則判斷用戶標(biāo)簽,第24~30 d 的數(shù)據(jù)無法判斷是否流失,因此可用的數(shù)據(jù)為1~23 d,樣本數(shù)量為37 456 條.可采用類滑動(dòng)窗口的方法來增加數(shù)據(jù)量,具體過程如圖3所示.
圖3 窗口滑動(dòng)過程Figure 3 Window sliding process
下面以滑窗1 為例說明類別標(biāo)簽判定過程.設(shè)置滑窗1 的窗寬為7,區(qū)間為1~7 d,標(biāo)簽區(qū)間為8~14 d.在滑窗區(qū)間內(nèi)注冊(cè)的用戶如果在標(biāo)簽區(qū)間內(nèi)有活動(dòng)記錄,則該用記為活躍用戶;每一個(gè)滑窗都是一個(gè)單獨(dú)的特征構(gòu)造過程,互不影響.滑窗4 的區(qū)間為1~23 d,標(biāo)簽區(qū)間為23~30 d.經(jīng)過滑窗處理后,總的數(shù)據(jù)集數(shù)據(jù)量為4 個(gè)滑窗的數(shù)據(jù)量之和,相比于滑窗處理前,數(shù)據(jù)量增加至94 059 條.
初始窗寬和滑動(dòng)步長可以有多種選擇,但是滑動(dòng)步長不宜太大或太?。禾髸?huì)導(dǎo)致滑動(dòng)次數(shù)減少,數(shù)據(jù)量得不到有效擴(kuò)充;滑動(dòng)步長太小會(huì)導(dǎo)致滑動(dòng)過密,數(shù)據(jù)之間的區(qū)分度變小,影響最后的預(yù)測(cè)準(zhǔn)確率.
2.2.3 特征提取
特征提取階段的主要原則是所提取的特征要有實(shí)際含義.特征提取的主要方式有以下3 點(diǎn):
1)用戶活動(dòng)時(shí)間間隔,包括應(yīng)用啟動(dòng)時(shí)間間隔、互動(dòng)時(shí)間間隔、視頻上傳時(shí)間間隔等;
2)用戶最后一次活動(dòng)(應(yīng)用啟動(dòng)、視頻上傳、互動(dòng)點(diǎn)贊、轉(zhuǎn)發(fā)等)與當(dāng)前時(shí)間節(jié)點(diǎn)的差值;
3)用戶的注冊(cè)時(shí)間是否在周末.
從直觀上來說,用戶的活動(dòng)間隔是描述用戶活躍程度的最好特征,活動(dòng)間隔越大表示用戶越不活躍,流失的可能性越大;相反,用戶的活動(dòng)間隔越小則表示用戶活動(dòng)頻繁,流失可能性較小.考慮到用戶的活動(dòng)具有一定黏性,所以用戶最后一次活動(dòng)時(shí)間與當(dāng)前時(shí)間的差值可以用來描述用戶活動(dòng)的黏性,差值越大說明黏性越小,用戶再次活動(dòng)的可能性也越小;反之,則很有可能會(huì)再次活動(dòng).經(jīng)過對(duì)數(shù)據(jù)的統(tǒng)計(jì)發(fā)現(xiàn),在周末注冊(cè)的用戶比在工作日注冊(cè)的用戶平均每天少活動(dòng)34.9 次,可見用戶的注冊(cè)時(shí)間與用戶的活躍程度有一定的相關(guān)性.
特征選擇的主要目的是過濾冗余特征、構(gòu)造效率更高且消耗更低的預(yù)測(cè)模型[10].本文采用方差過濾的方式進(jìn)行特征選擇,提前過濾方差較小的特征.方差對(duì)于特征的取值范圍比較敏感,因此在進(jìn)行特征選擇之前需要對(duì)數(shù)據(jù)進(jìn)行歸一化,將數(shù)據(jù)統(tǒng)一映射到[0,1]區(qū)間上.數(shù)據(jù)歸一化x?和方差s2的計(jì)算公式分別為
式中,M為樣本平均數(shù),n為樣本數(shù)量.
本文旨在用戶群體中準(zhǔn)確識(shí)別有流失傾向的用戶,預(yù)測(cè)用戶是流失用戶還是留存用戶是一個(gè)典型的二分類問題.二分類問題的混淆矩陣如表2所示.
表2 分類結(jié)果混淆矩陣Table 2 Confusion matrix of classification results
實(shí)驗(yàn)中,模型結(jié)果采用準(zhǔn)確率、查準(zhǔn)率、查全率和流失用戶的F1 值作為評(píng)價(jià)指標(biāo).準(zhǔn)確率是模型預(yù)測(cè)正確的樣本數(shù)量與所有樣本數(shù)量的比值;在流失預(yù)測(cè)模型中,與留存用戶相比,本文更加關(guān)注流失用戶,因此查全率是一個(gè)重要的指標(biāo).但是如果只關(guān)注查全率而不關(guān)注查準(zhǔn)率有可能會(huì)使模型的結(jié)果變得虛高.一般來說,查準(zhǔn)率和查全率是一對(duì)相互矛盾的量,若一個(gè)升高,則另一個(gè)就會(huì)下降.F1 值是P和R的調(diào)和平均值[17],可以更全面地評(píng)價(jià)模型的效果.
準(zhǔn)確率A定義為
查全率(召回率)R定義為
查準(zhǔn)率(精確率)P定義為
F1 值定義為
本次實(shí)驗(yàn)使用的數(shù)據(jù)是用戶一個(gè)月的行為數(shù)據(jù).特征構(gòu)造后共產(chǎn)生174 維特征,樣本數(shù)量為94 059 條.采用過濾式的低方差篩選方式進(jìn)行特征選擇,方差閾值設(shè)置為0.001,低于閾值的特征將被刪除.特征選擇后數(shù)據(jù)降為104 維.同時(shí),將數(shù)據(jù)集按2∶1 的比例隨機(jī)切分為訓(xùn)練集和驗(yàn)證集,用來驗(yàn)證模型的分類效果.
合適的參數(shù)值選擇會(huì)使得模型具有更高的分類準(zhǔn)確率.BS-Stacking 有3 個(gè)超參數(shù),分別為最大樣本采樣比例MS、最大特征采樣比例MF 以及基分類器副本數(shù)量S.調(diào)參方法采用GridSearchCV(網(wǎng)格調(diào)參法),交叉驗(yàn)證為5 折.網(wǎng)格調(diào)參會(huì)重復(fù)構(gòu)建模型,以確定合適的模型參數(shù).因此,當(dāng)參數(shù)候選值過多或數(shù)據(jù)量大時(shí),網(wǎng)格調(diào)參往往效率不高.在BS-Stacking 模型中,MS 和MF 有固定的取值范圍(0,1],而基分類器副本數(shù)量S的取值范圍較大,3 個(gè)參數(shù)同時(shí)用網(wǎng)格調(diào)參會(huì)使得調(diào)參過程非常緩慢.為了避免這種情況,將調(diào)參過程分為兩步:
步驟1固定S的值,找到使BS-Stacking 具有最高分類準(zhǔn)確率時(shí)的MF 和MS 的取值;
步驟2固定MF 和MS 的值,比較S取不同值時(shí)模型的分類準(zhǔn)確率.S取分類正確率最高時(shí)的值.
這種方法的優(yōu)點(diǎn)是可以加快參數(shù)搜索過程,快速得到合適參數(shù)值;缺點(diǎn)是找到的參數(shù)組合是局部最優(yōu)組合,而不是全局最優(yōu)組合.
在步驟1 中,將S的初始值設(shè)置為21(奇數(shù)是為了防止在投票過程中出現(xiàn)流失與非流失票數(shù)相同的情況).MS 和MF 的取值范圍均為0.1~0.9,每次增加0.1.此時(shí)的模型最優(yōu)參數(shù)如下:MS 取值為0.1,MF取值為0.3,S取值為21.
在步驟2 中,固定MS 和MF,S取值范圍定為3~60,每次增加2 個(gè)分類器副本,使用網(wǎng)格搜索尋找最佳S的值.當(dāng)給定最大樣本和最大特征取樣比例時(shí),模型正確率隨基分類器副本數(shù)量變化的折線圖如圖4所示.前期副本數(shù)量較少時(shí)模型的正確率不高,隨著副本數(shù)量的增加,模型的正確率也隨之增加;當(dāng)副本數(shù)達(dá)到27 時(shí),模型的分類正確率達(dá)到最高;隨后副本數(shù)量增加,基分類器對(duì)數(shù)據(jù)的采樣逐漸接近于樣本全集,模型的正確率趨于平衡.
經(jīng)過網(wǎng)格調(diào)參后,BS-Stacking 在預(yù)測(cè)流失用戶中最優(yōu)的超參數(shù)如下:MS 取值為0.1,MF 取值為0.3,S取值為27,準(zhǔn)確率為0.812.
圖4 基分類器副本數(shù)量與分類正確率的變化Figure 4 Trend of classification accuracy with number of base classifier’s copies
集成學(xué)習(xí)的目的是通過一定的策略集合各個(gè)分類器的優(yōu)勢(shì),達(dá)到博采眾長、提高分類效率的目的,因此集成后的分類效果應(yīng)好于單個(gè)基分類器的分類效果,否則就是沒有意義的集成.本節(jié)將比較BS-Stacking、經(jīng)典Stacking 以及所有基分類器、決策樹、隨機(jī)森林、聚類方法、神經(jīng)網(wǎng)絡(luò)在驗(yàn)證集上的表現(xiàn),比較指標(biāo)為2.4 節(jié)中的準(zhǔn)確率、查準(zhǔn)率、查全率和流失用戶的F1值.
表3給出了各個(gè)分類模型的得分.其中經(jīng)典Stacking 集成方法在測(cè)試集中的得分比其最好的基分類器在F1度量上差0.3%,可見集成后分類效果沒有提升,造成這種情況的一種可能是:基分類在訓(xùn)練集中對(duì)某些相同的樣本均分類錯(cuò)誤,使元分類器在錯(cuò)誤的數(shù)據(jù)中訓(xùn)練,從而導(dǎo)致最后樣本的分類錯(cuò)誤.實(shí)驗(yàn)結(jié)果表明,BS-Stacking 具有較高的分類準(zhǔn)確率及流失用戶的F1值得分.在基分類器中,Logistic Regression、SVC 和AdaBoost 具有相近的得分,其中得分最高的為Logistic Regression.BS-Stacking 與Logistic Regression 相比,F(xiàn)1值提高0.8%,準(zhǔn)確率提高0.2%;與經(jīng)典Stacking 相比,F(xiàn)1值提高1.1%,準(zhǔn)確率提高0.4%;與LSTM 相比,F(xiàn)1值提高0.5%,準(zhǔn)確率提高0.4%.BS-Stacking 具有最高的準(zhǔn)確率、查準(zhǔn)率和F1值,具有最高召回率的是Native Bayes 模型和K-Means 模型,但是這兩個(gè)模型的查準(zhǔn)率遠(yuǎn)低于其他模型.
表3 分類結(jié)果比較Table 3 Comparison of classification results
本文針對(duì)互聯(lián)網(wǎng)行業(yè)的用戶流失預(yù)測(cè)問題,提出了一種基于自助采法的Stacking 集成學(xué)習(xí)方法(BS-Stacking).在數(shù)據(jù)預(yù)處理方面,首先利用類滑窗的方式進(jìn)行數(shù)據(jù)的擴(kuò)充,每次滑動(dòng)都從3 個(gè)方面對(duì)用戶的行為數(shù)據(jù)進(jìn)行特征提取,刪除方差較小的特征項(xiàng)之后將其他特征作為模型的輸入數(shù)據(jù).在模型方面,對(duì)數(shù)據(jù)集進(jìn)行多次的自助采樣并加入屬性擾動(dòng)得到多個(gè)數(shù)據(jù)集的子集,使用得到的樣本子集訓(xùn)練基分類器的副本,基分類器的最終分類結(jié)果由所有的基分類器的副本投票決定.最后將該方法與其他機(jī)器學(xué)習(xí)算法進(jìn)行比較.
實(shí)驗(yàn)結(jié)果表明BS-Stacking 的流失用戶預(yù)測(cè)能力優(yōu)于其他模型,同時(shí)也說明針對(duì)流失用戶的特征提取方法是有效的,從而為企業(yè)提前預(yù)測(cè)流失用戶、制定用戶留存策略、挽回用戶流失提供了新的思路.