CS986 – Fundamentals of Machine Learning for Data Analytics

Credits 10
Level 5
Semester 2
Prerequisites N/A
Availability Possible elective
Contact Lectures: 10 | Labs: 10
Homework / Private Self study: 80
Assessment One individual assignment worth (50%), and a one-hour examination (50%).
Resit By examination (1 hour)
Lecturer Dr Marc Roper

General Aims

The aim of this class is to equip students with a sound understanding of the principles of machine learning and a range of popular approaches, along with the knowledge of how and when to apply the techniques. The class balances a solid theoretical knowledge of the techniques with practical application via Python (and associated libraries) and students are expected to be familiar with the language.

Learning Outcomes

After completing this class participants will be able to:

  • understand the aims and fundamental principles of machine learning;
  • understand a range of the essential core algorithms and approaches to machine learning;
  • apply the algorithms covered on substantial data sets using Python and Scikit-learn and interpret the outcomes;
  • understand the applicability of the algorithms to different types of data and problems along with their strengths and limitations.


  • Machine learning basics – main concepts and terminology
  • Overview of the machine learning process
  • Classifiers and classification measures
    • Binary, multiclass, multi-label and multi-output classifiers
    • Classification measures (TP, FP etc., confusion matrix, precision, recall F1, ROC curves, sensitivity, specificity)
  • Training models
    • Linear Regression
    • Gradient Descent
    • Polynomial regression
    • Logistic regression
  • Support Vector Machines
      • Classification and regression along with various kernels – polynomial and Gaussian RBF
  • Decisions Trees
  • Ensemble Learning
    • Voting classifiers, bagging, pasting, boosting, stacking
    • Random Forests
  • Dimensionality Reduction (Principal Components Analysis
  • Introduction to Neural Networks

Recommended Text/Reading*

Hands-on Machine Learning with Scikit-Learn, Keras and Tensorflow (2nd Edition). Aurelien Geron at:  https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/