如何根据用户行为轨迹分类
来源:3-1 Spark环境安装
慕侠1249843
2019-04-25
我可以提取出各个用户每日的行为轨迹,比如a用户他2018/08/24操作轨迹是菜单A–>菜单B–>菜单E 轨迹顺序是按时间先后排的,那么我们想把这些人按照行为轨迹分类,看看哪些用户是采购人员,哪些用户是销售人员之类的而且还想知道每一类人最常用的操作轨迹。
对于这种需求我们可以采用怎样的方法去分类呢,sparkmllib中是否封装了相关算法呢
写回答
1回答
-
有几种思路,主要是特征工程上有区别,其他大同小异。 如你所述的问题,输入可以理解是一个序列,存在一种先后关系。 如果这种输入数据的可能组合不多,直接用分类就可以了。例如菜单a标记为1,菜单b标记为2,以此类推。那么某个用户的输入就可以是[1,2,4...]把它作为一个特征向量X,对应一个标签y代表用户类别,把所有的数据输入一个分类器中进行训练即可。这个X也可以用onehot编码一下。 上述思路对于一些输入维度较小的数据是可以的,但是如果用户的行为比这个要复杂,例如菜单,按钮等等加一起有100个,那么假设用户只能操作10次,那么输入可能的组合就大了,有那么这个特征工程就要更进一步。 更进一步地,如果用户操作的步骤不固定,即按了菜单a一次,与按了菜单b两次,这两个输入特征的维度是不同的。对于这种情况,就要考虑这些操作之间的相关关系,把整个序列作为一个特征去提取,有点类似自然语言处理中的一些方法,对于这种复杂场景,可以参考自然语言处理中的一维数据处理方法122019-05-06
相似问题
老师, 推荐系统的数据应该如何获取
回答 1
不太明白为啥不能过度相信算法?
回答 1