国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

改進(jìn)EasyEnsemble的軟投票策略下的用戶(hù)購(gòu)買(mǎi)預(yù)測(cè)方法

2022-07-29 06:22:34進(jìn),張
關(guān)鍵詞:特征選擇分類(lèi)器樣本

楊 進(jìn),張 晨

(上海理工大學(xué)理學(xué)院,上海 200093)

0 引 言

用戶(hù)的購(gòu)買(mǎi)行為預(yù)測(cè)一直是零售行業(yè)的重要課題[1-3],伴隨著大數(shù)據(jù)時(shí)代的到來(lái),人們生活、行為和思考方式發(fā)生了變化,同時(shí)也提供了大量的數(shù)據(jù)用于挖掘分析。網(wǎng)民們?cè)陔娚唐脚_(tái)上購(gòu)買(mǎi)商品,往往伴隨著瀏覽、加購(gòu)物車(chē)和收藏的行為,因此電子商務(wù)平臺(tái)儲(chǔ)存了大量的用戶(hù)購(gòu)物歷史數(shù)據(jù),分析這些數(shù)據(jù)可以更好地預(yù)測(cè)他們的購(gòu)物習(xí)慣、偏好和意圖。本文主要研究消費(fèi)者網(wǎng)上購(gòu)買(mǎi)行為的預(yù)測(cè),進(jìn)而網(wǎng)站能夠根據(jù)用戶(hù)的喜好推薦用戶(hù)感興趣的產(chǎn)品,從而改善用戶(hù)體驗(yàn),改善網(wǎng)上購(gòu)物環(huán)境。

對(duì)于該問(wèn)題國(guó)內(nèi)方面,李旭陽(yáng)等人[4]提出了長(zhǎng)短期記憶模型循環(huán)神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)[5]和隨機(jī)森林相結(jié)合的預(yù)測(cè)模型,他們從原始數(shù)據(jù)中分別提取靜態(tài)特征和動(dòng)態(tài)特征。靜態(tài)特征指用戶(hù)和商品本身的屬性特征。動(dòng)態(tài)特征指用戶(hù)對(duì)商品發(fā)生交互行為產(chǎn)生的特征。對(duì)這些特征通過(guò)LSTM進(jìn)行特征選擇,再用隨機(jī)森林算法做預(yù)測(cè)。劉瀟蔓[6]先是從原始數(shù)據(jù)中分別提取用戶(hù)特征、商品特征和用戶(hù)-商品特征,再通過(guò)“滑動(dòng)時(shí)間窗”[7]的方法對(duì)歷史數(shù)據(jù)反復(fù)使用使得正負(fù)樣本得以均衡,而后用極端隨機(jī)樹(shù)(Extra-tree)的方法提取特征,最后將邏輯斯特回歸[8]和支持向量機(jī)用軟投票(Softvoting)方法相結(jié)合后進(jìn)行預(yù)測(cè)。周成驥[9]也是通過(guò)滑動(dòng)時(shí)間窗的方法來(lái)提取新數(shù)據(jù),在生成新的特征后,通過(guò)求各個(gè)特征的皮爾遜相關(guān)系數(shù)[10]進(jìn)行特征選擇,再通過(guò)裝袋算法(Bootstrap aggregating, Bagging)把多個(gè)極限梯度提升算法(Extreme Gradient Boosting, XGBoost)的預(yù)測(cè)結(jié)果結(jié)合后進(jìn)行預(yù)測(cè)。胡曉麗等人[11]使用“分段下采樣”的方法來(lái)平衡樣本數(shù)據(jù),在特征工程生成衍生特征后用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)[12]進(jìn)行特征選擇,通過(guò)算法LSTM進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明,基于CNN-LSTM的預(yù)測(cè)模型F1值相比基準(zhǔn)模型得到了提高。杜世民[13]主要研究電商的復(fù)購(gòu)行為,詳細(xì)分析了用戶(hù)的購(gòu)買(mǎi)行為習(xí)慣,分別從用戶(hù)和商品2個(gè)方面構(gòu)建關(guān)聯(lián)特征,最后用軟投票策略將多算法融合后進(jìn)行預(yù)測(cè)。

國(guó)外方面,Tian等人[14]提供了一種新模型解決Pareto/NBD模型的缺陷,只需要購(gòu)買(mǎi)行為的頻率和時(shí)間就可以預(yù)測(cè)電子商務(wù)中消費(fèi)者的復(fù)購(gòu)行為。Zuo等人[15]通過(guò)收集消費(fèi)者在超市產(chǎn)生的射頻識(shí)別(RFID)數(shù)據(jù),用支持向量機(jī)(Support Vector Machines, SVM)模型去預(yù)測(cè)消費(fèi)者的購(gòu)買(mǎi)行為[16]。Chang等人[17]通過(guò)聚類(lèi)分析收集忠誠(chéng)顧客的關(guān)鍵特征來(lái)定位潛在客戶(hù),通過(guò)關(guān)聯(lián)分析收集忠誠(chéng)客戶(hù)的購(gòu)買(mǎi)信息來(lái)預(yù)測(cè)潛在客戶(hù)對(duì)產(chǎn)品的近期興趣。Cho等人[18]提出了一種基于最近一次消費(fèi)、消費(fèi)頻率和消費(fèi)金額的增量加權(quán)挖掘方法來(lái)進(jìn)行用戶(hù)購(gòu)買(mǎi)行為預(yù)測(cè),并驗(yàn)證了該算法的有效性。Gupta等人[19]對(duì)在線(xiàn)客戶(hù)靈活定價(jià),幫助客戶(hù)尋找一個(gè)合適的價(jià)格去購(gòu)買(mǎi),并通過(guò)機(jī)器學(xué)習(xí)的方法來(lái)預(yù)測(cè)不同價(jià)格下的客戶(hù)購(gòu)買(mǎi)決策。

實(shí)際情況中,由于購(gòu)買(mǎi)的數(shù)量遠(yuǎn)遠(yuǎn)小于未購(gòu)買(mǎi)的數(shù)量,造成了樣本的不均衡。對(duì)于該問(wèn)題,本文采用簡(jiǎn)單欠采樣方法和改進(jìn)的EasyEnsemble[20]采樣方法。簡(jiǎn)單欠采樣以發(fā)生購(gòu)買(mǎi)行為和未發(fā)生購(gòu)買(mǎi)行為按比例為1∶1進(jìn)行采樣,改進(jìn)的EasyEnsemble采樣方法按發(fā)生購(gòu)買(mǎi)行為和未發(fā)生購(gòu)買(mǎi)行為的采樣比這種接近原始的數(shù)據(jù)進(jìn)行采樣。本文通過(guò)阿里巴巴天池大賽[21]所提供的數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)處理后做特征工程,生成新的衍生特征,再通過(guò)互信息的方法進(jìn)行特征選擇。本文提出使用改進(jìn)的EasyEnsemble算法下的軟投票策略方法對(duì)數(shù)據(jù)做預(yù)測(cè),然后將預(yù)測(cè)結(jié)果與傳統(tǒng)的機(jī)器學(xué)習(xí)方法的結(jié)果相對(duì)比,也將簡(jiǎn)單欠采樣、EasyEnsemble和改進(jìn)后的EasyEnsemble這3種方法得出的預(yù)測(cè)結(jié)果作對(duì)比,得出結(jié)論。

1 特征模型

本文所使用的數(shù)據(jù)來(lái)源于阿里巴巴提供的2014年11月18日到2014年12月18日的10000名用戶(hù)在某網(wǎng)站上的用戶(hù)與商品的歷史交互記錄。由于無(wú)法從這些數(shù)據(jù)中得到實(shí)用的特征數(shù)據(jù),所以必須對(duì)原始數(shù)據(jù)進(jìn)行特征提取。原始數(shù)據(jù)特征如表1所示。

表1 原始特征

本文根據(jù)表1所給出的原始特征來(lái)提取新的特征,同樣也把它們分為用戶(hù)特征、商品特征和用戶(hù)-商品特征3個(gè)特征類(lèi)別。

1.1 用戶(hù)特征

用戶(hù)特征保留了原始特征User_id,而對(duì)于特征User_geohash缺失數(shù)據(jù)超過(guò)了總數(shù)據(jù)的2/3,并且對(duì)數(shù)據(jù)進(jìn)行了加密處理,因此數(shù)據(jù)間不具有相關(guān)性,所以將該特征值剔除掉。新加入的用戶(hù)特征有用戶(hù)的活躍度(userF1),即對(duì)某用戶(hù)在過(guò)去一段時(shí)間購(gòu)買(mǎi)、添加購(gòu)物車(chē)、收藏和瀏覽的次數(shù)的加權(quán)和。用戶(hù)的購(gòu)買(mǎi)瀏覽轉(zhuǎn)化率(userF2)、用戶(hù)的購(gòu)買(mǎi)加購(gòu)物車(chē)轉(zhuǎn)化率(userF3)和用戶(hù)的購(gòu)買(mǎi)收藏轉(zhuǎn)化率(userF4),是用戶(hù)在過(guò)去的某段時(shí)間購(gòu)買(mǎi)商品的次數(shù)分別與用戶(hù)瀏覽、加購(gòu)物車(chē)和收藏次數(shù)的比值。用戶(hù)購(gòu)買(mǎi)數(shù)量(userF5)、瀏覽數(shù)量(userF6)、加購(gòu)物車(chē)數(shù)量(userF7)、收藏?cái)?shù)量(userF8)分別是用戶(hù)在過(guò)去一段時(shí)間購(gòu)買(mǎi)商品的次數(shù)和、瀏覽商品的次數(shù)和、對(duì)商品加購(gòu)物車(chē)的次數(shù)和和收藏商品的次數(shù)和。

1.2 商品特征

商品特征保留了原始特征item_id和item_category,增添了新的商品特征。如商品瀏覽數(shù)量(itemF1)是指商品在過(guò)去某段時(shí)間被瀏覽的數(shù)量;商品收藏?cái)?shù)量(itemF2)是指商品在過(guò)去的某段時(shí)間被收藏的數(shù)量;商品加購(gòu)物車(chē)數(shù)量(itemF3)是指商品在過(guò)去某段時(shí)間加購(gòu)物車(chē)的數(shù)量;商品購(gòu)買(mǎi)數(shù)量(itemF4)是指商品在過(guò)去某段時(shí)間被購(gòu)買(mǎi)的數(shù)量;商品熱度(itemF5)是指商品在過(guò)去的某段時(shí)間購(gòu)買(mǎi)、添加購(gòu)物車(chē)、收藏和瀏覽的次數(shù)的加權(quán)和;商品種類(lèi)熱度(itemF6)是指商品不同的種類(lèi)在過(guò)去的某段時(shí)間里購(gòu)買(mǎi)、添加購(gòu)物車(chē)、收藏和瀏覽次數(shù)的加權(quán)和。

1.3 用戶(hù)-商品特征

對(duì)于用戶(hù)-商品特征,本文將用戶(hù)購(gòu)買(mǎi)商品的時(shí)間劃分為日期和具體的時(shí)刻,用戶(hù)-商品的原始特征無(wú)法作為所需要的特征直接使用,但是用戶(hù)特征、商品特征以及用戶(hù)-商品特征當(dāng)中的新特征都是從特征Behavior_type和Time中提取出來(lái)的。提取出新的用戶(hù)-商品特征有用戶(hù)-商品熱度(item_userF1)和用戶(hù)對(duì)商品的購(gòu)買(mǎi)行為(item_userF2)。用戶(hù)商品熱度是某用戶(hù)對(duì)某商品在過(guò)去的某段時(shí)間購(gòu)買(mǎi)、添加購(gòu)物車(chē)、收藏和瀏覽的次數(shù)的加權(quán)和。用戶(hù)對(duì)商品的購(gòu)買(mǎi)行為則是在過(guò)去的某段時(shí)間用戶(hù)是否購(gòu)買(mǎi)過(guò)某商品,購(gòu)買(mǎi)過(guò)則設(shè)為1,未購(gòu)買(mǎi)則設(shè)為0。用戶(hù)商品瀏覽數(shù)量(item_userF3)、用戶(hù)商品收藏?cái)?shù)量(item_userF4)、用戶(hù)商品加購(gòu)物車(chē)數(shù)量(item_userF5)、用戶(hù)商品購(gòu)買(mǎi)數(shù)量(item_userF6)分別指用戶(hù)在過(guò)去的一段時(shí)間對(duì)某個(gè)商品瀏覽的次數(shù)和、收藏的次數(shù)和、加購(gòu)物車(chē)的次數(shù)和和購(gòu)買(mǎi)的次數(shù)和。

由于不同的時(shí)間刻度對(duì)當(dāng)前的預(yù)測(cè)影響不同,所以選取了5個(gè)時(shí)間刻度9天、7天、5天、3天、1天,對(duì)不同的時(shí)間刻度通過(guò)以上方式提取特征,再加上保留的部分原始特征,總共有108維特征。

2 算法介紹

2.1 互信息算法

互信息[22]是一種信息度量方式,可以看成為一種隨機(jī)量包含另一種隨機(jī)量的信息量。

設(shè)2個(gè)隨機(jī)變量(X,Y)的聯(lián)合分布為p(x,y),邊緣分布分別為p(x)、p(y),互信息I(X;Y)是聯(lián)合分布p(x,y)與邊緣分布p(x)、p(y)的相對(duì)熵,即:

(1)

公式(1)可計(jì)算每一個(gè)特征和目標(biāo)值的互信息值,本文通過(guò)大小順序排列,選擇互信息值較大的特征。

2.2 XGBoost算法

XGBoost[23]是根據(jù)梯度提升實(shí)現(xiàn)的半監(jiān)督學(xué)習(xí)算法,可以解決分類(lèi)、回歸等問(wèn)題。訓(xùn)練采用的數(shù)據(jù)集樣本為(xi,yi),其中xi∈Rm,yi∈R。xi表示m維的特征向量,yi表示樣本標(biāo)簽,模型包含K棵樹(shù),則XGBoost模型的定義如下:

(2)

其中,fK(xi)表示第K棵決策樹(shù),它映射樣本特征,使每個(gè)樣本落在該樹(shù)的某個(gè)葉子節(jié)點(diǎn)上,FK(xi)表示K棵決策樹(shù)的預(yù)測(cè)結(jié)果的累加和。每個(gè)葉子節(jié)點(diǎn)均包含一個(gè)權(quán)重分?jǐn)?shù),作為落在此葉子節(jié)點(diǎn)的樣本在該樹(shù)的預(yù)測(cè)值ω。計(jì)算樣本在每棵樹(shù)的預(yù)測(cè)值(即ω)之和,并將其作為樣本的最終預(yù)測(cè)值。

XGBoost的目標(biāo)函數(shù)定義如下:

(3)

其中,目標(biāo)函數(shù)Obj由2項(xiàng)組成:第一項(xiàng)為損失函數(shù)和;Ω(f)項(xiàng)為正則項(xiàng),傾向于選擇簡(jiǎn)單的模型,避免過(guò)擬合。正則化項(xiàng)的定義如下:

(4)

為找到最優(yōu)的f(xi)使目標(biāo)函數(shù)最優(yōu),對(duì)公式中的目標(biāo)函數(shù)XGBoost采用了近似的方法。對(duì)式(3)改寫(xiě)為:

(5)

XGBoost引入泰勒公式近似和簡(jiǎn)化目標(biāo)函數(shù)。取二階泰勒公式的定義如下:

(6)

(7)

式(7)中,gi為損失函數(shù)的一階梯度統(tǒng)計(jì);hi為二階梯度統(tǒng)計(jì)。gi、hi計(jì)算公式分別如下:

(8)

(9)

(10)

2.3 隨機(jī)森林

隨機(jī)森林[24]是一種集成學(xué)習(xí)方法,該方法結(jié)合Bagging[25]集成學(xué)習(xí)理論和隨機(jī)子空間方法,將多個(gè)決策樹(shù)作為基分類(lèi)器,以一定策略選取部分屬性和數(shù)據(jù)分別建樹(shù);在預(yù)測(cè)階段根據(jù)森林中各棵樹(shù)的預(yù)測(cè)結(jié)果進(jìn)行投票表決,最終表決結(jié)果為隨機(jī)森林預(yù)測(cè)結(jié)果。

2.4 軟投票策略

軟投票[26]也稱(chēng)加權(quán)平均概率投票,是使用輸出類(lèi)概率分類(lèi)的投票法,其通過(guò)輸入權(quán)重,得到每個(gè)類(lèi)概率的加權(quán)平均值,并選擇值較大的那一類(lèi)。

2.5 EasyEnsemble算法

EasyEnsemble[27]算法主要處理類(lèi)別不平衡問(wèn)題,使樣本數(shù)據(jù)能得到充分利用。

算法流程主要描述如下:

輸入:所有大類(lèi)樣本數(shù)據(jù)N;所有小類(lèi)樣本P;從N中采樣的子集數(shù)量m。

輸出:集成模型H(x)。

1)fork=1:m

2)從N中隨機(jī)采樣子集Ni,且滿(mǎn)足|Ni|=|P|。

3)將小類(lèi)樣本集合P和大類(lèi)樣本子集Ni組合成一個(gè)均衡的訓(xùn)練樣本子集Ni∪P。

4)在訓(xùn)練樣本子集Ni∪P上訓(xùn)練分類(lèi)器:

(11)

其中,hk,j(x)是Hk的第j個(gè)弱分類(lèi)器,αk,j為hk,j(x)所對(duì)應(yīng)的權(quán)重,θk為集成的閾值。

5)end for

6)集成模型為:

(12)

3 模型構(gòu)建

本文模型主要分為3個(gè)步驟:1)產(chǎn)生訓(xùn)練樣本子集;2)訓(xùn)練基分類(lèi)器;3)基分類(lèi)器融合。

3.1 產(chǎn)生訓(xùn)練樣本子集

先將數(shù)據(jù)集分為購(gòu)買(mǎi)和未購(gòu)買(mǎi)2個(gè)大類(lèi),再?gòu)倪@2類(lèi)數(shù)據(jù)中進(jìn)行隨機(jī)抽樣,使抽取的測(cè)試集數(shù)據(jù)中購(gòu)買(mǎi)和未購(gòu)買(mǎi)這2類(lèi)數(shù)據(jù)比例接近數(shù)據(jù)集中購(gòu)買(mǎi)與未購(gòu)買(mǎi)的數(shù)量比,再對(duì)抽取的數(shù)據(jù)進(jìn)行特征提取,得到訓(xùn)練樣本集。

3.2 訓(xùn)練基分類(lèi)器

隨機(jī)森林(RF)是機(jī)器學(xué)習(xí)中常用的解決分類(lèi)問(wèn)題算法之一,是一個(gè)包含多個(gè)決策樹(shù)的分類(lèi)器。

XGBoost是基于提升樹(shù)模型設(shè)計(jì)的,還支持二階導(dǎo)數(shù)運(yùn)算和并行計(jì)算,可以利用正則項(xiàng)控制模型復(fù)雜度,準(zhǔn)確率高。

本文選擇XGBoost和隨機(jī)森林作為基分類(lèi)器,用改進(jìn)的EasyEnsemble算法來(lái)解決類(lèi)別不平衡的問(wèn)題。為了方便調(diào)節(jié)參數(shù),用一般網(wǎng)絡(luò)搜索和貝葉斯方法調(diào)參,都會(huì)花費(fèi)大量時(shí)間,本文通過(guò)逐步調(diào)節(jié)各個(gè)參數(shù),根據(jù)F1值的大小來(lái)選取較優(yōu)的參數(shù)。

3.3 基分類(lèi)器的集成

通過(guò)前2步的工作,可以得到m個(gè)經(jīng)由不同的訓(xùn)練集進(jìn)行訓(xùn)練的以軟投票策略融合XGBoost和RF的基分類(lèi)器。運(yùn)用EasyEnsemble的方法將這些基分類(lèi)器通過(guò)公式(12)聯(lián)合起來(lái)做預(yù)測(cè)。

給定樣本x=(x1,x2,…,xn),xi∈Rm,集成模型有m個(gè)基分類(lèi)器h1(x),h2(x),…,hm(x),則對(duì)于樣本x,其集成輸出的結(jié)果為:

(13)

3.4 本文算法描述

輸入:未購(gòu)買(mǎi)行為樣本N和發(fā)生購(gòu)買(mǎi)行為樣本集P,且使得樣本集N與P的比值關(guān)系滿(mǎn)足數(shù)據(jù)集中未購(gòu)買(mǎi)行為和發(fā)生購(gòu)買(mǎi)行為的數(shù)據(jù)比;基分類(lèi)器的個(gè)數(shù)m;

輸出:購(gòu)買(mǎi)行為預(yù)測(cè)結(jié)果H(x)。

1)對(duì)樣本集N中的數(shù)據(jù)進(jìn)行排序,按照順序不重復(fù)地均勻劃分為m個(gè)子樣本集Ni(i=1,2,…,m);

2)將樣本集Ni分別與樣本集P組合成m個(gè)訓(xùn)練集train_datai(i=1,2,…,m);

3)令hi=Softvoting(RF,XGBoost)(i=1,2,…,m),對(duì)測(cè)試集test_data預(yù)測(cè)得到m個(gè)結(jié)果;

4)將得到的m個(gè)結(jié)果hi(x)代入式(13),得到最終的二分類(lèi)預(yù)測(cè)結(jié)果。

3.5 本文算法優(yōu)勢(shì)

在處理樣本類(lèi)別不平衡問(wèn)題上,本文采用改進(jìn)的EasyEnsemble的采樣方法。傳統(tǒng)的EasyEnsemble方法從大類(lèi)樣本隨機(jī)選取和小類(lèi)樣本相同的數(shù)據(jù),會(huì)導(dǎo)致樣本數(shù)據(jù)不能夠全面地利用大類(lèi)樣本數(shù)據(jù)。相比傳統(tǒng)的EasyEnsemble方法,改進(jìn)后的EasyEnsemble方法將反例均勻劃分成若干個(gè)集合分別與正例一起供不同的分類(lèi)算法學(xué)習(xí),這樣不僅可以充分利用樣本數(shù)據(jù),又可以借鑒Bagging的思想來(lái)降低算法預(yù)測(cè)結(jié)果的偏差。通過(guò)軟投票的方法將XGBoost和隨機(jī)森林進(jìn)行結(jié)合后做預(yù)測(cè),降低了單一算法預(yù)測(cè)產(chǎn)生的概率偏差,可以使一些預(yù)測(cè)概率接近0.5的數(shù)據(jù)得到正確預(yù)測(cè),從而優(yōu)化預(yù)測(cè)效果。

4 參數(shù)優(yōu)化

4.1 XGBoost調(diào)優(yōu)

max_depth、min_child_weight和colsample_bytree是XGBoost的3個(gè)重要參數(shù)。max_depth為決策樹(shù)的最大深度,取值范圍為1~32,其F1曲線(xiàn)如圖1所示。min_child_weight表示葉節(jié)點(diǎn)的最小樣本權(quán)重,取值范圍為1~6,其F1曲線(xiàn)如圖2所示。colsample_bytree表示樣本特征采樣比,取值范圍為0.5~1,其F1曲線(xiàn)如圖3所示。

圖1 在XGBoost中關(guān)于max_depth的F1曲線(xiàn)

圖2 在XGBoost中關(guān)于min_weight_child的F1曲線(xiàn)

圖3 在XGBoost中關(guān)于colsample_bytree的F1曲線(xiàn)

由圖1~圖3可知,本文實(shí)驗(yàn)得到的XGBoostt算法的最優(yōu)參數(shù)選擇如下:max_depth為10,min_child_weight為3,colsample_bytree為0.74。

4.2 隨機(jī)森林調(diào)優(yōu)

n_estimators、max_depth、min_child_leaf是隨機(jī)森林的3個(gè)重要參數(shù)。n_estimators是決策樹(shù)的數(shù)量,取值范圍為10~200,其F1曲線(xiàn)如圖4所示。max_depth為決策樹(shù)的最大深度,取值范圍為1~40,其F1曲線(xiàn)如圖5所示。min_child_leaf表示最小的葉節(jié)點(diǎn)樣本數(shù),取值范圍為1~50,其F1曲線(xiàn)如圖6所示。

圖4 在隨機(jī)森林中關(guān)于n_estimators的F1曲線(xiàn)

圖5 在隨機(jī)森林中關(guān)于max_depth的F1曲線(xiàn)

圖6 在隨機(jī)森林中關(guān)于min_samples_leaf的F1曲線(xiàn)

由圖4~圖6可知,本文實(shí)驗(yàn)得出的隨機(jī)森林算法的最優(yōu)參數(shù)選擇如下:n_estimators為70,max_depth為15,min_samples_leaf為12。

5 實(shí)驗(yàn)及結(jié)果分析

5.1 實(shí)驗(yàn)數(shù)據(jù)集

本文實(shí)驗(yàn)數(shù)據(jù)來(lái)源于阿里巴巴天池大賽提供的2014年11月18日到2014年12月18日移動(dòng)電商平臺(tái)數(shù)據(jù)集,以11月中的27日、28日和29日用戶(hù)對(duì)商品的交互行為實(shí)驗(yàn)數(shù)據(jù),其中行為信息有瀏覽、收藏、加購(gòu)物車(chē)、購(gòu)買(mǎi)4種方式。

5.2 數(shù)據(jù)預(yù)處理

對(duì)于提供的數(shù)據(jù),先將重復(fù)數(shù)據(jù)去掉,再對(duì)數(shù)據(jù)進(jìn)行特征提取。對(duì)于生成的大量空數(shù)據(jù),根據(jù)實(shí)驗(yàn)數(shù)據(jù)的特點(diǎn)來(lái)進(jìn)行填充,提取購(gòu)買(mǎi)瀏覽轉(zhuǎn)化率、購(gòu)買(mǎi)收藏轉(zhuǎn)化率、購(gòu)買(mǎi)加購(gòu)物車(chē)轉(zhuǎn)化率的特征時(shí),瀏覽、收藏、加購(gòu)物車(chē)的次數(shù)為0,則特征為空值的意義是接近于無(wú)窮大,那么選擇用相對(duì)較大的數(shù)據(jù)進(jìn)行填充。特征工程結(jié)束后,對(duì)數(shù)據(jù)進(jìn)行歸一化處理,用互信息的方法對(duì)數(shù)據(jù)進(jìn)行特征選擇,選擇了互信息值較大的58個(gè)特征。

5.3 評(píng)價(jià)指標(biāo)

本文采用精確率P、召回率R和F1值這3個(gè)指標(biāo)來(lái)對(duì)模型的性能進(jìn)行評(píng)估。其中,將預(yù)測(cè)類(lèi)別組合化為真正例(TP)、真負(fù)例(FP)、假正例(TN)、假負(fù)例(FN),3個(gè)指標(biāo)的計(jì)算公式為:

5.4 實(shí)驗(yàn)設(shè)計(jì)

為了驗(yàn)證本文提出的預(yù)測(cè)模型及算法的有效性,實(shí)驗(yàn)使用上述的數(shù)據(jù)集和評(píng)價(jià)標(biāo)準(zhǔn),與當(dāng)前熱門(mén)的機(jī)器學(xué)習(xí)模型進(jìn)行縱向?qū)Ρ龋渲邪ㄟ壿嫽貧w模型(LR)、支持向量機(jī)模型(SVM)、隨機(jī)森林模型(RF)、梯度提升樹(shù)模型(GBDT)和極限梯度提升模型(XGBoost)。再對(duì)數(shù)據(jù)集進(jìn)行不同采樣方法的橫向?qū)Ρ?,其中包括?jiǎn)單欠采樣、EasyEnsemble和改進(jìn)后的EasyEnsemble這3種采樣方法。最后對(duì)特征選擇前和特征選擇后的數(shù)據(jù)結(jié)果進(jìn)行對(duì)比。

5.5 實(shí)驗(yàn)結(jié)果

以精確率P、召回率R和F1值為評(píng)價(jià)指標(biāo),與當(dāng)前熱門(mén)的機(jī)器學(xué)習(xí)算法進(jìn)行縱向?qū)Ρ?,與不同的采樣方法進(jìn)行橫向?qū)Ρ龋卣鬟x擇前的對(duì)比見(jiàn)表2,特征選擇后的對(duì)比見(jiàn)表3。

表2 特征選擇前的不同算法對(duì)比

表3 特征選擇后的不同算法對(duì)比

1)所有對(duì)比實(shí)驗(yàn)中,本文改進(jìn)的EasyEnsemble的軟投票策略模型的P值和F1值最高,說(shuō)明對(duì)用戶(hù)購(gòu)買(mǎi)行為預(yù)測(cè)效果最好。

2)2種關(guān)于EasyEnsemble采樣方法都比簡(jiǎn)單欠采樣方法預(yù)測(cè)結(jié)果更好,說(shuō)明平衡樣本數(shù)據(jù)對(duì)于模型的訓(xùn)練十分有必要。

3)進(jìn)行特征選擇后的預(yù)測(cè)結(jié)果不僅沒(méi)有低于特征選擇前的預(yù)測(cè)結(jié)果,甚至還略?xún)?yōu)于特征選擇前的預(yù)測(cè)結(jié)果,說(shuō)明特征選擇不僅能夠減少計(jì)算量,還能減少一些帶有噪聲的數(shù)據(jù)。

4)本文算法的分類(lèi)效果比其它的模型要優(yōu)秀很多,主要是因?yàn)楦倪M(jìn)的EasyEnsemble的采樣方法能夠使全局?jǐn)?shù)據(jù)參與模型訓(xùn)練,而且也降低了模型的偏差和方差。使用本文的方法,使P值和R值更加均衡,從而提高F1值。

5.6 特征有效性實(shí)驗(yàn)

關(guān)于各個(gè)特征在商品購(gòu)買(mǎi)預(yù)測(cè)的重要性,可以在刪去某些特征后,通過(guò)訓(xùn)練分類(lèi)器得到F1值來(lái)判斷,F(xiàn)1值越小,則刪去的特征重要性越強(qiáng)。本文將分別對(duì)用戶(hù)特征、商品特征和刪除用戶(hù)-商品特征作對(duì)比,如表4所示。再分別刪除關(guān)于不同時(shí)間形成的特征作對(duì)比,如表5所示。

表4 不同屬性特征對(duì)預(yù)測(cè)結(jié)果的影響

由表4得知,刪除用戶(hù)特征、商品特征或者用戶(hù)-商品特征,其F1值均有下降,說(shuō)明這些特征對(duì)于商品銷(xiāo)售預(yù)測(cè)均有意義。從這3種特征的比較中,發(fā)現(xiàn)去除用戶(hù)特征后,F(xiàn)1值較去除另外2種特征有明顯下降,說(shuō)明在用戶(hù)購(gòu)買(mǎi)預(yù)測(cè)中,用戶(hù)特征發(fā)揮著更重要的作用。

表5 不同時(shí)間構(gòu)造的特征對(duì)預(yù)測(cè)結(jié)果的影響

由表5得知,刪除由時(shí)間刻度9天生成的特征對(duì)預(yù)測(cè)值的影響最大,F(xiàn)1值的下降也更為明顯,說(shuō)明在給用戶(hù)推薦商品時(shí),9天以?xún)?nèi)的銷(xiāo)售記錄發(fā)揮很重要的作用,也更能顯示用戶(hù)網(wǎng)上購(gòu)物的傾向程度。

6 結(jié)束語(yǔ)

本文提出了一種改進(jìn)的EasyEnsemble算法的軟投票策略下用戶(hù)購(gòu)買(mǎi)預(yù)測(cè)方法。通過(guò)分析阿里巴巴天池大賽所提供的數(shù)據(jù),從用戶(hù)、商品和用戶(hù)-商品方面提取了108個(gè)特征。使用互信息的方法對(duì)數(shù)據(jù)進(jìn)行特征選擇,一方面降低了計(jì)算量,另一方面消除了部分?jǐn)?shù)據(jù)噪聲。在處理類(lèi)別不平衡問(wèn)題方面,使用了改進(jìn)的EasyEnsemble算法,與簡(jiǎn)單采樣法和傳統(tǒng)EasyEnsemble算法相比,它利用了集成學(xué)習(xí)機(jī)制,將反例均勻劃分成與正例數(shù)量相同的若干組數(shù)據(jù),用分類(lèi)算法對(duì)每組數(shù)據(jù)進(jìn)行訓(xùn)練,這樣就可以將全局?jǐn)?shù)據(jù)進(jìn)行充分利用。用軟投票的方法將XGBoost和隨機(jī)森林結(jié)合起來(lái)進(jìn)行訓(xùn)練,再作為一個(gè)分類(lèi)器做預(yù)測(cè)。用改進(jìn)的EasyEnsemble算法可以把Bagging和Boosting方法結(jié)合起來(lái),降低偏差和方差。通過(guò)用軟投票的方法將XGBoost和隨機(jī)森林進(jìn)行融合的方法與單一的算法相比,可以更好地判斷一些“似是而非”的數(shù)據(jù),從而提高了F1值。在與熱門(mén)的機(jī)器學(xué)習(xí)算法進(jìn)行對(duì)比實(shí)驗(yàn)后,本文提出方法具有更高的F1值,表明本文模型更加有效,也能更好地解決用戶(hù)購(gòu)買(mǎi)預(yù)測(cè)問(wèn)題。

猜你喜歡
特征選擇分類(lèi)器樣本
用樣本估計(jì)總體復(fù)習(xí)點(diǎn)撥
推動(dòng)醫(yī)改的“直銷(xiāo)樣本”
BP-GA光照分類(lèi)器在車(chē)道線(xiàn)識(shí)別中的應(yīng)用
隨機(jī)微分方程的樣本Lyapunov二次型估計(jì)
Kmeans 應(yīng)用與特征選擇
電子制作(2017年23期)2017-02-02 07:17:06
加權(quán)空-譜與最近鄰分類(lèi)器相結(jié)合的高光譜圖像分類(lèi)
結(jié)合模糊(C+P)均值聚類(lèi)和SP-V-支持向量機(jī)的TSK分類(lèi)器
村企共贏的樣本
聯(lián)合互信息水下目標(biāo)特征選擇算法
基于LLE降維和BP_Adaboost分類(lèi)器的GIS局部放電模式識(shí)別
运城市| 九龙县| 屏山县| 大姚县| 偃师市| 宝坻区| 长泰县| 来凤县| 城市| 淮南市| 巩义市| 上蔡县| 大庆市| 娄烦县| 元江| 象山县| 上饶县| 浠水县| 胶南市| 宿迁市| 满城县| 瓮安县| 来安县| 通渭县| 兴山县| 蛟河市| 镇安县| 姜堰市| 边坝县| 额敏县| 台山市| 南充市| 云安县| 于田县| 乌拉特后旗| 桃源县| 府谷县| 昌都县| 南阳市| 锡林浩特市| 古交市|