没有负面例子的客户行为预测

时间:2017-10-26 18:10:28

标签: machine-learning prediction data-science

想象一下,您拥有一个邮政服务,并希望优化您的业务流程。您有以下表格的订单历史记录(按日期排序):

# date   user_id   from      to               weight-in-grams
Jan-2014 "Alice"   "London"   "New York"        50
Jan-2014 "Bob"     "Madrid"   "Beijing"         100
...
Oct-2017 "Zoya"    "Moscow"   "St.Petersburg"   30 

大多数记录(约95%)在" wt-in-gram"中包含正数。字段,但有一些没有重量(可能,这些消息被取消或丢失)。

是否可以预测2017年11月历史文件(Alice,Bob等)中的用户是否会使用该服务?我应该使用哪种机器学习方法?

我尝试使用简单的逻辑回归和决策树,但它们显然为任何用户提供了积极的结果,因为训练集中的负面示例非常少。我还尝试应用Pareto / NBD模型(R中的BTYD库),但对于大型数据集来说似乎非常慢,而且我的数据集包含超过500,000条记录。

我还有另外一个问题:如果我把负面例子归咎于(考虑到那个月没有发送信件的用户是本月的反面例子),数据集从30 Mb增长到10 Gb 。

1 个答案:

答案 0 :(得分:1)

答案是肯定的,你可以尝试预测。

您可以将其作为时间序列进行处理并运行RNN: 训练你的RNN在您的旋转集上,以便每个用户都是一个样本。

您还可以通过聚合每个用户的数据来转动您的设置,以便每个用户都是一行(观察)。然后运行多变量逻辑回归。你会以这种方式丢失信息,但它可能更简单。您可以添加与时间相关的列,例如“订单之间的平均延迟”,“每年的平均订单数量”等。

您可以使用贝叶斯方法估计用户返回的概率。