但是综合来讲精准推荐利大于弊,它是很好的增加用户粘性的一种方式,今天只是说几种最基础的算法,对于精准推荐的利弊,在接下来的文章会进行详细的分析。以下仅个人观点,不喜勿喷。谢谢大家。
我们先以标签为例来进行分析。 一、算法的基础
Apriori算法用于挖掘出数据关联规则的基础算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。
比如在常见的超市购物数据集,或者电商的网购数据集中,如果我们找到了频繁出现的数据集,那么对于超市,我们可以优化产品的位置摆放,对于电商,我们可以优化商品所在的仓库位置,达到节约成本,增加经济效益的目的。
同样一个用户总浏览相同的形式的内容,那么你就更加精确发现其兴趣点,及其其他相关产品进行推荐。
Aprior算法是一个非常经典的挖掘算法,很多算法都是基于Aprior算法而产生的,包括FP-Tree、GSP、CBA等。这些算法利用了Aprior算法的思想,但是对算法做了改进。生命的真谛不就是在于不断进步? 二、FP Tree算法
这个算法是我在刚进行算法精推时的首选,结构比较简单,适用于刚刚搭建的阶段。
这里对FP Tree算法流程做一个归纳。FP Tree算法包括以下几步:
1)首先扫描数据,得到所有频繁1项集的的计数。然后删除支持度低于阈值的项,将1项频繁集放入项头表,并按照支持度降序排列。项头表支持度必须大于百分之20才可进行记录其中。
2)其次将原始数据剔除支持度低于百分之20的数值,重新得到数据集。
3)读入排序后的数据集,插入FP树,插入时按照排序后的顺序,插入FP树中,排序靠前的节点是祖先节点,而靠后的是子孙节点。如果有共用的祖先,则对应的公用祖先节点计数加1。插入后,如果有新节点出现,则项头表对应的节点会通过节点链表链接上新节点。直到所有的数据都插入到FP树后,FP树的建立完成。
4)从项头表的底部项依次向上找到项头表项对应的条件模式基递。从条件模式基递归挖掘得到项头表项的频繁项集。
5)如果不限制频繁项集的项数,则返回步骤4所有的频繁项集,否则只返回满足项数要求的频繁项集。 这样有相同的因素出现时,我们可以简单的理解为其相关性,这些相关性我们可以把标签当作一个值来进行系统的初期分配。
|