假设您拥有邮政服务,并且想要优化业务流程。您具有以下格式的订单历史记录(按日期排序):

# 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%)在“克重”字段中都包含正数,但是有一些权重为零(也许这些消息已取消或丢失)。

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

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

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

最佳答案

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

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

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

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

08-20 02:11