sk9_cross_validation2.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # View more python learning tutorial on my Youtube and Youku channel!!!
  2. # Youtube video tutorial: https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTTpcg
  3. # Youku video tutorial: http://i.youku.com/pythontutorial
  4. """
  5. Please note, this code is only for python 3+. If you are using python 2+, please modify the code accordingly.
  6. """
  7. from __future__ import print_function
  8. from sklearn.learning_curve import learning_curve
  9. from sklearn.datasets import load_digits
  10. from sklearn.svm import SVC
  11. import matplotlib.pyplot as plt
  12. import numpy as np
  13. digits = load_digits()
  14. X = digits.data
  15. y = digits.target
  16. train_sizes, train_loss, test_loss= learning_curve(
  17. SVC(gamma=0.01), X, y, cv=10, scoring='mean_squared_error',
  18. train_sizes=[0.1, 0.25, 0.5, 0.75, 1])
  19. train_loss_mean = -np.mean(train_loss, axis=1)
  20. test_loss_mean = -np.mean(test_loss, axis=1)
  21. plt.plot(train_sizes, train_loss_mean, 'o-', color="r",
  22. label="Training")
  23. plt.plot(train_sizes, test_loss_mean, 'o-', color="g",
  24. label="Cross-validation")
  25. plt.xlabel("Training examples")
  26. plt.ylabel("Loss")
  27. plt.legend(loc="best")
  28. plt.show()