999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于集成學習算法的消費行為預測

2022-05-30 04:29:38賈志強樂金祥
計算機技術與發展 2022年5期
關鍵詞:特征用戶實驗

賈志強,李 濤,樂金祥

(武漢科技大學 計算機科學與技術學院,湖北 武漢 430065)

0 引 言

在大數據和線上營銷的影響下,傳統營銷方式已經無法滿足銷售企業的發展要求,商家急需尋找新途徑刺激用戶的消費行為。而銷售企業發展至今,已經積累了龐大的用戶基數與消費數據,于是,從海量的數據中挖掘有價值的信息,利用大數據算法推動營銷成為了企業關注重點[1]。

在實際應用上,消費行為預測[2]在營銷活動中具有很高的價值,如果能提前預測出用戶是否將要購買商品,那么企業在接下來的營銷活動中將會有針對性地選擇用戶,既能保證想要消費的用戶享受到優惠,購買更多商品,增強忠誠度;也能避免不會到店消費的用戶對企業產生抵觸心理,降低企業形象。因此消費行為預測的研究是極具實用性與商業價值的。

在消費行為預測研究中,Wang Xingfen等[3]采取XGBoost算法作為特征變換,再輸入到邏輯回歸模型中,實驗證明該算法能很好地預測電子商務中用戶的購買行為。Kareena等[4]對決策樹、支持向量機、隨機森林、模糊聚類、遺傳算法等技術進行了實驗,最終得出支持向量機是最好的一種;H. Valecha等[5]研究了消費者購買產品行為與環境因素、組織因素、個體因素、人際因素等參數的變化關系,利用獨特特征工程設計實時演化隨機森林分類器預測消費者購買行為;X. Dou等[6]研究電子商務平臺不平衡的真實購物數據,運用以對稱決策樹(oblivious trees)為基學習器的catboost模型對消費者是否會購買某一產品進行分析和預測,證明該模型有更高的準確率。

雖然消費行為預測的研究已經有了一定的成果,但大多數實驗在特征工程上都是盡可能多地考慮影響預測的各個方面,從不同的角度去挖掘特征,盡可能擴展特征挖掘的廣度[7]。而在已有數據和特征的基礎上繼續深入挖掘,擴展特征挖掘的深度方面還存在欠缺。在算法建模方面,大多數已有實驗都是利用單個模型進行預測,雖然也有提到集成學習的相關文獻,但也只是使用封裝好的帶有集成學習思想的某一種分類器,如catboost、隨機森林、XGBoost等這類強分類器,沒有充分利用多個經典分類器的優點,利用集成學習將這些優點結合起來進行預測。

為此,該文提出在深度上深入挖掘的特征工程方法。一是采用兩種滑動窗口相結合的特征提取方法提取到更多樣本數據,深入挖掘消費數據的時間信息,給特征添加時間屬性,同時分別對離散和連續特征做獨熱編碼和分箱操作,更好地處理屬性數據、減少噪聲干擾;二是深入挖掘商品與用戶之間隱含的關聯關系,基于先驗知識與矩陣分解,對特征進行交叉,深入挖掘各特征中的協同信息,在原有特征的基礎上提取出新特征。而在算法建模方面,采用stacking策略構建集成學習模型,以XGBoost、隨機森林和梯度提升決策樹作為初級學習器進行特征變換,以邏輯回歸作為元學習器進行消費行為預測,充分利用到各模型算法的優勢。通過特征工程和模型算法對比實驗證明該特征工程方法在多個模型算法中均能明顯提高精準率,提出的集成學習模型預測效果也均高于單個模型。

1 面向消費行為預測的特征工程方法

1.1 基于兩種滑動窗口的特征提取方法

在對消費行為進行預測時,由于購買用戶通常比例很小,正負樣本不平衡,正樣本數據量較少,直接訓練模型效果不理想,為增加正樣本數據量,該文采用定長滑動窗口[8]提取更多樣本數據,再結合欠采樣解決樣本不平衡問題。

根據企業實際營銷活動情況,定長滑動窗口特征提取方法先固定特征與標簽的區間長度,然后通過窗口的滑動不斷提取特征數據。如用第T1到T30提取第一批樣本數據,再用T31到T37打上是否到店買藥的標簽,取滑動步長為N如7天,用第T8到T37提取第二批樣本數據,用T38到T44打上是否到店買藥的標簽。依此類推,提取更多的樣本數據,如圖1所示。

圖1 定長滑動窗口提取特征

為能充分挖掘用戶消費的時間屬性,還原用戶消費習慣,得到分類效果優秀的特征,提出先固定待提取特征的數據區間長度,再通過變長滑動窗口的方法依次劃分時間段提取特征(見圖2)。因為用戶消費存在周期性,經過一個周期后再給用戶做推薦更能激起用戶的購買欲;同時,最新的消費記錄能更為準確地反映用戶消費情況,因此分別給不同時間段提取的特征賦予權重,給特征加上時間屬性,能更好地反映用戶的消費行為。同樣以30天作為提取特征的數據區間長度,采取前7天(T24-T30)、前14天(T17-T30)、前21天(T10-T30)和全部時間段分別提取如表1所示的數據特征。

圖2 變長滑動窗口提取特征

表1 特征集1提取的特征

在提取的特征中,存在較多連續型的消費特征,如各時間段的商品數、消費金額、消費客單價、購買種類數等,為降低噪音數據的影響,增強模型的魯棒性,同時加快模型的迭代速度,對上述連續型特征進行特征分箱。

對于用戶的離散型特征,對其進行編碼處理,主要是對二值取值的特征進行標簽編碼和對多類別的特征進行獨熱編碼,見表2。

表2 二值編碼和獨熱編碼特征

1.2 基于先驗知識與矩陣分解的特征交叉方法

除了分別考慮用戶和商品的特征,二者相結合的組合特征也對預測有較大影響。該文采用基于先驗知識的特征交叉和基于矩陣分解的特征交叉方法,充分挖掘各個特征中的交互信息。

(1)基于先驗知識的特征交叉,通過分析相關銷售人員的工作經驗以及與商品相關的專業知識,找出有關聯的用戶特征和商品特征進行交叉組合。該文以醫藥企業為例,如把商品類別特征和用戶性別特征進行交叉組合,男性用戶可能會偏好體能保健類和男科類,而女性用戶可能會偏好美白保健類和婦科類,這樣組合在一起能得到較為有效的組合特征,如表3和表4所示。

表3 用于交叉的用戶特征

表4 用于交叉的商品特征

(2)基于矩陣分解的特征交叉,根據用戶購買商品的歷史消費記錄構造(m×n)的矩陣,其中m代表用戶數量,n代表商品數量。將用戶-商品矩陣分解成用戶矩陣(m×k)和商品矩陣(k×n),將每一位用戶和每一種商品分別映射到一個k維的隱空間中,每個用戶對應用戶矩陣中的一行,每個商品對應商品矩陣中的一列,如圖3所示,用戶和商品都可以用一個k維向量表示。計算用戶和商品隱向量之間的相似度,作為用戶和商品之間的潛在交叉特征。

圖3 矩陣分解獲取交叉特征

2 基于stacking策略的集成學習模型構建

集成學習通過結合多個學習器完成學習任務,先訓練出多個個體學習器,再采用某種集成策略將這些個體學習器相結合。文獻[9]利用多源數據集和多種機器學習方法交叉構建單一檢測模型,并設計一種基于Logistic的集成學習方法,進一步提升惡意軟件未知變種檢測方法的準確性和魯棒性。文獻[10]考慮不同個體學習器在數據集上的表現以及各學習器之間的多樣性,提出一種基于Bagging異質集成學習的竊電檢測方法,并驗證了該模型在竊電檢測中的準確率、命中率、誤檢率等檢測指標更好。文獻[11]運用信息增益法篩選指標,采用V折交叉確認法,利用UCI的信用數據對單個分類器、集成分類器模型的分類精度和穩健性進行試驗比較,證明集成分類器模型在個人信用評估的分析中有更為優秀的效果。由此可以看出,集成學習在很多應用場景上都有較大的優勢。

該文構建一種基于stacking策略[12]的集成學習模型對用戶的消費行為進行預測。stacking策略的集成學習模型結構如圖4所示。

圖4 stacking策略的集成學習模型結構

該集成學習模型采用XGBoost[3]、隨機森林[13]和梯度提升決策樹[14]作為初級學習器,對特征進行變換,再輸入到元學習器邏輯回歸模型中做最終的預測。具體算法步驟如下:

(1)劃分數據集為訓練集與測試集。

(2)將訓練集分別輸入初級學習器中,在每個初級學習器中采用k折交叉驗證,進行k次實驗,每次實驗對1/k的訓練集和全部測試集做預測,把每次預測出的1/k訓練集合并得出完整訓練集的預測結果,對k次測試集的預測結果取平均得到最終測試集預測結果;合并訓練集與測試集的預測結果得到完整數據集預測結果。

(3)將每一個初級學習器的預測結果作為一個特征輸入元學習器邏輯回歸模型得到最終預測結果。

算法1:初級學習器特征變換算法。

輸入:X_train:訓練集特征數據;X_test:測試集特征數據;y_train:訓練集標簽數據

輸出:變換后的訓練集特征數據;變換后的測試集特征數據

1:clfs為初級學習器列表

2:k為正整數,表示采取k折交叉驗證

3:X_train_stack = np.zeros((X_train.shape[0], len(clfs))) # 初始化用于存儲訓練集預測結果的二維數組

4:X_test_stack = np.zeros((X_test.shape[0], len(clfs))) # 初始化用于存儲測試集預測結果的二維數組

5:skf=StratifiedKFold(n_splits=k, shuffle=True, random_state=1) # 用于k折交叉劃分訓練集

6:for i, clf in enumerate(clfs): # 遍歷每一個初級學習器

7: X_stack_test_n = np.zeros((X_test.shape[0], n_folds)) # 初始化用于存儲測試集結果的二維數組

8: for j, (train_index, test_index) in enumerate(skf.split(X_train, y_train)): # 遍歷k折交叉劃分的訓練集

9: tr_x = X_train.iloc[train_index,:] # 讀取第j次劃分的訓練集中用于訓練的特征數據

10: tr_y = y_train[train_index] # 讀取第j次劃分的訓練集中用于訓練的標簽數據

11: clf.fit(tr_x, tr_y) # 訓練第i個初級學習器

12: X_train_stack[test_index, i] = clf.predict_proba(X_train.iloc[test_index,:])[:, 1] # 存儲第i個初級學習器

13:在第j次劃分下被用于測試的訓練集的預測結果

14: X_stack_test_n[:, j] = clf.predict_proba(X_test)[:, 1] # 存儲第i個初級學習器第j次對測試集預測的結果

15: X_test_stack[:, i] = X_stack_test_n.mean(axis=1) # 第i個初級學習器預測測試集的k次結果取平均

16:return X_train_stack,X_test_stack # 返回變換后的訓練集特征數據和測試集特征數據

3 實驗與分析

實驗環境:Windows10操作系統,16 G內存,3.6 GHz八核心處理器,實驗軟件為Python3.7。

3.1 數據來源

該文采用某藥店服務商提供的四個月的用戶消費記錄,一個用戶購買一個藥品代表一條記錄,去掉沒有用戶Id的無效消費數據和單價小于等于0的贈品、塑料袋、退貨等噪音數據,剩余有效數據共2 059 718條。按照前30天消費行為預測后7天是否有消費,后7天有消費即為正樣本,沒有消費即為負樣本,采取7天為步長,滑動提取更多樣本數據。一共提取的樣本數據為284 071條,其中正負樣本15 018條,負樣本269 053條。

3.2 評價標準

考慮到實驗數據正負樣本不平衡的問題,為提高實驗可信度,采用精準率(PA)來評估特征工程的有效性,在算法建模效果驗證實驗上,為更為直觀地比較模型效果,添加auc值和roc曲線的對比。

將預測值分類匯總,建立如表5所示的混淆矩陣。TP代表模型中預測正確的會響應消費的用戶數,FP代表模型中誤測會響應消費的用戶數,TN代表模型中預測正確的不會響應消費的用戶數,FN代表模型中誤測不會響應消費的用戶數。

表5 混淆矩陣

(1)精確率(Precision)。

P=TP/(TP+FP)

(1)

精確率P表示預測為正例的所有樣本中預測正確的比例,衡量了分類器對正例的識別能力。

(2)特效度(Sensitive)。

S=TN/(TN+FN)

(2)

特效度S表示所有預測為負例的樣本中預測正確的比例,衡量了分類器對負例的識別能力。

(3)精準率PA。

(3)

評價指標精準率PA受響應消費用戶和沒有響應消費用戶兩者的準確率的影響,避免因響應消費用戶與沒有響應消費用戶樣本數偏差影響評價指標。而auc值為roc曲線下的面積,auc值越大,roc曲線下的面積越大,模型效果越好。

3.3 特征工程有效性驗證實驗

文獻[4]在消費行為預測中使用了多種分類算法,對比證明支持向量機的預測效果要優于其他方法,文獻[15]和文獻[3]使用邏輯回歸和XGBoost預測消費行為,文獻[5]使用隨機森林算法也獲得了較好的預測效果。為客觀地驗證特征工程的有效性,該文選用支持向量機、邏輯回歸、XGBoost和隨機森林這四種算法進行對比實驗。

為驗證文中特征工程方法在藥品消費行為預測中的有效性,采取實驗步驟如下:

(1)輸入未采用文中特征工程方法的原始特征進行預測;

(2)在原始特征的基礎上添加文中特征工程方法,再與原始特征的預測效果做對比。

為排除偶然性問題,采用十折交叉驗證的方法進行10次實驗,取平均,得到的結果如圖5所示。

圖5 特征工程有效性對比

在相同數據集中,對定長滑動窗口提取的原始特征添加文中特征工程處理方法,在支持向量機、邏輯回歸、XGBoost、隨機森林分類模型4種經典的模型算法中采用十折交叉驗證進行對比實驗。通過實驗結果可知,較原始特征相比,在添加文中特征工程方法后精準度提高約5.75% ~14.92%。以上對比實驗結果表明,文中特征工程方法對模型效果有提升作用,即在消費行為預測上具有一定的有效性。

3.4 集成學習模型對比實驗

為驗證文中提出的基于stacking策略的集成學習模型優于單個的機器學習模型,選取集成學習模型與其包含的單個模型進行對比,即與XGBoost、隨機森林、梯度提升決策樹和邏輯回歸進行對比,實驗結果如圖6與表6所示。

圖6 文中模型與單個模型roc曲線對比

表6 文中模型與單個模型精準率對比

由圖6的roc曲線對比可知,在消費行為預測上,基于stacking策略的集成學習模型整體性能要優于其他四個單個模型,其中auc值最大,達到72.74%。由表6可知,基于stacking策略的集成學習模型在精準率上也是最高的,達到82.81%,驗證了提出的集成學習模型在消費行為預測上的有效性。

4 結束語

銷售企業結合電子管理系統快速發展,已經積累了龐大的用戶基數與消費數據,而在現今的互聯網時代,傳統的營銷方法已無法滿足企業的發展要求,商家急需尋找新途徑刺激用戶的消費行為,提高企業競爭力,于是從海量數據中挖掘價值信息,預測用戶的消費行為,從而促進銷售成為了企業關注的重點。該文考慮到多數特征工程方法在現有數據挖掘深度上不足的問題,通過結合具體活動場景,提出了深入挖掘特征的時間屬性和特征之間隱含信息的特征工程方法,并在多個算法模型中驗證了該特征工程方法的有效性,精準率提升約5.75%~14.92%。同時充分學習利用多個分類器的優點,構建stacking策略的集成學習模型,對消費行為進行預測,實驗證明該集成學習模型比單個模型的效果更好,精準率最高,達到82.81%,充分驗證了該模型在消費行為預測上的有效性。

猜你喜歡
特征用戶實驗
記一次有趣的實驗
如何表達“特征”
做個怪怪長實驗
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 高清码无在线看| 精品撒尿视频一区二区三区| 一本大道视频精品人妻| 真人高潮娇喘嗯啊在线观看| 91精品国产91欠久久久久| 在线观看国产精美视频| 成人日韩欧美| 毛片最新网址| 国产凹凸视频在线观看 | 日本午夜在线视频| 四虎永久免费地址在线网站 | 先锋资源久久| 精品国产Ⅴ无码大片在线观看81| 天天综合网在线| 久久毛片免费基地| 欧美不卡二区| 三级欧美在线| 伊人久久大香线蕉影院| 亚洲欧美日韩色图| 亚洲免费福利视频| 97久久人人超碰国产精品| 久久国产拍爱| 免费不卡在线观看av| 欧美成人精品在线| 中文字幕佐山爱一区二区免费| 国产精品嫩草影院视频| 国产99久久亚洲综合精品西瓜tv| 国产va在线观看免费| 欧美一级特黄aaaaaa在线看片| 国产成人在线无码免费视频| 国产第八页| 精品精品国产高清A毛片| 91免费国产在线观看尤物| 亚洲高清资源| 国产在线观看高清不卡| 精品视频一区在线观看| 国产靠逼视频| 一边摸一边做爽的视频17国产| 99久久国产综合精品2023| 午夜a级毛片| 国产成人高清在线精品| 欧美一区福利| 狼友视频国产精品首页| 亚洲 欧美 偷自乱 图片| 中文字幕首页系列人妻| 欧美日韩久久综合| 伊人色天堂| 免费国产黄线在线观看| 成人午夜精品一级毛片| 青青青视频91在线 | 国产va在线| 综合久久久久久久综合网| 91小视频在线播放| 亚洲欧州色色免费AV| 国产69精品久久久久妇女| 久久免费观看视频| 久久国产亚洲欧美日韩精品| 亚洲福利网址| 成人日韩视频| 国产综合精品日本亚洲777| 久夜色精品国产噜噜| 2021亚洲精品不卡a| 中文字幕啪啪| 一级毛片免费不卡在线视频| 在线一级毛片| 国产日韩欧美一区二区三区在线 | 欧洲av毛片| 中文字幕无码电影| 国产农村妇女精品一二区| 国产靠逼视频| 92午夜福利影院一区二区三区| 国产69精品久久| 亚洲成人精品在线| 国产男女免费视频| 国产高清国内精品福利| 国产精品不卡片视频免费观看| 一级爱做片免费观看久久 | 欧美黑人欧美精品刺激| 婷婷综合色| 99视频精品全国免费品| 青青操视频在线| 午夜日b视频|