class_docstr: BaseCV class. It computes the cross validation error of a given model.
  All the cross validation classes can be derived by this one
  (e.g. GamCV, LassoCV,...)
class_docstr_tok: ["BaseCV","class",".","It","computes","the","cross","validation","error","of","a","given","model",".","All","the","cross","validation","classes","can","be","derived","by","this","one","(","e.g",".","GamCV",",","LassoCV",",","...",")"]
code: def __init__(self, cv_iterator, endog, exog):
      self.cv_iterator = cv_iterator
      self.exog = exog
      self.endog = endog
      # TODO: cv_iterator.split only needs nobs from endog or exog
      self.train_test_cv_indices = self.cv_iterator.split(
          self.exog, self.endog, label=None
      )
  
imports: from abc import ABCMeta, abstractmethod
  from statsmodels.compat.python import with_metaclass
  import itertools
  import numpy
  from statsmodels.gam.smooth_basis import GenericSmoothers, UnivariateGenericSmoother
label_desc: Use image node_id 1 to create a new BaseCV object from inherited base classes:  with example: obj = BaseCV(cv_iterator, endog, exog)