2 days
Grant Aided Fee:
On request
Course code:


A hands-on introduction to core Machine Learning techniques, this course will familiarise you with the Machine Learning landscape as well as providing practical experience.

Learning Objectives

  • To have a familiarity with the Machine Learning landscape
  • Understand the different types of Machine Learning algorithms
  • Identify suitable Machine Learning techniques for different types of data
  • To be able to implement and evaluate basic Machine Learning algorithms using Python libraries

Who is this course for

This is ideally suited for Python developers. No Machine Learning experience is required.


  • Proficiency in Python development including: array manipulations with NumPy, loading libraries, and plotting using Matplotlib.
  • Laptop with the latest version of Python and
  • A suitable IDE (PyCharm)
  • Anaconda 3 interpreter
  • TensorFlow 1.0

Course Outline Summary

Day 1: The Machine Learning Landscape


  • A high level overview of key Machine Learning concepts
  • Overview of Machine Learning tools and resources for Python

Topic 1

  • Introduction to Regression: a supervised learning technique
  • Regression analysis
  • Regression lab

Topic 2

  • Working with data
  • Feature transformation introduction and demonstration
  • Feature selection introduction and demonstration
  • Feature selection and transformation labs

Topic 3

  • Introduction to clustering: an unsupervised learning technique
  • Clustering lab

Topic 4

  • Introduction to data classification
  • Classifying data using Naïve Bayes lab

Topic 5

  • Introduction to time-series analysis
  • Time series analysis demonstration

Day 2: Neural Networks with TensorFlow


  • Introduction to Neural Networks
  • Introduction to TensorFlow
  • Demonstration

Topic 1

  • A simple network: lab
  • Tuning and hyperparameters

Topic 2

  • More complex network labs:
  • Image recognition
  • Recurrent Neural Networks