我面临着一个关于序列挖掘的棘手问题,比如我有10种产品,我有数百万条记录,每条记录都包含用户、产品和购买时间戳。每个用户可能只有1条记录或100条记录。例如:
user 1, p1, t1
user 1, p1, t2
user 1, p2, t3
user 1, p3, t4
user 1, p1, t5
user 2, p2, t6.....
现在我需要预测什么时候是为用户推广产品的最佳时机。
到目前为止,我的解决方案是,将时间分成几个类别。然后对数据应用Apriori,例如记录将如下所示
user 1, p1T1
user 1, p2T2
user 1, p3T2
user 1, p2T
我正在尝试添加建议到我们的电子商务网站使用Mahout。我决定使用基于项目的推荐,我有大约60K个产品,200K个用户和4M个用户-产品偏好。我正在寻找一种通过离线计算项目相似度来提供推荐的方法,这样recommender.recommend()方法将在100毫秒内提供结果。
DataModel dataModel = new FileDataModel("/FilePath");
_itemSimilarity = new TanimotoCoefficientSimilarity(dataModel);
_recommender = new CachingRecommend