转:[大数据竞赛]协同过滤在这个问题上是否work

http://bbs.aliyun.com/read/154433.html?spm=5176.7189909.0.0.gzyohy&fpage=2

看到主办方之前发的一篇文章里提到,这个购买行为 和 传统的评分过滤问题 还是很不一样的。


但为什么亚马逊 会使用 item-cf等协同过滤算法呢?


这里用item-cf算法为什么会这么差?


难道亚马逊 和天猫上的购买行为 有差别?

协同过滤的关键是要知道用户的显性反馈,即评分。
这个数据集根本就没有给评分,即便是利用购买来做评分,利用binary rate来做,正负例比例失调,购买带来的信息太少。
其他行为作为隐形反馈很难合理的加进SVD++进去。
总体的来说,同样是购物网站,因为数据集的不同,模型好坏不一样。
关于为啥淘宝不用那个好评中评差评来做rate,上淘宝的人都知道,一个差评和中评的影响太大,就算不是很满意也不会打中评的。
个人见解。

因为目标不同。评价推荐算法好坏的指标很多,这次是以用户最终购买来衡量。CF只说明你对这个可能有兴趣,看过耐克,给你推荐阿迪、NB或者别的,当然是有兴趣点击的,但是最终会不会买?不知道。第一步是兴趣的转化,比如点击,比如收藏,这之后还有购买转化。如果只是把源数据处理完,用经典算法或者已有的Toolkit跑一遍,调调参数拿到好的结果,竞赛无论是过程或者结果的意义都没那么大了。

用户的行为差异很大,从哪里看出来?数据里反映出来。

协同过滤是推荐的思想,对应也产生了一些想法。推荐的话,一般你买过的就不会给你推荐了。
但是预测你是否购买,和推荐的问题有些区别的。比如你上个月买过某品牌的零食,你这个月可能还会买相同的东西。还是要对观察数据,看看哪些特征有助于你预测。

亚马逊是推荐你去购买,所以只要推荐的商品是你可能感兴趣的就行。而我们做的是要去预测用户是否会购买,这个问题就大了,用户即使感兴趣也不一定会购买,你可以想想:亚马逊给你推荐了那么多图书,你买了几本它推荐的呢?

原文地址:https://www.cnblogs.com/DjangoBlog/p/3640152.html