Machine learning basics
Machine learning is the practice of letting a computer learn patterns
from data instead of telling it the rules explicitly.
## Three things every ML problem has
1. **A goal** — what are you predicting? A price, a category, a yes/no?
2. **Data** — examples of the inputs and the correct answers.
3. **A model** — the math that maps inputs to predicted answers.
If any of those three is missing, you don't have an ML problem yet.
## The two flavours
- **Supervised learning** — you have labelled examples. The model learns
the mapping. Examples: predicting house prices, classifying email as
spam, scoring credit applications.
- **Unsupervised learning** — you only have inputs, no labels. The model
finds structure on its own. Examples: customer segmentation, anomaly
detection.
Most real-world business ML is supervised.
## A typical workflow
1. Collect data — usually the hardest step.
2. Clean it — handle missing values, fix typos, encode categories.
3. Split it — keep one chunk for training, one for testing.
4. Train a model on the training chunk.
5. Evaluate on the test chunk to estimate how well it really works.
6. Ship it — wire it into a product, then monitor it.
Steps 1 and 2 take most of the time. Step 4 is the glamorous one in the
textbooks, but on a real project it's the smallest slice.
## Pick one tool, learn it well
For most students, Python with **scikit-learn** is the right starting
point. Skip TensorFlow and PyTorch until you have a problem that
needs them — they're for deep learning, which is overkill for almost
everything you'll touch as a beginner.
## What's next
Read up on **train/test split**, **overfitting**, and **bias vs.
variance** before you fit your first model. Those three ideas come up
in every project.