Created
March 27, 2018 13:39
-
-
Save codePrincess/9193edacacc54092014de217defa1668 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
#print(__doc__) | |
# Author: Gael Varoquaux <gael dot varoquaux at normalesup dot org> | |
# License: BSD 3 clause | |
# Standard scientific Python imports | |
import matplotlib.pyplot as plt | |
import pickle | |
# Import datasets, classifiers and performance metrics | |
from sklearn import datasets, svm, metrics | |
# The digits dataset | |
digits = datasets.load_digits() | |
# To apply a classifier on this data, we need to flatten the image, to | |
# turn the data in a (samples, feature) matrix: | |
n_samples = len(digits.images) | |
data = digits.images.reshape((n_samples, -1)) | |
# Create a classifier: a support vector classifier | |
classifier = svm.SVC(gamma=0.001) | |
# We learn the digits on the first half of the digits | |
classifier.fit(data[:n_samples // 2], digits.target[:n_samples // 2]) | |
with open('mymodel.pkl', 'wb') as file: | |
pickle.dump(classifier, file, protocol=pickle.HIGHEST_PROTOCOL) | |
# Now predict the value of the digit on the second half: | |
expected = digits.target[n_samples // 2:] | |
predicted = classifier.predict(data[n_samples // 2:]) | |
print("Classification report for classifier %s:\n%s\n" | |
% (classifier, metrics.classification_report(expected, predicted))) | |
print("Confusion matrix:\n%s" % metrics.confusion_matrix(expected, predicted)) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment