预测最佳通话时间

数据挖掘 机器学习 分类 回归 scikit-学习
2021-09-26 02:31:16

我有一个数据集,其中包括加利福尼亚不同城市的一组客户、每个客户的呼叫时间以及呼叫状态(如果客户接听电话则为 True,如果客户不接听电话则为 False)。

我必须找到一个合适的时间给未来的客户打电话,这样接听电话的可能性就很高。那么,解决这个问题的最佳策略是什么?我是否应该将其视为一个分类问题,其中小时 (0,1,2,... 23) 是类?还是我应该将其视为时间是连续变量的回归任务?如何确保接听电话的概率很高?

任何帮助,将不胜感激。如果您向我推荐类似的问题,那也很棒。

下面是数据的快照。

3个回答

如果您将其建模为没有适当转换的回归问题,您实际上可能会遇到问题。例如,我们知道大多数电话可能在白天被接听,而在夜间和清晨则更少。线性回归会有困难,因为这种关系可能是曲线的,而不是线性的。出于同样的原因,将其视为逻辑回归的分类任务也是有问题的。

正如其他受访者所建议的那样,将您的数据重新分类为时间段会有所帮助,我建议您首先尝试使用决策树或随机森林之类的方法。

综上所述,这可能是简单描述性统计的一个案例。如果您按一天中的时间(按城市或任何其他人口统计)绘制接听电话的比例,是否有明确的最佳时间?如果是这样,为什么要用模型使事情复杂化?

您可以尝试以下方法:

  1. 把一天分成不同的部分——清晨、早上、中午、下午、晚上、傍晚、晚上等。
  2. 为一天中的每个部分分配时间界限,例如中午可以是中午 12 点到下午 1 点。
  3. 创建 3 个新标签 - “当天致电客户”,为每个正面案例(呼叫状态 = true)分配相应的标签(早上/中午/晚上)。这些标签将采用 one-hot 编码格式,例如 prefer_morning=0/1、prefer_noon、prefer_evening 等。
  4. 构建 3 个模型来预测领导者是否更喜欢一天中的早上/中午/晚上时间来成功进行通话。

此外,我建议添加额外的特征,如职业、性别等,因为表中列出的特征(城市等)过于模糊,无法提供太多信息来区分客户。

根据评论中的建议进行编辑:

使用该模型时,每个潜在客户将被分类为 prefers_morning=yes/no、prefers_noon=yes/no 和 prefers_evening=yes/no。基于一天中的时间,例如早上,呼叫中心代理(或软件)可以接听并呼叫分类在早上偏好集中的线索。中午时,呼叫软件从中午首选列表中接听电话,依此类推。

我会使用逻辑回归-您将需要他们没有拾取的样本。然后我会将小时视为季节性虚拟回归量(23 小时作为虚拟变量,让一个流向截距)。

如果您不将其视为季节性虚拟回归量,您将不得不执行某种转换,因为这种关系不会是线性的。

之前有人建议将中午等替换为分类变量。这是一个坏主意,因为你有细节,你在那里失去了细节。这与利用最佳分箱使关系线性化具有类似的效果,但我仍然认为这行不通。尝试季节性虚拟回归器。