【问题标题】:Variable that apply only to a subset of the data仅适用于数据子集的变量
【发布时间】:2019-11-11 18:12:50
【问题描述】:

我正在使用此链接上提供的公共数据集。

这是关于营销的,其中一个变量(pdays,数字)是指从上一个广告系列中最后一次联系客户后经过的天数。

值为 999 的行表示之前未联系过客户。恐怕在 ML 算法中使用它会导致错误的结果。

我正在考虑将它们归零。但我不知道在使用算法之前缩放数据集时如何处理零(我应该考虑零吗?)。

有没有更好的解决方案?

【问题讨论】:

    标签: machine-learning data-transform


    【解决方案1】:

    我认为您将这个值设为 0 是正确的,但这里的最佳做法可能是同时定义一个新的二进制变量。您可以将此变量命名为“以前未联系过”,并且对于值 999 的每个观察值,将值 1 分配给新变量,表示以前未联系过客户,否则为 0。

    【讨论】:

    • 感谢您提供有关添加新标志变量的提示。但是缩放呢?我应该缩放pdays 变量是否包含零?
    • 这取决于您,我的以下答案不正确,因为有多种方法可以解决。我会将符合条件的值拟合为 -1 到 1 的比例,并强制所有调整后的值(以前的 999 的值)在这个新的比例中为 0,以此作为奇数值居中的一种方式,这样它们就不会被视为具有统计意义(也不是高也不低)。想象一下学习多元线性回归,即变量的权重和偏差。 0 会取消并且不会改变模型输出的值,从而迫使模型学习其他变量(标志变量)或偏差的调整。
    猜你喜欢
    • 1970-01-01
    • 2016-10-12
    • 2020-04-02
    • 2014-12-03
    • 2018-11-26
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多