Skip to content

Implementations of supervised learning classifiers: K-Nearest & Naive Bayes. Used for digit recognition

License

Notifications You must be signed in to change notification settings

jweaver/supervised-learning

Repository files navigation

* Overview
This project uses the K-Nearest neighbor classifier and Naive Bayes Classifier for digit recognition.  Text files containing broken-down images are formatted with:

  - 1 line per image.
  - Each number on a line represents the pixels greyscale count, from left to right, pixel 1 through pixel 784 (28x28 greyscale images).
  - The example "class" (digit) is the last digit in the line.

The project was basically hacked together in a weekend.  The source is messy.

* Approach
For K-Nearest neighbor implementation, a euclidean distance formula is used to determine the 'distance' between two images.  The Training data is fed into the system, and using this formula we can determine how close one image is to another.  Sorting, Ranking and Voting take place after making the right comparisons with the test data to the training data.
  - http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm
  
For Bayes, a Naive Bayes is used.  
  - http://en.wikipedia.org/wiki/Naive_Bayes_classifier

* Upcoming / Wanted
1. Single-hidden-layer neural network implementation.
2. Shape matching using OpenCV (Java interfaces to OpenCV library do not yet exist)

About

Implementations of supervised learning classifiers: K-Nearest & Naive Bayes. Used for digit recognition

Resources

License

Stars

Watchers

Forks

Packages

No packages published