即收集用戶行爲數據集,並分爲訓練集和測試集,在訓練集上訓練用戶興趣模型,在測試集上進行預測——經過事先定義的離線指標評測算法在測試集上的預測結果。算法
offline experiment的缺點是沒法得到不少商業上關注的指標,好比點擊率、轉化率等。羅列其優缺點以下:
測試
即調查問卷。注意提供用戶對於同一個事要在不一樣的維度的評價。網站
即分紅不一樣的組進行對照試驗。ui
評測指標主要有預測準確度(評分預測、topN推薦)、覆蓋率、多樣性、新穎性、驚喜度、用戶滿意度、信任度、實時性、健壯性、商業目標等。有些能夠定量計算,有些則只能定性描述。3d
是最重要的推薦推薦系統離線評測指標。code
評分預測即經過用戶以往對於各類商品的評分,來得到用戶的興趣模型,而後==預測用戶看到一個沒有評過度的物品時會給多少分。評分預測準確度經過均方根偏差RMSE和平均絕對偏差MAE計算。公式以下:blog
$RMSE=\sqrt{ \frac{ \sum_{r,i\in T}(r_{ui}-\hat{r}_{ui}) }{|T|} } $
$ MAE=\frac{ \sum_{u,i \in T}|r_{u,i}-\hat{r}_{u,i}| }{|T|} $
$r_{ui} $
是用戶u對商品i的實際評分,$\hat{r}_{ui} $
這是推薦算法的預測評分。ci
topN推薦即網站推薦給用戶的推薦列表,通常經過 準確率precision/召回率recall 度量。公式以下:io
$ Recall=\frac{ \sum_{u \in U}|R(u)\cap T(u)| }{ \sum_{u \in U}|T(U)| } $
方法
$ Recall=\frac{ \sum_{u \in U}|R(u)\cap T(u)| }{ \sum_{u \in U}|R(u)| } $
其中 R(u)是根據用戶在訓練集上的行爲給出的推薦列表, T(u) 是根據用戶在測試集上的行爲給出的推薦列表。
coverage是推薦系統推薦出來的物品佔總物品的比例。計算公式以下三種:
$ Coverage=\frac{|\cap_{u \in U} R(u)| }{|I|} $
信息熵(其中p(i)是物品i流行度除以全部物品流行度之和): $ H=- \sum_{i=1}^n p(i)logp(i)$
基尼係數(Gini Index),其中$i_j$
是按照物品流行度p從小到大排列順序的物品中第j個物品:
$ G=\frac{1}{n-1} \sum_{j-1}^n(2j-n-1)p(i_j) $
-- 寫latex好麻煩啊,等待實際用到時在詳更這些評測指標,查閱見《推薦系統實踐》項亮