GitHunt
MS

mshenfield/sklearn-flask-webapp

Handwritten digit and character classifier using sklearn and flask

#sklearn-flask-webapp

A project that identifies handwritten characters, kind of like a handwriting app on the iPhone. It isn't the most impressive, but it shows you how easy it is to make something cool with the existing technology out there. Uses Flask to communicate with a model server side created with scikitlearn, a Python machine learning library.

##Stack Explained:

__init__.py : Flask script that unpickles a pretrained sklearn model, sets up decorator listeners at base url to render index template, and at /predict, which returns the output of the fitted model. It opens application on port 5000 in debug mode.

index.html : Uses Canvas component drawing_pad.js to create a Canvas object which a user can draw on with a mouse. resize_image.js converts the image
data of the canvas element to pixels and reduces the result to a more manageable flat feature vector. The
result of the identification process is pulled using a jQuery getJSON call to
the /predict url, including the image feature vector as a parameter.

drawing_pad.js : Uses HTML5 Canvas element to create a simple drawing surface on mouseclick and mousedrag.

resize_image.js : Uses the CanvasContext.getImageData() API to get raw pixel data from the Canvas element. Averages pixels to create a vector of length 160.

Languages

JavaScript79.4%Python20.6%

Contributors

Created March 24, 2014
Updated September 29, 2023