About the course
This course provides a solid introduction to the fundamental concepts of Machine Learning and its core paradigms, focusing specifically on widely-used classic algorithms and their practical implementation using Python. Designed for individuals new to the field but with some programming experience, it covers the essential theory and hands-on techniques needed to get started with building and evaluating machine learning models for both classification and regression problems using industry-standard libraries.
You will learn the fundamental differences between supervised and unsupervised learning, understand the typical machine learning lifecycle, and explore various data domains encountered in ML projects. A significant portion of the course is dedicated to practical data handling, exploration, and preprocessing using essential Python libraries like Pandas, NumPy, Matplotlib, and Seaborn, preparing you to work with real-world datasets. You will then dive into key classic supervised algorithms, including Logistic Regression, K-Nearest Neighbours, and Decision Trees, learning how to implement and train them effectively using Scikit-learn.
The workshop also covers crucial aspects of model evaluation using appropriate metrics for classification and regression, understanding how to diagnose and address underfitting and overfitting, and implementing basic hyperparameter tuning and cross-validation techniques. Unsupervised learning is introduced through essential algorithms like K-Means clustering for grouping data and Principal Component Analysis (PCA) for dimensionality reduction. Through extensive hands-on labs integrated throughout the modules, you will gain practical experience in data handling, building, training, and evaluating classic ML models using Python libraries, providing a strong foundation for further learning in machine learning and preparing you for the subsequent courses in the programme.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Explain the fundamental concepts of Machine Learning, including supervised and unsupervised learning paradigms.
- Understand the typical Machine Learning lifecycle from problem definition to evaluation.
- Use key Python libraries (Pandas, NumPy, Matplotlib, Seaborn) for data handling, exploration, and visualisation.
- Perform basic data cleaning and preprocessing steps on datasets.
- Implement key classification algorithms (Logistic Regression, kNN, Decision Trees) using Scikit-learn.
- Implement key regression algorithms (Linear Regression) using Scikit-learn.
- Split data into training, validation, and test sets and understand the importance of avoiding data leakage.
- Evaluate supervised models using appropriate metrics for both classification and regression problems.
- Understand and diagnose underfitting and overfitting in models.
- Apply basic techniques for hyperparameter tuning and cross-validation using Scikit-learn.
- Implement K-Means clustering for grouping data using Scikit-learn.
- Implement Principal Component Analysis (PCA) for dimensionality reduction using Scikit-learn.
-
This course is designed for anyone new to Machine Learning who wants to learn its fundamental concepts and classic techniques using the Python programming language. It is ideal for:
Data Analysts looking to expand their skills into Machine Learning.
Software Developers interested in adding ML capabilities to their skillset.
Students in technical fields exploring Machine Learning concepts.
Anyone with programming experience (preferably in Python) interested in getting started with building and understanding classic ML models.
-
Participants should have:
Working knowledge of programming concepts (e.g., variables, data types, control flow, functions).
Familiarity with the Python programming language, including basic syntax, data structures (lists, dictionaries, tuples, sets), and writing functions.
No prior experience with Machine Learning concepts or libraries like Scikit-learn, Pandas, or NumPy is required, as these will be introduced in the course.
We can customise the training to match your team's experience and needs - for instance, with more time and coverage devoted to fundamentals / pre-requisites.
-
This Machine Learning (ML) course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Introduction to Machine Learning
Understanding AI, Machine Learning, and Deep Learning (concepts and distinctions).
What is Machine Learning? Exploring common use cases and applications.
How Machines Learn: Key paradigms – Supervised Learning and Unsupervised Learning.
The Machine Learning Lifecycle: Overview of the typical steps (problem definition, data preparation, modelling, evaluation, deployment).
Distinguishing between describing data and predicting from data.
Overview of different Data Domains (tabular, text, image, etc.) and their relevance to ML.
Case Studies and discussing when ML may not be the appropriate solution.
Data Handling, Exploration, and Preprocessing with Python
Introduction to Essential Python Libraries for Data Science and ML: NumPy, Pandas, Matplotlib, Seaborn.
Loading and Exploring Data: Using Pandas DataFrames for data ingestion and initial inspection.
Handling Missing Data: Identification and common imputation or removal strategies.
Basic Data Cleaning and Transformation techniques.
Data Visualisation for Exploration: Using Matplotlib and Seaborn to create informative plots (scatter plots, histograms, box plots) to understand data distributions and relationships.
Introduction to Data Splitting: The importance of Train, Validation, and Test sets. Avoiding Data Leakage.
Feature Engineering Basics: Creating new features from existing data (e.g., one-hot encoding, scaling numerical features) using Pandas and Scikit-learn preprocessing modules.
Hands-On Labs: Loading and exploring datasets, cleaning data, performing basic transformations, creating visualisations, splitting data, basic feature engineering.
Supervised Learning - Concepts and Algorithms
Supervised Learning Problems: Clearly defining Classification problems (predicting labels) and Regression problems (predicting quantities).
Setting up Supervised Learning problems: Defining features and labels for your model.
Introduction to Scikit-learn: A key Python library for classic ML.
Classification Algorithms (Implementing common methods using Scikit-learn):
Logistic Regression.
K-Nearest Neighbours (kNN).
Decision Trees.
(Optional/Brief Introduction) Random Forests.
Regression Algorithms (Implementing common methods using Scikit-learn):
Linear Regression.
(Optional/Brief Introduction) Random Forests.
Hands-On Labs: Implementing and training various classification and regression models using Scikit-learn on sample datasets.
Model Evaluation and Improvement
Evaluation Metrics for Classification: Accuracy, Precision, Recall, F1-Score, Confusion Matrix.
Evaluation Metrics for Regression: Mean Squared Error (MSE), R-squared.
Understanding Underfitting and Overfitting: Diagnosing model performance issues.
Cross-Validation: A robust method for evaluating model performance.
Hyperparameter Tuning: Concepts and basic techniques (e.g., using Scikit-learn's GridSearchCV or RandomizedSearchCV).
Basic Feature Selection techniques.
Model Persistence: Saving and loading trained models (using Pickle or Joblib).
(Optional/Intro) Model Explainability Concepts: Understanding why a model makes certain predictions (e.g., using feature importances from tree models).
Hands-On Labs: Calculating and interpreting evaluation metrics, performing cross-validation, implementing basic hyperparameter tuning, saving and loading a trained model.
Unsupervised Learning - Concepts and Algorithms
Unsupervised Learning Problems: Exploring patterns in data without labels.
Clustering: Grouping similar items.
K-Means Clustering (Implementing using Scikit-learn).
Dimensionality Reduction: Reducing the number of features.
Principal Component Analysis (PCA) (Implementing using Scikit-learn).
Hands-On Labs: Implementing K-Means clustering and PCA on sample datasets and interpreting the results.
Summary and next steps
Review of key Machine Learning concepts and classic techniques covered.
Discussion of next steps in the ML Training Programme: Introduction to Deep Learning and MLOps.
Q&A
-
Official Scikit-learn Documentation - https://scikit-learn.org/stable/documentation.html
Official Pandas Documentation - https://pandas.pydata.org/docs/
Official NumPy Documentation - https://numpy.org/doc/
Official Matplotlib Documentation - https://matplotlib.org/stable/contents.html
Official Seaborn Documentation - https://seaborn.pydata.org/
Trusted by



