# KNN Classifier This package provides a utility for creating a classifier using the [K-Nearest Neighbors](https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm) algorithm. This package is different from the other packages in this repository in that it doesn't provide a model with weights, but rather a utility for constructing a KNN model using activations from another model or any other tensors you can associate with a class/label. You can see example code [here](https://github.com/tensorflow/tfjs-models/tree/master/knn-classifier/demo). ## Usage example ##### via Script Tag ```html ``` ###### via NPM ```js const tf = require('@tensorflow/tfjs'); const mobilenetModule = require('@tensorflow-models/mobilenet'); const knnClassifier = require('@tensorflow-models/knn-classifier'); // Create the classifier. const classifier = knnClassifier.create(); // Load mobilenet. const mobilenet = await mobilenetModule.load(); // Add MobileNet activations to the model repeatedly for all classes. const img0 = tf.browser.fromPixels(document.getElementById('class0')); const logits0 = mobilenet.infer(img0, true); classifier.addExample(logits0, 0); const img1 = tf.browser.fromPixels(document.getElementById('class1')); const logits1 = mobilenet.infer(img1, true); classifier.addExample(logits1, 1); // Make a prediction. const x = tf.browser.fromPixels(document.getElementById('test')); const xlogits = mobilenet.infer(x, true); console.log('Predictions:'); console.log(classifier.predictClass(xlogits)); ``` ## API #### Creating a classifier `knnClassifier` is the module name, which is automatically included when you use the