我读了很多关于k-folds的内容,感到有些困惑。我理解其背后的概念,但不确定如何部署它。
在数据探索之后,我通常看到的步骤是train_test_split
,然后对训练集进行编码和缩放,使用fit_transform
,而对测试集仅进行拟合,然后测试哪些算法有效。之后,他们会调整超参数。
那么,如果我现在使用k-folds,是否可以避免使用train_test_split
?我们应该在什么时候使用k-folds呢?
谢谢!
回答:
不需要。K-fold会将你的数据分成K
次训练-测试拆分,因此你会训练K
个不同的模型。
这种方法使得你的模型结果更加稳健,因为你用数据集的不同部分训练了K
个不同的模型,并且你还对数据的不同部分进行了K
次预测。最后,你可以简单地取K
个模型的平均分数。