我面临着关于序列挖掘的棘手问题,比如我有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, p2T1...
然后我会得到像p1T1-> p2T2等的规则, 因为T3> T2> T1 ...任何规则都不适合这种情况将被丢弃。
但是,我对此解决方案并不十分满意。有什么建议吗?
答案 0 :(得分:2)
您可以应用顺序模式挖掘算法(例如PrefixSpan,SPAM,GSP)或顺序规则挖掘算法,而不是应用Apriori。
您可以在我的网站上查看这些算法的开源Java源代码和一些示例:
http://www.philippe-fournier-viger.com/spmf/
希望这有帮助,
答案 1 :(得分:0)
您的问题是推荐系统的应用,您可以从KDD cup 2011中学到一些东西。虽然推荐的项目是音乐,但模型也可以满足您的要求。 大多数模型需要时间考虑,如果你仍然不满意,你应该学习一些关于时间序列分析和机器学习来做出预测。