MACHINE LEARNING

Machine Learning Tutorials

Machine learning with Python, from the concepts through to applied projects and career questions. These guides cover what the terms mean, which library to use, what the work looks like on real problems, and how people get paid to do it.

  • 42 guides
  • 9 topics
  • Concepts to careers
A real model, on a laptop, in nine linesStart with scikit-learn

What machine learning actually involves

Machine learning means fitting a model to examples so that it can make predictions about data it has not seen. That is the whole idea. A model learns from labelled historical rows — customers who churned, transactions that were fraudulent, prices that were paid — and applies that pattern to new ones.

The work is less glamorous than the phrase suggests. Most of a real project is framing the problem, gathering data, cleaning it, and building features — then a few lines to fit a model, and a surprising amount of time deciding whether the result can be trusted. Choosing the algorithm is rarely the hard part, and rarely where the gains are.

It also splits more cleanly than the marketing implies. If your data has meaningful columns, classical models from scikit-learn are usually the best answer, and gradient-boosted trees remain hard to beat on tabular problems. If your data is images, audio or free text, that is where deep learning with Keras or PyTorch earns its complexity.

One more thing worth saying plainly, because it saves people months: you do not need to learn deep learning first, and for most jobs you may not need it at all. The demand for people who can frame a problem, prepare data properly and ship a well-evaluated gradient-boosted model is far larger than the demand for people who can implement a transformer from scratch.

The guides below are grouped by what you want from them: the concepts and vocabulary, applied problems in vision, text, business and engineering, honest answers to the “X versus Y” questions, project ideas to build a portfolio, and the career side — roles, salaries and interviews.

Where to start if you are new

You need less than people expect: Python, Pandas for handling the data, and scikit-learn for the models. No GPU, no cloud account, no deep learning framework until you have a reason for one.

Begin with a dataset small enough to understand and a question specific enough to answer. “Which of these customers will cancel next month” is a project. “Learn machine learning” is not.

Split your data before you look at it too closely, and never report a score measured on rows the model trained on. Nearly every surprisingly good first result turns out to be some version of that mistake.

569 rows, 30 features — enough to learn onGo to the scikit-learn hub

If you are starting today

A sensible order to learn machine learning in

Six steps that follow a real project rather than a syllabus. Deployment is included because a model nobody can call is not finished.

  1. 1

    Learn how a project runs

    Problem framing, data, features, training, evaluation and monitoring — the shape of every real project.

  2. 2

    Understand regression and classification

    Predicting a number versus predicting a category, and which one your problem actually is.

  3. 3

    Fit models with scikit-learn

    Where the theory becomes code, with one consistent interface across every algorithm.

  4. 4

    Get better at features

    The part that most often separates a mediocre model from a good one.

  5. 5

    Learn to explain a model

    If nobody can see why a prediction was made, nobody will act on it.

  6. 6

    Ship something

    A REST API in a container — the step that turns a notebook into a portfolio piece.

The vocabulary, first

The three types of machine learning

Almost every technique you will read about is one of these three. Knowing which one a tutorial is describing saves a lot of confusion.

Supervised learning

Learning from answers

You have historical examples and the correct answer for each one. The model learns the mapping between them. This covers the large majority of working machine learning, and it is where beginners should start.

# features and the known answer
model.fit(X, y)
model.predict(X_new)

Use it when: you can label the outcome: churned or not, the price paid, the category.

Unsupervised learning

Finding structure

No labels at all — you are asking what natural groupings or patterns exist in the data. Clustering customers into segments is the common business case, and it is often a step before labelling.

# no y at all
kmeans.fit(X)
kmeans.predict(X_new)

Use it when: you have data but nobody has said what the right answer is.

Reinforcement learning

Learning from consequences

An agent takes actions in an environment and learns from rewards and penalties over time. It powers game-playing and robotics, and it is the smallest slice of commercial work by a wide margin.

# act, observe, adjust
action = agent.act(state)
agent.learn(reward)

Use it when: decisions happen in sequence and each one changes what comes next.

Quick reference

The terms people get stuck on

The vocabulary that appears in every tutorial and rarely gets defined, in plain words.

TaskCodeWorth knowing
FeatureXAn input column. The things the model learns from.
LabelyThe answer you are predicting. Also called the target.
Training setX_train, y_trainRows the model learns from.
Test setX_test, y_testHeld back to measure honestly. Never train on it.
Overfittingtrain 0.99 / test 0.71Memorised the training rows, learned nothing general.
Underfittingtrain 0.62 / test 0.61Too simple to capture the pattern at all.
Classificationpredict_proba()Predicting a category: churn or not, spam or not.
Regressionpredict()Predicting a number: price, demand, temperature.
Supervisedfit(X, y)Learning from labelled examples.
Unsupervisedfit(X)Finding structure with no labels, such as clustering.
Inferencemodel.predict(new)Using a trained model on new data.
Cross-validationcross_val_score(m, X, y, cv=5)Several splits, for a score you can trust.

A realistic timeline

A beginner-to-advanced learning path

Roughly how long each stage takes with steady part-time study. Treat the weeks as a shape, not a promise — what matters is finishing each level’s project.

LevelRoughlyWhat you learnWhat you should be able to build
Complete beginnerWeeks 1–4Python, Pandas, reading a CSV, basic plotting.A notebook that loads a dataset and describes it with charts and summary stats.
Building confidenceWeeks 5–8Train/test splits, logistic regression, decision trees, accuracy and confusion matrices.A working classifier on a public dataset, scored honestly on held-out data.
IntermediateWeeks 9–16Feature engineering, cross-validation, random forests and gradient boosting, pipelines.A tuned model that beats your first baseline, plus a REST API that serves it.
Deep learningWeeks 17–28Neural networks, CNNs for images, transfer learning, and one framework in depth.An image or text model fine-tuned from a pretrained backbone, deployed somewhere.

Choosing a tool

Which library for which problem

Most of the “what should I use” question comes down to the shape of your data. This is the short version.

Your dataStart withWhy
Rows and columnsscikit-learnConsistent interface, trains in seconds, easy to explain to a stakeholder.
Rows and columns, and accuracy mattersGradient boostingXGBoost, LightGBM or scikit-learn’s own boosting still beat neural networks on most tabular problems.
ImagesKeras or PyTorchConvolutional layers and vision transformers need a deep learning framework.
Free textKeras, PyTorch or a pretrained modelFine-tuning an existing language model usually beats training from scratch.
A time seriesscikit-learn or statistical modelsClassical methods are strong here; deep learning only pays off with a lot of data.
No labels at allClustering in scikit-learnk-means or DBSCAN to find structure before you invest in labelling.
Very little dataSimpler modelsA complex model on a few hundred rows memorises rather than learns.

Every tutorial, by topic

Every machine learning guide, by topic

Concepts, applied problems, comparisons, project ideas and career questions — grouped so you can go straight to the kind of answer you need.

ML Concepts & Theory Tutorials

10

The ideas the rest of it rests on: inference, regression, feature extraction, interpretability, quantization, design patterns and the project life cycle — plus which Python libraries matter and why the language won. Read the life cycle guide first if you are new — it gives the rest of these somewhere to sit.

Computer Vision & Image Processing

2

Machine learning applied to images: the processing steps that come first, and recognition once the pixels are ready. Both lead naturally into the Keras and PyTorch hubs, where the models themselves live.

Natural Language Processing & Text

2

Working with written language — the standard techniques for text, and classifying documents at scale — still one of the most common and most commercially useful applications of machine learning.

Business & Analytics

6

Where machine learning earns its keep: customer segmentation, price optimisation and forecasting, business analytics, and what managers need to know before approving any of it. These are the use cases that get funded, which makes them worth understanding even if your interest is technical.

Engineering & Signal Processing

2

Predictive maintenance on equipment, and machine learning applied to signals rather than tables — a field where classical methods and domain knowledge still matter as much as the model.

Project Ideas to Build Your Portfolio

2

Projects worth building if you are trying to get hired, including deploying a model as a REST API with FastAPI and Docker — the step most portfolios skip. A deployed project with an honest evaluation is worth more in an interview than three notebooks that were never finished.

ML Comparisons — Common Questions Answered

8

Straight answers to the questions that come up constantly: generative AI versus machine learning, neural networks versus ML, data science versus ML, and which language to use. Useful for interviews, and for explaining your work to people who use these terms interchangeably.

ML Career Guides

9

Becoming an ML engineer, how the role differs from data science and product management, what the work pays, where the field is heading, and interview preparation. Read these alongside the project ideas — what you build determines which of these roles you are a credible candidate for.

Free Python & Machine Learning Training Course

1

A free course covering Python and machine learning together, if you would rather follow a structured path than pick tutorials one at a time.

Keep going

The libraries you will actually use

Machine learning in Python is really these libraries. Each has its own hub here.

Questions people ask

Frequently asked questions

Do I need to be good at maths to start machine learning?

Not to start. You can fit useful models with school-level algebra and a clear head about what the numbers mean. Maths becomes important when you want to understand why a model behaves as it does or read papers — and by then you will have context that makes it much easier to learn.

Which library should I learn first?

Pandas, then scikit-learn. Pandas is how you get data into a usable shape, and scikit-learn covers classical models with one consistent interface. Add Keras or PyTorch only when you move to images, audio or text.

What is the difference between machine learning and AI?

AI is the broad field of making machines do things that seem to require intelligence. Machine learning is one approach within it: learning patterns from data rather than following hand-written rules. Most of what is currently called AI, including large language models, is machine learning.

How long does it take to become employable?

For someone already comfortable with Python, six to twelve months of consistent work is a realistic range — and portfolio projects that are deployed and explainable matter far more than course certificates. Being able to talk through why you made each decision counts for more than the accuracy you reached.

Do I need a GPU?

Not for classical machine learning, which runs fine on a laptop CPU. You only need one for deep learning on sizeable data, and Colab and Kaggle provide free GPUs that are enough to learn on before you spend anything.

What should my first machine learning project be?

Something small, labelled and genuinely interesting to you. A public dataset with a clear yes or no outcome works well, because you can judge whether the result is sensible without domain expertise. Finish it properly — split the data, fit a simple baseline, then try to beat it — rather than starting something ambitious you abandon halfway.

What is the difference between supervised and unsupervised learning?

Supervised learning has the right answer for each historical example and learns the mapping to it — which customers churned, what price was paid. Unsupervised learning has no answers and looks for structure instead, such as clustering customers into segments. Nearly all commercial machine learning is supervised, so start there.

Is a bootcamp or a degree necessary?

Neither is required, and neither substitutes for work you can show. Employers hiring for machine learning want evidence that you can take a messy dataset to a model that is evaluated honestly and deployed somewhere. Two or three projects like that, which you can explain the decisions behind, carry more weight than a list of completed courses.

Why is my model accurate in testing but wrong in production?

The usual causes are data leakage — something in your features quietly encoded the answer — or a distribution shift, where live data no longer resembles what you trained on. Both are why monitoring after deployment is part of the life cycle rather than an afterthought.

Pick one dataset and see it through

Frame a question, clean the data, fit a model, check it honestly. One finished project teaches more than a dozen tutorials.