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
难道您不只是将针对不同类别计算的目标变量的平均值映射到测试集中的相应类别?仅出于正规化目的,训练部分才需要累积均值。