我有一个数据集,其中包含有关消费者的数据以及他们是否表示对产品感兴趣的标志。我希望使用 R 构建一个模型,该模型能够在向消费者展示产品之前预测消费者是否会对产品感兴趣。然后,我将根据此模型输出进行过滤,以通过不向数据表明他们不感兴趣的消费者展示产品来降低下游成本。
这是我的数据集的摘要:
行数:~300k
列数:40
列类型:1 位(兴趣标志)、37 num、2 char(分类)
char 列是就业/居住状态,因此包含全职、私人租户等内容。
这是我到目前为止所尝试的:
- 我在 R 中使用 Boruta 包进行特征选择,然后我使用 lm() 创建了一个回归模型并指定了所有重要特征。
- 我已经使用逐步回归进行特征选择,我从一个具有 0 参数的模型和一个具有所有参数的模型开始,并在它们之间“步进”,直到创建最佳模型。然后我抓住重要特征并再次使用 lm() 创建回归模型。
我遇到的问题是,由于兴趣标志非常罕见(大约 1,600 / 300,000 或 0.5%),模型使用 predict() 给出的值明显低于我为逻辑回归模型应用的 0.5 阈值。然后这体现在模型中,基本上说没有人对产品感兴趣。我的问题是:
- 这是因为我没有足够的描述性来构建一个好的模型吗?
- 为如此罕见的事件建立模型的最佳方法是什么?