1""" 2Common utilities for testing model selection. 3""" 4 5import numpy as np 6 7from sklearn.model_selection import KFold 8 9 10class OneTimeSplitter: 11 """A wrapper to make KFold single entry cv iterator""" 12 13 def __init__(self, n_splits=4, n_samples=99): 14 self.n_splits = n_splits 15 self.n_samples = n_samples 16 self.indices = iter(KFold(n_splits=n_splits).split(np.ones(n_samples))) 17 18 def split(self, X=None, y=None, groups=None): 19 """Split can be called only once""" 20 for index in self.indices: 21 yield index 22 23 def get_n_splits(self, X=None, y=None, groups=None): 24 return self.n_splits 25