#!/usr/bin/env python # coding: utf-8 # In[1]: #train my classifier for digits import os from skimage.io import imread from skimage.color import rgb2grey digits_images = [] targets = [] for digit in range(9): training_directory = 'resources/digits/'+str(digit)+'/' for filename in os.listdir(training_directory): if (filename.endswith('.png')): training_digit = imread(training_directory+filename) training_digit = rgb2grey(training_digit)#color to gray digits_images.append(training_digit.reshape(128*128)) targets.append(digit) # In[2]: digits_images[0].shape # In[3]: from sklearn.model_selection import train_test_split X_train, X_test, Y_train, Y_test = train_test_split(digits_images, targets, test_size=0.1, random_state=0) # In[4]: from sklearn.neighbors import KNeighborsClassifier import numpy as np knn = KNeighborsClassifier(n_neighbors=len(np.unique(Y_train))) knn.fit(X_train, Y_train) # In[5]: score = knn.score(X_test, Y_test) print score # In[6]: knn.predict([X_test[0]]) # In[7]: from sklearn.ensemble import RandomForestClassifier rc = RandomForestClassifier(n_estimators=9, max_depth=30) rc.fit(X_train, Y_train) # In[8]: score = rc.score(X_test, Y_test) print score # In[9]: rc.predict([X_test[2]]) # In[10]: import matplotlib.pyplot as plt plt.imshow(X_test[2].reshape(128,128), cmap="gray") # In[ ]: