我有一个数据集,其中一个特征有很多不同的分类值。尝试使用 LabelEncoder、OrdinalEncoder 或 OneHotEncoder 会导致错误,因为在拆分数据时,测试集最终会包含一些训练集中不存在的值。
我的问题是:如果我选择在拆分数据之前对变量进行编码,这会导致数据泄漏吗?
我知道在拆分数据集之前我不应该对数据执行任何规范化或有根据的转换,但我在 scikit-learn 中找不到解决这个问题的方法。
提前感谢您的任何回复。
编辑:这个特殊的特性具有非常高的基数,大约有 60k 的可能值。因此,使用 scikit-learnOneHotEncoder
和handle_unknown
set toignore
会在数据集中引入太多新列。