Never done machine learning before? Start here. No maths, no jargon, just plain English and pictures in your head. By the end of this page you will understand what a model is, and you will have trained a real one in your browser.
What is machine learning?
Imagine teaching a child to recognise a cat. You do not write down rules like 'four legs, whiskers, pointy ears'. You just show them lots of cats, and soon they can spot a new cat they have never seen. Machine learning is the same idea for computers: instead of writing rules, we show the computer many examples, and it learns the pattern by itself. That learned pattern is called a MODEL.
Data, features, and the target
features = the clues · target = the answer
Think of a spreadsheet. Each ROW is one example (say, one flower). Each COLUMN is a FEATURE, a fact about it (petal length, petal width, colour). One special column is the TARGET, the thing we want to predict (which species of flower). BreezeML learns the link between the features and the target. That is why you only ever tell it two things: your table, and the name of the target column.
Two big jobs: sorting vs guessing a number
classification = buckets · regression = a numberRun here
Almost every ML problem is one of two jobs. CLASSIFICATION is sorting things into buckets: spam or not spam, cat or dog, which of 3 flowers. REGRESSION is guessing a number: tomorrow's temperature, a house price, how many visitors. BreezeML looks at your target column and picks the right job automatically. Press Run to SEE both side by side.
Try it yourself
Output
Press Run to execute this snippet.
See how a model carves up the world
decision boundaryRun here
A classifier draws invisible borders between the groups. Anything that lands in a green region is called green; in a red region, red. Press Run to watch a real model draw those borders around 150 flowers using just two measurements. This picture IS the model.
Try it yourself
Output
Press Run to execute this snippet.
Training and testing (no cheating!)
When you study for an exam, you practise on some questions and then the real test uses NEW questions you have not seen. If the teacher tested you on the exact practice questions, a good score would not mean you actually learned. Models are the same: we TRAIN on some rows and TEST on other, unseen rows. BreezeML always keeps a fair, unseen test set for you, so its scores are honest.
See it: train a real model now
Run here
Enough theory. Press Run. This loads 150 real flowers, learns to tell three species apart, and prints how often it is right, all inside this web page. You just did machine learning.
Try it yourself
Output
Press Run to execute this snippet.
What makes a score 'good'?
accuracy · F1 · ROC AUC
ACCURACY means 'out of 100 guesses, how many were right?'. Simple, but it can lie. If 99 out of 100 emails are NOT spam, a lazy model that always says 'not spam' is 99% accurate and completely useless. That is why BreezeML also shows F1 (a fairer score when the buckets are uneven) and, for yes/no problems, ROC AUC (how well it ranks the risky cases). More than one number keeps you honest.
Overfitting: memorising vs understanding
overfittingRun here
A student who memorises the answer key gets 100% on practice and fails the real exam. A model can do this too: it 'memorises' the training rows instead of learning the real pattern, so it looks amazing in practice and flops on new data. This is OVERFITTING. Press Run to watch it happen: as the model gets more complex, the practice score keeps climbing while the real (unseen) score stalls and dips.
Try it yourself
Output
Press Run to execute this snippet.
Cross-validation: five fair grades
5-fold cross-validation, always onRun here
One test could be lucky or unlucky. So BreezeML splits your data into 5 parts, trains on 4 and tests on the 1 left out, then rotates until every part has been the test once. Averaging those 5 grades gives a score you can trust. Press Run to see all five grades and their average.
Try it yourself
Output
Press Run to execute this snippet.
Data leakage: the sneaky trap
breezeml.audit(df, target)Run here
Imagine predicting whether a patient is sick, but one column is 'medicine already prescribed'. The model will look brilliant, because that column basically contains the answer, but it is useless in real life where you do not know it yet. This is LEAKAGE. BreezeML's audit() hunts for these traps before you train. Honesty first.