sklearn.model_selection.KFold 的 split() 函数将 X 和 y(y 可选)作为参数。为什么我们需要给 y? split() 函数所做的只是生成 kfold CV 的行索引,因此行数应该足够。其实X也不需要。这是一种兼容性问题吗?谢谢。
最佳答案
因为他们希望遵循与其余交叉验证拆分相同的格式,其中一些依赖于 X 或 y 数据。例如,StratifiedKFold依赖于 y,因为它试图保持测试数据和训练数据之间的类分布成比例。不同风格有很好的视觉表现here .
所以,是的,你的预感是对的。它是兼容性驱动的。
关于python - 为什么我们需要在 sklearn kfold.split() 中给出 y?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70438717/