没有负面例子时的客户行为预测
Customer behaviour prediction when there are no negative examples
假设您拥有一家邮政服务公司,并且想要优化您的业务流程。您有以下形式的订单历史记录(按日期排序):
# 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%)在 "weight-in-grams" 字段中包含正数,但也有少数记录的权重为零(可能这些消息已被取消或丢失)。
是否可以从历史文件中预测用户(Alice、Bob等)是否会在2017年11月使用该服务?我应该使用什么机器学习方法?
我尝试使用简单的逻辑回归和决策树,但它们显然为 任何 用户提供了积极的结果,因为训练集中的消极例子很少。我也尝试过应用 Pareto/NBD 模型(R 中的 BTYD 库),但对于大型数据集来说它似乎非常慢,而且我的数据集包含超过 500 000 条记录。
我还有另一个问题:如果我归因于负样本(考虑到在某个月没有发送信件的用户是这个月的负样本),数据集从 30 Mb 增长到 10 Gb .
答案是肯定的你可以尝试预测。
您可以将其视为时间序列和 运行 RNN:
在你的数据集上训练你的 RNN,这样每个用户都是一个样本。
您还可以通过聚合每个用户的数据来旋转您的集合,使每个用户成为一行(观察)。然后运行多元逻辑回归。您将以这种方式丢失信息,但它可能更简单。您可以添加时间相关的列,例如'average delay between orders'、'average orders per year'等
您可以使用贝叶斯方法来估计用户 return 的概率。
假设您拥有一家邮政服务公司,并且想要优化您的业务流程。您有以下形式的订单历史记录(按日期排序):
# 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%)在 "weight-in-grams" 字段中包含正数,但也有少数记录的权重为零(可能这些消息已被取消或丢失)。
是否可以从历史文件中预测用户(Alice、Bob等)是否会在2017年11月使用该服务?我应该使用什么机器学习方法?
我尝试使用简单的逻辑回归和决策树,但它们显然为 任何 用户提供了积极的结果,因为训练集中的消极例子很少。我也尝试过应用 Pareto/NBD 模型(R 中的 BTYD 库),但对于大型数据集来说它似乎非常慢,而且我的数据集包含超过 500 000 条记录。
我还有另一个问题:如果我归因于负样本(考虑到在某个月没有发送信件的用户是这个月的负样本),数据集从 30 Mb 增长到 10 Gb .
答案是肯定的你可以尝试预测。
您可以将其视为时间序列和 运行 RNN: 在你的数据集上训练你的 RNN,这样每个用户都是一个样本。
您还可以通过聚合每个用户的数据来旋转您的集合,使每个用户成为一行(观察)。然后运行多元逻辑回归。您将以这种方式丢失信息,但它可能更简单。您可以添加时间相关的列,例如'average delay between orders'、'average orders per year'等
您可以使用贝叶斯方法来估计用户 return 的概率。