关于分类数据编码所需了解的所有信息(使用Python代码)( 四 )


我们仅对训练数据执行目标编码 , 并使用从训练数据集中获得的结果对测试数据进行编码 。 尽管这是一种非常高效的编码系统 , 但它具有以下问题 , 这些问题会导致模型性能下降

  1. 它可能导致目标泄漏( target leakage)或过拟合 。 为了解决过拟合问题 , 我们可以使用不同的技术 。在留一法编码中 , 将当前目标值从目标的整体平均值中减小以避免泄漏 。在另一种方法中 , 我们可能会在目标统计信息中引入一些高斯噪声 。 这种噪声的值是模型的超参数 。
  2. 我们可能面临的第二个问题是训练和测试数据中类别的不正确分配 。 在这种情况下 , 类别可能采用极端值 。 因此 , 类别的目标平均值与目标的边际平均值混合在一起 。
尾注总而言之 , 对分类数据进行编码是特征工程中不可避免的部分 。 知道我们应该使用哪种编码方案更为重要 。 考虑到我们正在使用的数据集和将要使用的模型 。 在本文中 , 我们已经看到了各种编码技术以及它们的问题和合适的用例 。