About KNN Classifier Visualizer
This k-nearest neighbours visualizer opens on the two moons dataset with k = 5, and colours the plane by the class that the five nearest training points vote for. It is free, needs no sign-up and runs in your browser, so nothing you enter is uploaded.
Nearest neighbours does no training: it remembers the points and decides by looking up the closest ones at prediction time. That makes its boundary as flexible as the data demands, which suits curved shapes such as these moons, but also means it chases noise when k is small.
Change k and watch the boundary. The distance is plain straight-line distance in the plot's units, so features on different scales would need scaling first in real work.
How to use KNN Classifier Visualizer
- Choose an algorithm: k-nearest neighbours, logistic regression or Gaussian naive Bayes.
- Load a dataset (blobs, moons, circles or XOR), or clear the points and tap the plot to add your own. Choose which class a tap adds.
- Set the algorithm's option: k for nearest neighbours, or the polynomial degree for logistic regression.
- Look at the coloured regions. Each cell takes the colour of the class the model predicts there.
- Switch the view to Cross-validation, choose the number of folds, and read the accuracy per fold and the mean.
- Compare algorithms and settings on the same data using the mean cross-validation accuracy, not the training accuracy.
Features
- Three classic classifiers written from scratch: kNN, softmax logistic regression and Gaussian naive Bayes.
- Decision-region canvas that scales to your screen and accepts taps to add points.
- Polynomial features of degree 1 to 3 for logistic regression, so it can learn curved boundaries.
- Five datasets, up to three classes and up to 800 points.
- k-fold cross-validation from 2 to 10 folds with a per-fold accuracy table, mean and standard deviation.
- Repeatable results: folds are shuffled with a fixed seed.
Worked examples
Two moons of 50 points, k = 5 gives training 94%, 5-fold CV 92%
Nearest neighbours handles the curved shape that a straight line cannot.
Privacy: how it works
- The points and the models stay in your browser tab. Nothing is sent to Ulkaa or anyone else.
Tips
- Try k = 1, then k = 15, on the moons data and compare the boundary: small k is jagged, large k is smooth and may cut corners.
- Add a single stray point of the wrong class inside a cluster and watch kNN with small k carve a tiny island around it.
- On XOR, naive Bayes and plain logistic regression stay near chance, while kNN and polynomial logistic regression do well.
- Use at least 10 points per class for cross-validation, or fold accuracies jump in large steps.
Frequently asked questions
Is it really free?
Yes. There is no price, no trial and no credit card. Ulkaa Tool does the work with your own device, so there is no server bill to pass on to you.
Do I need an account?
No. There is no sign-up and no login. Open the page and use it. An Ulkaa account is not needed for anything on this tool.
Does it run in my browser?
Yes. Your points are processed by code running in your browser tab, on your own device.
Is my data uploaded?
No. Your points are never sent to Ulkaa or to anyone else. You can check this yourself by watching the Network tab in your browser developer tools while you use the tool.
How do I choose k for kNN?
Try several values and compare cross-validation accuracy. Odd values avoid ties in two-class problems. Small k is flexible but noisy, large k is smooth but can blur class edges.
Does kNN need feature scaling?
Yes, in real data. It uses distance, so a feature measured in large units dominates. Scale features to similar ranges first.
More Classifier Playground pages
- Classifier PlaygroundDraw points, pick an algorithm and watch the decision boundary, then check it with cross-validation.
- KNN Overfitting With Small KSet k to 1 on noisy moons and see the jagged boundary and the 100% training score.
- Logistic Regression VisualizerWatch a straight logistic regression boundary separate two classes.
- Logistic Regression Decision BoundarySee how polynomial features let logistic regression separate a ring from its core.
- Naive Bayes Classifier VisualizerSee the smooth regions of a Gaussian naive Bayes model on three clusters.
- Gaussian Naive Bayes on XORRun naive Bayes on a pattern it cannot learn, and compare it with kNN.
- K-Fold Cross-Validation CalculatorSplit the data into folds, test each in turn, and read the accuracy per fold.
- Cross-Validation for Logistic RegressionCheck a polynomial logistic regression on unseen folds of the two moons data.