謝日敏 方雨桐
(1. 福建商學院 信息工程學院, 福州 350012; 2. 福州大學 數學與計算機科學學院, 福州 350108)
到網上購物逐漸成為人們的一種生活常態,有關數據因此而爆炸式的增長,但個體的選擇處理能力有限,因此需要有定制化的推薦系統。從電商角度考慮,要提升推薦系統的效能,首先便需要從與消費者相關的海量數據中洞悉其消費需求,科學預測消費者的購買意向。為了提高預測的準確性,則需要深入挖掘用戶消費行為特征,并不斷優化數據分析模型。
有關研究表明,用戶的有效搜索方式及對搜索結果的多次瀏覽,用戶的購物車操作情況,用戶的點擊流數據,這些都能反映用戶的購買意向[1-2]。在分析預測時,應綜合考慮這些因素。在模型優化方面,已有許多研究成果。比如:通過融合多個基礎算法來提高算法的泛化能力和預測效率[3];針對用戶購買周期和頻次,通過調整模型訓練集以及權重設置,提高模型強化問題的針對性,從而獲得有效的預測結果[4];將SMOTE和隨機森林算法相結合,預測用戶可能存在的重復購買問題[5];還有利用潛在因子的選擇模型(LF-CM),分析用戶購買行為偏好[6]。本次研究,我們將嘗試采用邏輯回歸、決策樹和XGBoost模型作為基學習器輸入,再以隨機森林模型作為次學習器進行堆疊,從而形成一種組合模型,來對用戶購買行為進行預測。
原始數據集為京東商城提供的2016年2月至4月的真實用戶在線數據。原始數據集中,數據類型各異,數據質量參差不齊。為了提高數據預測準確性,降低模型的誤差,發現在線用戶有價值的數據,需將原始數據進行預處理。數據預處理流程[7]如圖1所示。

圖1 數據預處理流程
第一,基于電商行業的業務規則與行業標準,對原始數據集的基本信息進行處理,并根據數據類型、有效信息區間劃定和異常數據判斷等信息,對數據集進行清洗。
第二,為便于構建模型,對原始數據集的部分特征進行進一步變換。
第三,利用滑窗技術構造累積量特征。數據集中包含3個月的用戶行為數據,考慮訓練集和預測集的劃分,將累計最長時間區間設置為30 d。參考TCP協議中滑動窗口的概念,按照3、5、7、10、15、21、30 d的時間間隔動態統計構造累積量特征,比如3日內用戶購買計數字段、5日內用戶購買計數字段、3日內用戶點擊計數字段等。在此基礎上,統計用戶各項行為的轉化率,生成用戶3日點擊購買轉化率、5日瀏覽購買轉化率這類特征,以滿足時序數據信息挖掘需求。同時將絕對數據規約,避免單位范圍不同等原因而造成不可比現象。
第四,對數據集進行篩選。以業務邏輯作為重要參考因素,篩除冗余屬性或一些對分類無意義的屬性,選出最終進入模型的特征集。
集成學習是一種博采眾長的學習思想,其核心是通過融合數個弱學習器,構建出一個強學習器,以提升模型的學習和泛化能力。在實際應用中,若使用單個學習器,其平均性能存在一定的劣勢,數據源質量對其影響較大,而利用多個學習器之間的相互作用,則可以取長補短。集成學習就是整合多個模型來提高機器學習能力的過程。集成學習通常分為3類方法:套袋法(Bagging),用于減少方差;增強法(Boosting),用于減少偏差;堆疊法(Stacking),用于提升預測性能。集成學習中,所有個體學習器歸屬于同一種類,即為同質集成;個體學習器歸屬于不完全相同的種類,即為異質集成。
我們選擇采用堆疊法的集成學習,它屬于異質集成。如圖2所示,在這個框架中,將單個模型視為基學習器;用于綜合多個基學習器的某一模型可稱為次學習器。基本思想是:將初始數據集作為第一層分類器的訓練數據,即有多個基學習器;而后將第一層基學習器的輸出作為第二層學習器的輸入,即新的數據集。原始目標變量仍被作為新數據集目標變量。堆疊法集成學習模型,實質是進行深度化的泛化,利用次學習器來取代增強法和套袋法,綜合降低偏差和方差。

圖2 堆疊法集成學習模型原理
為提升整體模型的預測準確性,在堆疊法集成學習組合模型的第一層基學習器選擇上,主要考慮個體學習能力較強的學習器,且要求多個模型間具有一定的差異性。因此,選擇采用了XGBoost、決策樹和邏輯回歸。XGBoost[9],采用提升樹的集成學習方式,具有優秀的學習能力,在各個領域應用廣泛。決策樹[10],簡單直觀,輸出結果利于解讀,且對于異常點的容錯能力強,健壯性強。邏輯回歸[11],參考神經網絡的激活函數,將所有數據進行非線性映射,削弱分類決策影響度極小的數據,并且計算的代價不高。第二層的次學習器,選擇采用隨機森林算法。隨著集成數目的增加,隨機森林往往具有較強的泛化能力。次學習器具有強泛化能力,可修正多個基學習器的訓練集偏差,并以集合方式防止過擬合。最終構建的組合模型如圖3所示。

圖3 堆疊法集成學習的組合模型
針對京東商城提供的用戶在線數據集,利用堆疊法集成學習算法,分析預測用戶購買意向。分析流程如圖4所示。

圖4 基于堆疊法集成學習的預測分析流程
分析流程中的特征工程,是指基于一定業務背景,利用相關領域知識,將原始數據進行轉化處理的過程,以便數據挖掘算法達到最佳效果。依據京東商城提供的用戶線上行為數據,結合分析經驗與業務理解,利用滑窗處理時序數據集,從基礎特征,用戶和行為組合特征,商品和行為組合特征,用戶、商品和行為的組合特征等方面進行特征構建,并且根據模型需要對特征進行篩選。特征構建結果統計:基礎特征有36個,用戶和行為組合特征有124個,商品和行為組合特征有40個,用戶、商品和行為組合特征有50個。
考慮到數據集中存在數據偏斜的現象,客戶(電商)也更關注用戶有明確購買意向的行為特征,現以準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F值(F-Measure)作為用戶購買意向的評估指標,實現對正樣本的綜合預測。
分別使用邏輯回歸、決策樹和XGBoost進行單個模型性能度量。結果顯示,邏輯回歸模型預測用戶購買行為的準確率最高,但就綜合評價指標F值來說,XGBoost模型在單個模型性能度量中表現最好(見表1)。本次實驗中,影響邏輯回歸模型預測效果的主要原因是特征高達250項,特征項中冗余程度較高,數據集呈現不平衡現象,且多為累計型數據。在決策樹模型中,復雜的決策樹結構和數據集數據不平衡,使得過擬合現象嚴重,不利于提升泛化性能。作為配置了提升樹集成學習方法的XGBoost模型,通過應用損失函數和正則化策略來優化目標函數,更能防止模型過擬合。這3個模型在評價指標上各有優劣,但預測效果整體不夠出色。
利用堆疊法集成學習模型融合技術,將邏輯回歸、決策樹和XGBoost模型作為基學習器輸入,以隨機森林模型作為次學習器進行堆疊。在本次實驗中,雖然基學習器在第一層的學習效果近似于單個模型的預測結果,但進入第二層學習器進行分析運算后,結果有很大的進步(見表1)。經過模型融合后,基于堆疊法集成學習組合模型的預測效果會更好。

表1 模型的性能對比
為提高對用戶購買意向預測的準確率,為電子商務平臺的推薦系統提供更為準確的數據支撐,我們按堆疊法集成學習的思路構建組合模型,依據京東商城提供的用戶在線數據集,預測分析了用戶的購買意向。首先利用滑窗技術構造提取用于預測用戶購買意向的特征,然后使用邏輯回歸、決策樹、XGBoost和集成學習組合模型進行用戶購買行為預測。結果表明,運用集成學習組合模型進行預測,其準確性明顯優于其他算法。