Here you can import digit dataset from scikit learn library which is in-built, So you don't need to download from other else
Note: If you use visual code, I recommend you to turn your color theme to Monokai because it has a few extra and important keyword and attractive colors than other theme.
# %% Import libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import random
# %% Load dataset
from sklearn.datasets import load_digits
dataset = load_digits()
dataset.keys()
output: dict_keys(['data', 'target', 'target_names', 'images', 'DESCR'])
You have to check all to direct print them
Here DESCR is a description of dataset
# %% divide the dataset into input and target
inputs = dataset.data
target = dataset.target
# %% Visualization
images = dataset.images
for i in range(6):
plt.figure(figsize=(6,4), num=0)
plt.subplot(2,3, i+1)
plt.axis('off')
plt.imshow(images[i], cmap='gray')
plt.title(dataset.target[i])
# %% Split the dataset into training and testing set
from sklearn.model_selection import train_test_split
train_f, test_f, train_t, test_t = train_test_split(input, target, test_size=0.2, random_state=21)
# %% model fitting
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
model.fit(train_f, train_t)
# %% Score
model.score(test_f, test_t)
# %% Prediction
num = 10
test_ar = test_f[num]
mark = model.predict([test_ar])
image = test_ar.reshape(8,8)
plt.imshow(image, cmap='gray')
plt.title('Digit is {}'.format(mark))
plt.show()
'''Now you can make real life application to saving model. There is the reason behind
save model is you don't have to run your already done model everytime. It consume your
important time and impairs the model performance.'''
# %% Save the model
from sklearn.externals import joblib
joblib.dump(model, '../Digit_Recnogition_App')
You have to put your digit image in front of webcam and see result
Comments
Post a Comment