我是机器学习的新手。我在预处理方面有点困惑。一般来说,
场景1:我将数据集分解为训练、测试和验证,并应用诸如列车上的fit_transform和测试上的转换。
场景2:另一种方法是首先对整个数据集应用转换,然后将数据集拆分为训练、测试和验证。在预处理和特征工程之前,或者在预处理和特征工程之后,我对数据的选择、划分有些困惑。寻找一个很好的答案与效果和棺材。
发布于 2019-04-06 18:45:41
你绝对应该采用第一种方案。这是因为您使用的变压器有一些参数(例如,在标准标量情况下的均值和标准差),并且这些参数是从数据中学习的,比如机器学习模型的参数。如您所知,您不应该使用验证和测试数据来学习模型参数,而且出于同样的原因,您不应该使用它们来学习转换器参数。因此,如果您想要尝试一个实际的机器学习场景,应该只使用培训样本来拟合您的变压器参数。
发布于 2019-03-07 17:43:34
所有数据集(训练、测试和验证)都必须应用最受欢迎的转换。无论您在一个子集上添加了什么功能,都必须添加到其他子集中。
如果您的验证和测试数据是随机选择的,并且对所有子集都应用了精确的转换,那么这两种场景都可以工作,但是第二种方案在某些方面更好:
我建议选择第二种选择,因为它更容易,风险更小。但是,您可以在某个时候尝试这两种方法,您将看到每一种方法的优点和缺点。
https://datascience.stackexchange.com/questions/46850
复制相似问题