Machine learning 点击收入预测模型

Machine learning 点击收入预测模型,machine-learning,regression,linear-regression,Machine Learning,Regression,Linear Regression,我正在尝试建立一个电子商务模型,预测通过在线营销渠道(如谷歌购物)点击的收入。点击的目标是产品详细信息页面,因此我的培训数据包括产品详细信息,如:价格、交付时间、类别、制造商。每一次历史点击都会带来收入。问题是,超过95%的点击量的收入等于零 历史数据如下所示: 点击|标识|制造商|类别|交货|时间|价格|收入 1 | man1 | cat1 | 24 | 100 | 0 2 | man1 | cat1 | 24 | 100 | 0 3 | man1 | cat1 | 24 | 100 | 0

我正在尝试建立一个电子商务模型,预测通过在线营销渠道(如谷歌购物)点击的收入。点击的目标是产品详细信息页面,因此我的培训数据包括产品详细信息,如:价格、交付时间、类别、制造商。每一次历史点击都会带来收入。问题是,超过95%的点击量的收入等于零

历史数据如下所示:

点击|标识|制造商|类别|交货|时间|价格|收入

1 | man1 | cat1 | 24 | 100 | 0

2 | man1 | cat1 | 24 | 100 | 0

3 | man1 | cat1 | 24 | 100 | 0

4 | man1 | cat1 | 24 | 100 | 120

5 | man2 | cat2 | 48 | 200 | 0

正如您所看到的,两个数据点有可能(也很常见)具有完全相同的特性和非常不同的目标变量(收入)值。e、 g前4个数据点具有相同的功能,只有第4个有收入。理想情况下,我的模型将在具有相同特性的测试示例上预测这4次点击的平均收入(即30次)

在我尝试应用模型之前,我的问题是关于数据表示的。我相信我有两个选择:

  • 直接应用回归来点击数据(如上面的例子),并希望回归会做正确的事情。在这种情况下,最终回归误差将相当大,因此很难判断模型实际有多好
  • 尝试将多个数据点(单击)分组到一个点,以避免出现一些零-将具有相同功能的所有数据点分组,并将目标(收入)变量计算为总和(收入)/计数(单击)。使用这种方法,我的收入仍然有很多零(只有很少点击的产品),有时会有数千次点击,只给你一个数据点——这似乎是不对的

任何关于如何处理这个问题的建议都是非常受欢迎的

由于95%的数据收入为零,您可能需要对记录进行一些处理,例如采样。按照目前构建的模型,您的模型可以100%预测“否”,但仍然有95%的准确性。您需要对模型中希望出现的错误类型进行设计选择。您是否希望它“尽可能准确”,因为它遗漏了尽可能少的记录,遗漏了尽可能少的收入记录,或者避免将记录错误地分类为收入(如果实际不是这样的话)(如果您好奇,请阅读有关类型1和2错误的更多信息)

您可以做出以下几个高层次的选择:

1) 您可能会对数据进行过度采样。如果您有很多记录,并且希望确保捕获创收功能,您可以复制这些记录,或者进行一些记录工程,以创建与创收功能非常相似的“假”记录。这将增加您的模型抓住收入驱动因素的可能性,并使您在将其应用于实际数据时极有可能对这些功能进行估价

2) 你可以使用一个模型来预测概率,然后调整你的概率。例如,您可以查看您的模型,并说任何有超过25%的可能性产生收入的情况实际上都是“积极”的

3) 如前所述,您可以尝试先对数据进行聚类,然后尝试对“求和”值而不是单个记录运行分类算法

4) 是否存在一些命中概率大于5%的分段?也许可以在这些子集上建立一个模型

这些都是模型设计的选择,没有正确/错误的答案——这取决于你试图完成什么

根据您的回复进行编辑 回归可能会受到异常值的显著影响,所以我会稍微小心一点,尝试使用回归来预测美元金额。你的大部分变量很可能都有小的系数,截距会反映平均花费。你应该记住的另一件事是交互术语。例如,如果你是男性,你更有可能购买,如果你年龄在25-30岁,你也更有可能购买,但同时是男性和25-30岁会产生巨大的影响


我提出分类的原因是,你可以尝试做一个分类,看看谁有可能购买,然后再应用美元金额。这种方法将防止您在每笔交易中获得基本相同的非常小的金额

由于95%的数据收入为零,您可能需要对记录进行一些处理,例如采样。按照目前构建的模型,您的模型可以100%预测“否”,但仍然有95%的准确性。您需要对模型中希望出现的错误类型进行设计选择。您是否希望它“尽可能准确”,因为它遗漏了尽可能少的记录,遗漏了尽可能少的收入记录,或者避免将记录错误地分类为收入(如果实际不是这样的话)(如果您好奇,请阅读有关类型1和2错误的更多信息)

您可以做出以下几个高层次的选择:

1) 您可能会对数据进行过度采样。如果您有很多记录,并且希望确保捕获创收功能,您可以复制这些记录,或者进行一些记录工程,以创建与创收功能非常相似的“假”记录。这将增加您的模型抓住收入驱动因素的可能性,并使您在将其应用于实际数据时极有可能对这些功能进行估价

2) 你可以用一个模型来预测概率