def check_cv(cv=3, X=None, y=None, classifier=False): if int(sklearn.__version__[2:4]) >= 18: from sklearn.model_selection import check_cv as sklearn_check_cv return sklearn_check_cv(cv, y=y, classifier=classifier) else: from sklearn.cross_validation import check_cv as sklearn_check_cv return _CVIterableWrapper( sklearn_check_cv(cv, X=X, y=y, classifier=classifier))
def check_cv(cv=3, X=None, y=None, classifier=False): if int(sklearn.__version__[2:4]) >= 18: from sklearn.model_selection import check_cv as sklearn_check_cv return sklearn_check_cv(cv, y=y, classifier=classifier) else: from sklearn.cross_validation import check_cv as sklearn_check_cv return _CVIterableWrapper(sklearn_check_cv(cv, X=X, y=y, classifier=classifier))
def check_cv( cv: CVType = 5, y: Optional[OneDimArrayLikeType] = None, classifier: bool = False, ) -> BaseCrossValidator: """Check `cv`. Parameters ---------- cv Cross-validation strategy. y Target. classifier If the task is a classification task, `StratifiedKFold` will be used. Returns ------- cv Converted cross-validation strategy. """ if classifier and isinstance(cv, int): _, counts = np.unique(y, return_counts=True) cv = max(2, min(cv, *counts)) return sklearn_check_cv(cv, y, classifier)
def check_cv(cv=3, X=None, y=None, classifier=False): """Input checker utility for building a cross-validator. Parameters ---------- * `cv` [integer, cross-validation generator or an iterable, default=`3`]: Determines the cross-validation splitting strategy. Possible inputs for cv are: - integer, to specify the number of folds. - An object to be used as a cross-validation generator. - An iterable yielding train/test splits. For integer/None inputs, if classifier is True and `y` is either binary or multiclass, `StratifiedKFold` used. In all other cases, `KFold` is used. * `y` [array-like, optional]: The target variable for supervised learning problems. * `classifier` [boolean, default=`False`]: Whether the task is a classification task, in which case stratified `KFold` will be used. Returns ------- * `checked_cv` [a cross-validator instance]: The return value is a cross-validator which generates the train/test splits via the `split` method. Note ---- This method is backported from scikit-learn 0.18. """ return sklearn_check_cv(cv, y=y, classifier=classifier)