About Cross-Validation for Logistic Regression
This page opens in cross-validation mode with logistic regression of polynomial degree 3 on the two moons data, using ten folds. It is free, needs no sign-up and runs in your browser, so nothing you enter is uploaded.
A straight logistic regression cannot follow the curved moons, but cubic terms give the boundary an S-shape that can. Cross-validation tells you whether that extra flexibility helps on points the model has not seen, or only on the points it was trained on.
With ten folds each test set is a tenth of the 100 points, so each fold accuracy moves in steps of 10 points; the mean over the ten is the figure to use. Change the degree to 1 and compare the mean: the gap is what the polynomial terms buy.
How to use Cross-Validation for Logistic Regression
- 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
Moons, degree 3, 10 folds gives mean 91%, sd 7.38 points
Degree 1 on the same data scores 82%.
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 pick the polynomial degree?
Compare the cross-validation accuracy for degrees 1, 2 and 3 and choose the simplest that is not clearly worse than the best.
Can cross-validation detect overfitting?
Yes. An overfit model scores well on training data and poorly on the held-out folds, so its cross-validation accuracy is low compared with its training accuracy.
More Classifier Playground pages
- Classifier PlaygroundDraw points, pick an algorithm and watch the decision boundary, then check it with cross-validation.
- KNN Classifier VisualizerWatch the nearest-neighbour decision regions change as you vary k.
- 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.