我正在尝试为电子商务建立一个模型,以预测通过在线营销渠道(例如谷歌购物)获得的单击收入。点击是针对产品详细信息页面,因此我的培训数据包括产品详细信息,如:价格,交货时间,类别,制造商。每次历史点击都会为其带来收入。问题是,对于95%以上的点击,收入等于零。
历史数据如下所示:
click_id | manufacturer | category | delivery_time | price | revenue
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
正如您所看到的,两个数据点具有完全相同的特征和目标变量(收入)的非常不同的值是可能的(并且是常见的)。例如,前4个数据点具有相同的功能,并且只有4个数据点具有收入。理想情况下,我的模型会在具有相同功能的测试示例中预测这4次点击的平均收入(即30)。
在我尝试应用模型之前,我的问题是关于数据表示。我相信我有两个选择:
非常欢迎任何有关如何解决此问题的建议。
答案 0 :(得分:0)
95%的数据收入为零,您可能需要对记录采取一些措施,例如抽样。按照目前的构建,您的模型可以预测" no" 100%的时间仍然是95%准确。您需要对模型中的错误类型进行设计选择。您是否希望尽可能准确",因为它错过了最少的可能记录,错过了尽可能少的收入记录,或者避免错误地将记录分类为收入,如果它们实际上不是&#39 ; t(如果您感到好奇,请阅读关于类型1和2错误的更多信息)
您可以做出几个高级别的选择:
1)您可以对数据进行过度采样。如果您有大量记录并且想要确保捕获创收功能,则可以复制这些记录或执行一些记录工程来创建" fake"记录与产生收入的记录非常相似。这将增加您的模型捕获什么带来收入的可能性,并且当您将这些功能应用于实际数据时,它将极有可能重视这些功能
2)您可以使用模型预测概率,然后扩展您的概率。例如,您可以查看您的模型,并说任何产生收入的可能性超过25%的任何事物实际上都是"肯定的"情况下
3)如上所述,您可以先尝试对数据进行聚类,然后尝试在"求和"上运行分类算法。值,而不是单个记录。
4)是否有一些细分受到≥5%可能性的细分?也许在这些子集上建立一个模型。
这些都是模型设计选择,没有正确/错误的答案 - 它只取决于你想要完成的事情。
根据您的回复编辑 回归可能会受到异常值的显着影响,因此我会谨慎地尝试使用回归来预测美元金额。您的大多数变量很可能具有较小的系数,截距将反映平均花费。您应该记住的另一件事是互动条款。例如,如果你是男性,你可能更有可能购买,如果你年龄在25-30岁之间,你更有可能购买,但是男性和25-30人都有更大的影响。
我提出分类的原因是你可以尝试进行分类以查看谁可能购买,然后再申请美元金额。这种方法会阻止您为每笔交易提供基本相同的非常小的金额。