import numpy as np from sklearn.datasets import load_digits digits = load_digits() X, y = digits.data, digits.target from sklearn.svm import SVC model = SVC(C=10, gamma=0.005) from sklearn.cross_validation import cross_val_score def print_cv_score_summary(model, X, y, cv): scores = cross_val_score(model, X, y, cv=cv, n_jobs=-1) print("mean: {:3f}, stdev: {:3f}".format( np.mean(scores), np.std(scores))) from sklearn.cross_validation import KFold cv = KFold(len(y), 5) print_cv_score_summary(model, X, y, cv) cv = KFold(len(y), 5, shuffle=True, random_state=0) print_cv_score_summary(model, X, y, cv) cv = KFold(len(y), 5, shuffle=True, random_state=1) print_cv_score_summary(model, X, y, cv) cv = KFold(len(y), 5, shuffle=True, random_state=2) print_cv_score_summary(model, X, y, cv) from sklearn.cross_validation import ShuffleSplit cv = ShuffleSplit(len(y), n_iter=5, test_size=0.2, random_state=0) print_cv_score_summary(model, X, y, cv) cv = ShuffleSplit(len(y), n_iter=5, test_size=0.2, random_state=1) print_cv_score_summary(model, X, y, cv) cv = ShuffleSplit(len(y), n_iter=5, test_size=0.2, random_state=2) print_cv_score_summary(model, X, y, cv) from sklearn.cross_validation import StratifiedKFold cv = StratifiedKFold(y, 5) print_cv_score_summary(model, X, y, cv)