我使用的是scikit learn的StratifiedKFold,但现在我还需要观察“组”。有很好的函数GroupKFold,但我的数据非常依赖时间。与“帮助”中的情况类似(周数是分组指数)。但每个星期都应该只有一次。在
假设我需要10倍。我需要的是在使用GroupKFold之前先对数据进行洗牌。在
洗牌是在团体的意义上-所以整个团体应该互相洗牌。在
有没有办法用scikit学会优雅?在我看来,GroupKFold很健壮,可以先洗牌数据。在
如果没有办法用scikit来实现,那么有人可以编写一些有效的代码吗?我有大量的数据集。在
矩阵、标签、分组作为输入
编辑:此解决方案不起作用。在
我认为使用sklearn.utils.shuffle是一个优雅的解决方案!在
对于X、y和组中的数据:
然后使用xu shuffled、y\u shuffled和groups\u shuffled with GroupKFold:
^{pr2}$当然,您可能需要多次洗牌,并对每次洗牌进行交叉验证。你可以把整个事情放在一个循环中——这里有一个完整的例子,有5次洗牌(只有3次,而不是你要求的10次):
相关问题 更多 >
编程相关推荐