
關(guān)于推薦算法的一些思考
最近做了一個交叉銷售的項目,梳理了一些關(guān)鍵點,分享如下,希望對大家有所啟發(fā)
核心目標:在有限資源下,盡可能的提供高轉(zhuǎn)化率的用戶群,輔助業(yè)務(wù)增長
初步效果:商家ROI值為50以上,用戶日轉(zhuǎn)化率提升10倍以上,用戶日最低轉(zhuǎn)化效果5pp以上
以下為正文:
數(shù)據(jù)準備:
1.商品相關(guān)性
存在商品A,B,C...,商品之間用戶會存在行為信息的關(guān)聯(lián)度,這邊可以參考協(xié)調(diào)過濾算法中的Item-based,這邊拓展為用戶在不同商品之間的操作行為的差異性。
可以形成如下的特征矩陣:
這邊相關(guān)的常見度量方式有以下幾種:
a.距離衡量
包括瀏覽、點擊、搜索等等各種行為的歐式、馬氏、閔式、切比雪夫距離、漢明距離計算
b.相似度衡量
包括余弦相似度、杰卡德相似度衡量
c.復(fù)雜衡量
包括相關(guān)性衡量,熵值衡量,互信息量衡量,相關(guān)距離衡量
2.商品行為信息
探求商品及其對應(yīng)行為信息的笛卡爾積的映射關(guān)系,得到一個商品+用戶的行為魔方
商品集合:{商品A、商品B、...}
商品屬性集合:{價格、是否打折、相比其他電商平臺的比價、是否缺貨...}
用戶行為集合:{瀏覽次數(shù)、瀏覽時長、末次瀏覽間隔、搜索次數(shù)、末次搜索間隔...}
通過商品集合*商品屬性集合*用戶行為集合,形成高維的商品信息魔方,再通過探查算法,篩選優(yōu)秀表現(xiàn)的特征,這里推薦的有pca,randomforest的importance,lasso變量壓縮,相關(guān)性壓縮,逐步回歸壓縮等方法,根據(jù)數(shù)據(jù)的屬性特點可適當(dāng)選取方法
最后,我們會得到如下一個待選特征組:
3.商品購買周期
針對每一件商品,都是有它自身的生命周期的,比如,在三個月內(nèi)買過冰箱的用戶,95%以上的用戶是不會選擇二次購買的;而在1個月的節(jié)點上,會有20%的用戶會選擇二次購買生活用紙。所以我們需要做的一件事情就是不斷更新,平臺上面每個類目下面的商品的自身生命周期。除此之外,考慮在過渡時間點,用戶的需求變化情況,是否可以提前觸發(fā)需求;這邊利用,艾賓浩斯遺忘曲線和因子衰減規(guī)律擬合:
確定lamda和b,計算每個用戶對應(yīng)的每個類目,當(dāng)前時間下的剩余價值:f(最高價值)*lamda*b
業(yè)務(wù)運營過程中,通過數(shù)據(jù)常規(guī)可以得到1.基礎(chǔ)結(jié)論,2.挖掘結(jié)論。基礎(chǔ)結(jié)論就是統(tǒng)計結(jié)論,比如昨日訂單量,昨日銷售量 ,昨日用戶量;挖掘結(jié)論就是深層結(jié)論,比如昨日活躍用戶數(shù),每日預(yù)估銷售量,用戶生命周期等
存在如下的探索形式,這是一個漫長而又非常有價值的過程:
模型整合
再確定以上四大類的數(shù)據(jù)特征之后,我們通過組合模型的方法,判斷用戶的交叉銷售結(jié)果
1.cart regression
確保非線性密度均勻數(shù)據(jù)擬合效果,針對存在非線性關(guān)系且數(shù)據(jù)可被網(wǎng)格切分的產(chǎn)業(yè)用戶有高的預(yù)測能力
2.ridge regression
確??删€性擬合及特征繁多數(shù)據(jù)的效果,針對存在線性關(guān)系的產(chǎn)業(yè)用戶有高的預(yù)測能力
3.Svm-liner
確保線性且存在不可忽視的異常點的數(shù)據(jù)擬合效果,針對存在異常用戶較多的部分產(chǎn)業(yè)用戶有高的預(yù)測能力
4.xgboost
確保數(shù)據(jù)復(fù)雜高維且無明顯關(guān)系的數(shù)據(jù)擬合效果,針對存在維度高、數(shù)據(jù)雜亂、無模型規(guī)律的部分產(chǎn)業(yè)用戶有高的預(yù)測能力
以上的組合模型并非固定,也并非一定全部使用,在確定自身產(chǎn)業(yè)的特點后,擇優(yōu)選擇,然后采取投票、加權(quán)、分組等組合方式產(chǎn)出結(jié)果即可。
附上推薦Rcode簡述,
cart regression:
library(rpart)
fit <- rpart(y~x, data=database, method="class",control=ct, parms = list(prior = c(0.7,0.3), split = "information"));
## xval是n折交叉驗證
## minsplit是最小分支節(jié)點數(shù),設(shè)置后達不到最小分支節(jié)點的話會繼續(xù)分劃下去
## minbucket:葉子節(jié)點最小樣本數(shù)
## maxdepth:樹的深度
## cp全稱為complexity parameter,指某個點的復(fù)雜度,對每一步拆分,模型的擬合優(yōu)度必須提高的程度
## kyphosis是rpart這個包自帶的數(shù)據(jù)集
## na.action:缺失數(shù)據(jù)的處理辦法,默認為刪除因變量缺失的觀測而保留自變量缺失的觀測。
## method:樹的末端數(shù)據(jù)類型選擇相應(yīng)的變量分割方法:
## 連續(xù)性method=“anova”,離散型method=“class”,計數(shù)型method=“poisson”,生存分析型method=“exp”
## parms用來設(shè)置三個參數(shù):先驗概率、損失矩陣、分類純度的度量方法(gini和information)
## cost我覺得是損失矩陣,在剪枝的時候,葉子節(jié)點的加權(quán)誤差與父節(jié)點的誤差進行比較,考慮損失矩陣的時候,從將“減少-誤差”調(diào)整為“減少-損失”
ridge regression:
library(glmnet)
glmmod<-glmnet(x,y,family = 'guassian',alpha = 0)
最小懲罰:
glmmod.min<-glmnet(x,y,family = 'gaussian',alpha = 0,lambda = glmmod.cv$lambda.min)
1個標準差下的最小懲罰:
glmmod.1se<-glmnet(x,y,family = 'gaussian',alpha = 0,lambda = glmmod.cv$lambda.1se)
Svm-liner :
library(e1071)
svm(x, y, scale = TRUE, type = NULL, kernel = "",degree = 3, gamma = if (is.vector(x)) 1 else 1 / ncol(x),coef0 = 0, cost = 1, nu = 0.5, subset, na.action = na.omit)
##type用于指定建立模型的類別:C-classification、nu-classification、one-classification、eps-regression和nu-regression
##kernel是指在模型建立過程中使用的核函數(shù)
##degree參數(shù)是指核函數(shù)多項式內(nèi)積函數(shù)中的參數(shù),其默認值為3
##gamma參數(shù)給出了核函數(shù)中除線性內(nèi)積函數(shù)以外的所有函數(shù)的參數(shù),默認值為l
##coef0參數(shù)是指核函數(shù)中多項式內(nèi)積函數(shù)與sigmoid內(nèi)積函數(shù)中的參數(shù),默認值為0
##參數(shù)cost就是軟間隔模型中的離群點權(quán)重
##參數(shù)nu是用于nu-regression、nu-classification和one-classification類型中的參數(shù)
xgboost:
library(xgboost)
xgb <- xgboost(data = data.matrix(x[,-1]), label = y, eta = 0.1,max_depth = 15, nround=25, subsample = 0.5,colsample_bytree = 0.5,seed = 1,eval_metric = "merror",objective = "multi:softprob",num_class = 12, nthread = 3)
##eta:默認值設(shè)置為0.3。步長,控制速度及擬合程度
##gamma:默認值設(shè)置為0。子樹葉節(jié)點個數(shù)
##max_depth:默認值設(shè)置為6。樹的最大深度
##min_child_weight:默認值設(shè)置為1??刂谱訕涞臋?quán)重和
##max_delta_step:默認值設(shè)置為0。控制每棵樹的權(quán)重
##subsample: 默認值設(shè)置為1。抽樣訓(xùn)練占比
##lambda and alpha:正則化
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03