应用场景:
现在有大量的用户行为数据,样本如下:
用户A:‘网页登录’->‘选择商品A’->‘购买’
用户B:‘手机登录’->‘进入游戏中心’->‘开始玩斗地主’
这些都是用户单次登录后的行为数据流。需要将类似行为的用户数据流简单聚类,存储到不同的分区,方便后续的进一步分析。
面临问题:
- 用户行为太多,上千种:‘选择’,‘浏览’,‘管理’,‘玩耍’
- 不了解数据分布情况,不希望做数据分析
- 只希望简单实现,不希望用Kmeans等方法分类
解决思路:
-
解决分类问题,可以采用数据库常用方法Hash的思路
-
解决聚类问题,可以采用Kmeans的思路
具体实现步骤:
-
用户行为编号词典:
[网页登录,手机登录,浏览选择,购买,游戏中心,玩斗地主]
[1,1,1,1,1,1] -
生成用户行为特征数组
用户A: ‘网页登录’->‘选择商品A’->‘购买’
用户B:‘手机登录’->‘进入游戏中心’->‘开始玩斗地主’
用户A:[1,0,1,1,0,0]
用户B:[0,1,0,0,1,1] -
事前随机生成K值,依据需要的分区数量
K值A