输入:
- 我有一个图像数组
X
,其中每一行都是代表一个人的示例。 - 另一个数组
y
用于它们的标签,其中标签是 1 到 7 之间的整数。 - 最后一个
ids
数组,其中ids[i]
代表X[i]
中第 i 个人的 ID。 (同一个人有相同的ID,同一个人可能有不同的图像。)
是否可以划分X
和y
以便同一个人不会同时进入测试和训练集?
我认为我需要使用 sklearn.cross_validation.train_test_split .有人可以解释“分层”的作用吗?这是做我想做的事情的正确方法吗?
最佳答案
Stratified sampling意味着 sklearn
将尝试将您的训练和测试拆分中的类别比率与总体数据的比率相匹配。
您的 y 标签中包含哪些信息?
听起来你需要类似 LabelKFold 的东西或 LabelShuffleSplit其中 label 将是您的情况下的 ids
。
关于python - 如何使用 scikit-learn 对约束进行交叉验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34020257/