工具:
采用算法,CF,ALS,所用开发环境 spark-ml库
原始数据格式:
uin|mapid|TotalDuration 用户-地图-游戏时间
步骤:
- 处理原始数据,用相关用户行为定义算法,处理数据得到 uin|mapid|rating 对应用户-地图评分
- 根据评分数据计算地图相似度(ITEM_CF,邻域算法)
- 用户相似采用spark-ml自带的ALS算法,原始数据UinCount>>>>MapCount,数据量过于庞大集群受不了且成本太高
最终数据格式:
地图相似:MapId|Arr[(MapId,score).....]|,地图相似关联表
ALS:Uin|Arr[(MapId,score).....]|,用户推荐地图关联表
作用:
-
地图相似用于关联MapId,可在线上根据用户点击MapId,关联相关地图实时推送,也可根据用户上一次登录的游戏地图行为进行关联
优点:较为精准,点对点,可用于线上关联MapId
缺点:多样性差 -
用户推荐地图关联表,离线计算的推荐列表,用于线上关联uin
优点:多样性高,点对面
缺点:只能离线,线上无变化