我有一个数百行的数据框,可以将其分组为如下的id:
df = Val1 Val2 Val3 Id
2 2 8 b
1 2 3 a
5 7 8 z
5 1 4 a
0 9 0 c
3 1 3 b
2 7 5 z
7 2 8 c
6 5 5 d
...
5 1 8 a
4 9 0 z
1 8 2 z
我想使用GridSearchCV,但是具有一个自定义CV,它将确保来自同一ID的所有行将始终位于同一集合上。因此,如果a中的所有行都在测试集中,或者所有行都在训练集中-则对于所有不同的ID都是如此。
我想进行5折-因此80%的ID将去火车,而20%的ID将去测试。我知道不能保证所有折页的行数完全相同-因为一个ID的行数可能比另一个ID多。
最佳方法是什么?
以后再检查文档。