【问题标题】:How to use target encoding : expanding mean on the test set如何使用目标编码:在测试集上扩展均值
【发布时间】:2020-02-17 16:11:46
【问题描述】:

expanding mean 是一种在执行target encoding 时防止过度拟合的方法。但我不明白的是如何使用这种技术在训练集上应用拟合并在测试集上应用变换来编码我的特征,因为这种编码技术动态地编码特征;给定特征级别的编码值在输入之后随着输入而变化,因为它取决于累积和。

cumulative_sum = training.groupby(column)["target"].cumsum() - training["target"]
cumulative_count = training.groupby(column).cumcount()
train_new[column + "_mean_target"] = cumulative_sum/cumulative_count

【问题讨论】:

    标签: machine-learning encoding deep-learning target categorical-data


    【解决方案1】:

    您不应该简单地将针对不同类别计算的目标变量的平均值映射到测试集中的相应类别吗?仅用于正则化目的的训练部分需要累积均值。

    【讨论】:

      【解决方案2】:

      我也想知道如何计算测试集的平均编码。 现在,我正在重新计算训练集的平均值并将值分配给测试集。

      test.merge(training.groupby(column).mean().reset_index(), on=column)
      

      【讨论】:

        猜你喜欢
        • 2019-06-20
        • 2021-06-14
        • 1970-01-01
        • 1970-01-01
        • 2010-11-25
        • 1970-01-01
        • 2020-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多