python - 为什么我们需要在 sklearn kfold.split() 中给出 y?

标签 python scikit-learn

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/

相关文章:

python - "Logitech G25 racing wheel"Blender的python api?

python - 是否有适当的方法来子类化 Tensorflow 的数据集?

python - Pickle 在 python 2.6 上不考虑我注册的自定义类型 reduce 函数

apache-spark - Spark多标签分类

python - Sklearn - svm加权特征

python - 重写的方法是否继承python中的装饰器?

Python:有什么区别 - abs 和 operator.abs

python - 如何在 1d 中找到密集区域

Python/sklearn - preprocessing.MinMaxScaler 1d 弃用

python - sklearn随机森林索引feature_importances_如何做