预测客户意图

问题描述 投票:0回答:1

我得到了这个前景数据集:

ID     Company_Sector         Company_size  DMU_Final  Joining_Date  Country
65656  Finance and Insurance       10        End User   2010-04-13   France
54535  Public Administration       1         End User   2004-09-22   France

和销售数据集:

ID    linkedin_shared_connections   online_activity  did_buy   Sale_Date
65656            11                        65           1      2016-05-23
54535            13                        100          1      2016-01-12

我想建立一个模型,为前景表中的每个潜在客户分配成为客户的概率。该模型将预测潜在客户是否会购买,并返回概率。销售表提供有关 2015 年销售的信息。我的方法——“确实购买”列应该是模型中的标签,因为 1 代表潜在客户在 2016 年购买,0 意味着没有销售。另一个有趣的栏是在线活动,范围从 5 到 685。它越高,潜在客户对该产品越活跃。所以我可能尝试做随机森林模型,然后以某种方式将每个潜在客户的概率放入新的意图列中。在这种情况下,随机森林是一种有效的模型吗?或者我应该使用另一种模型。如何将模型结果应用到第一个表中每个潜在客户的新“意图”列中。

python pandas numpy scikit-learn data-mining
1个回答
1
投票

TL;DR:随机森林很好,但由于数据不平衡,似乎不合适。您应该阅读有关推荐系统的内容,以及更时尚的性能良好的模型,例如Wide 和 Deep

答案取决于:您有多少数据?推理过程中您有哪些可用数据?在客户购买之前,您能否看到潜在销售的当前“online_activity”属性?许多问题可能会改变适合您任务的整个方法。

建议:

一般来说,这是一种通常会处理非常不平衡数据的业务 - 少量的“did_buy”=1 与大量的潜在客户。

在数据科学方面,您应该定义有价值的成功指标,并尽可能直接映射到金钱。在这里,通过广告或接近更有可能的客户采取行动似乎可以提高“did_buy”/“was_approached”,这是衡量成功的一个重要指标。加班后,如果你提高这个数字,你就成功了。

要考虑的另一件事是您的数据可能很稀疏。我不知道您通常会购买多少商品,但可能每个国家/地区只有 1 个商品等。这一点也应该考虑在内,因为简单的随机森林可以轻松地在大多数随机模型中针对此列,并且过度拟合将成为一个大问题。 决策树受到不平衡数据集的影响。然而,通过计算叶子中每个标签的概率,而不是做出决定,有时对简单的可解释模型很有帮助,并且它反映了不平衡的数据。 说实话,我并不真正相信这是正确的方法。

如果我在你身边:

我首先将 Prospects 列嵌入到向量中:

  • 将类别转换为随机向量(针对每个类别)或 one-hot 编码。
  • 将公司规模标准化或分桶为适合预测模型的数字(下)
  • 关于日期的想法相同。在这里,也许年可能有问题,但月/日应该有用。
  • 国家绝对是绝对的,也许添加另一个“未知”国家类别。

那么,

  • 我会使用一个可以根据不同成本实际优化的模型。逻辑回归是一种广泛的回归,深度神经网络是另一种选择,或者参见 Google 的 Wide 和 Deep 的组合。
  • 将成本设置为我的黄金数字(标签方面的货币指标),或尽可能接近的值。
  • 运行实验

最后,

  • 检查我的结果以及失败的原因。
  • 建议其他型号/功能
  • 重复。
  • 去吃发射吧。
  • 问一堆数据问题。
  • 尝试至少回答一些。
  • 发现数据中新的有趣关系。
  • 建议一些有趣的事情。
  • 重复(明天)。
© www.soinside.com 2019 - 2024. All rights reserved.