common.py 641 B

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