def cross_val_score(estimator, X, y=None, score_func=None, cv=None, n_jobs=-1, verbose=0, as_dvalues=False): """Evaluate a score by cross-validation. Replacement of :func:`sklearn.cross_validation.cross_val_score`, used to support computation of decision values. """ X, y = check_arrays(X, y, sparse_format='csr') cv = check_cv(cv, X, y, classifier=is_classifier(estimator)) if score_func is None: if not hasattr(estimator, 'score'): raise TypeError( "If no score_func is specified, the estimator passed " "should have a 'score' method. The estimator %s " "does not." % estimator) # We clone the estimator to make sure that all the folds are # independent, and that it is pickle-able. scores = Parallel(n_jobs=n_jobs, verbose=verbose)( delayed(_cross_val_score)(clone(estimator), X, y, score_func, train, test, verbose, as_dvalues) for train, test in cv) return np.array(scores)
def Bootstrap_cv(estimator1, estimator2, X, y, score_func, cv=None, n_jobs=1, verbose=0, ratio=.5): X, y = cross_validation.check_arrays(X, y, sparse_format='csr') cv = cross_validation.check_cv(cv, X, y, classifier= cross_validation.is_classifier(estimator1)) if score_func is None: if not hasattr(estimator1, 'score') or \ not hasattr(estimator2, 'score'): raise TypeError( "If no score_func is specified, the estimator passed " "should have a 'score' method. The estimator %s " "does not." % estimator1) # We clone the estimator to make sure that all the folds are # independent, and that it is pickle-able. scores = \ cross_validation.Parallel( n_jobs=n_jobs, verbose=verbose)( cross_validation.delayed( dual_cross_val_score) (cross_validation.clone(estimator1), cross_validation.clone(estimator2), X, y, score_func, train, test, verbose, ratio) for train, test in cv) return np.array(scores)