No model trained
Loading TensorFlow.js…
Drawing and challenge canvas
Use a mouse, touchscreen, or stylus. Draw one large centred digit.
Free practice
Draw any digit, then ask the model to predict it.
Target: Any
Time: —
Live prediction
?
Confidence —
Train a model or choose KNN.
Top predictions will appear here.
Scoreboard
0Score
0Streak
1Level
☆☆☆Rating
Challenge progress0 / 10
Training progress
Epoch 0 / 0
—Train accuracy
—Validation accuracy
—Training loss
—Best validation
Generate a dataset, then train a model.
Dataset summary
0Training samples
0Test samples
0Custom samples
0 MBEstimated memory
—Accuracy
—Macro precision
—Macro recall
—Macro F1
No evaluation has been run.
| Time | Mode | Expected | Predicted | Confidence | Result |
|---|---|---|---|---|---|
| No predictions yet. | |||||
The canvas is converted into a 28×28 grayscale grid. Each pixel becomes a number between zero and one. The model learns patterns connecting those pixel values with digit labels.
Training samples update model weights. Validation samples monitor learning without updating weights. Test samples estimate performance on unseen handwriting after training finishes.
Underfitting occurs when both training and validation accuracy remain low. Overfitting occurs when training accuracy rises while validation performance stops improving or declines.
A confusion matrix counts actual digits against predicted digits. Confidence shows the model's probability estimate, but high confidence does not always mean the prediction is correct.
Try more varied samples, balanced classes, moderate augmentation, a suitable learning rate, and enough epochs. Compare dense, convolutional, logistic, and neighbour-based approaches.