gpt4 book ai didi

python - 一个热门编码器是什么行业规范,在训练/分割之前或之后进行编码

转载 作者:行者123 更新时间:2023-12-01 00:19:05 25 4
gpt4 key购买 nike

我知道有些人已经回答过这个问题。不过,我仍在努力弄清楚这一点。

我仍然对一个热门编码器有点困惑。我只是在想,如果我们在分割之前进行编码,那么测试集中就不应该有任何“信息泄漏”。那么为什么人们提倡在之后进行编码呢?一个热门的编码器不就是用来将分类变量转换为二进制的吗?

如果我们在分割后进行编码,结果可能会有很大差异,正如这里指出的:Scikit-Learn One-hot-encode before or after train/test split

我只是想知道行业规范是什么。

谢谢

最佳答案

特别是对于 One-Hot-Encoder,它应该不会有太大区别,除非存在未在拆分中表示的类别。

但在这种情况下,就会存在信息泄露。通过分割训练/测试数据,您试图模拟模型(包括所有特征选择/转换!)的泛化能力。如果测试集中存在某些类别,但训练集中不存在,那么可以说现实世界中肯定存在整个数据集不包含的类别。在这种情况下,如果您在拆分之前进行编码,那么您就背叛了自己。

不过,在某些情况下您可能希望之前进行编码。如果您的数据点很少并且正在采样以获得平衡的分割,您可能希望确保每个分割都获得所有类别,或类似的东西。在这种情况下,之前进行编码可能会很有用。

一般来说,请始终记住特征选择和转换是模型的一部分。 One-hot 编码尤其依赖于数据,因此更适用。

关于python - 一个热门编码器是什么行业规范,在训练/分割之前或之后进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59084770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com