ST310      Half Unit
Machine Learning

This information is for the 2022/23 session.

Teacher responsible

Dr Joshua Loftus


This course is compulsory on the BSc in Data Science. This course is available on the BSc in Actuarial Science, BSc in Mathematics with Economics, BSc in Mathematics, Statistics and Business and BSc in Politics and Data Science. This course is available as an outside option to students on other programmes where regulations permit. This course is available with permission to General Course students.

This course cannot be taken with ST309 Elementary Data Analytics.


Students must have completed one of the following two combinations of courses: (a) ST102 and MA100, or (b) MA107 and ST109 and EC1C1. Equivalent combinations may be accepted at the lecturer’s discretion.

Previous programming experience is not required but students who have no previous experience in R must complete an online pre-sessional R course from the Digital Skills Lab before the start of the course (

Course content

The primary focus of this course is on the core machine learning techniques in the context of high-dimensional or large datasets (i.e. big data). The first part of the course covers elementary and important statistical methods including nearest neighbours, linear regression, logistic regression, regularisation, cross-validation, and variable selection. The second part of the course deals with more advanced machine learning methods including regression and classification trees, random forests, bagging, boosting, deep neural networks, k-means clustering and hierarchical clustering. The course will also introduce causal inference motivated by analogy between double machine learning and two-stage least squares. All the topics will be delivered using illustrative real data examples. Students will also gain hands-on experience using R or Python (programming languages and software environments for data analysis, computing and visualisation).


10 hours of lectures, 20 hours of seminars and 5 hours of help sessions in the MT.

This course will be delivered through a combination of classes, lectures and Q&A sessions totalling a minimum of 30 hours in Michaelmas Term.

[This course includes a reading week in Week 6 of Michaelmas Term].

Students are required to install R/RStudio in their own laptops. 

Student not having a laptop of their own will be offered to use personal computers available in seminar rooms.

Formative coursework

Students will be expected to produce 4 problem sets in the MT.

Indicative reading

James, G., Witten, D., Hastie, T. and Tibshirani, R. An Introduction to Statistical Learning with Applications in R. Springer, 2017.

Hastie, T., Tibshirani, R. and Friedman, J. The Elements of Statistical Learning: Data Mining, Inference and Prediction. 2nd Edition, Springer,  2009. 

Efron, B. and Hastie, T. Computer Age Statistical Inference. Cambridge University Press, 2016.

Wickham, H, and Grolemund, G. (2017). R for Data Science. O'Reilly.


Coursework (15%) in the MT Week 4.
Coursework (15%) in the MT Week 9.
Project (40%) and group project (30%) in the LT.

Students are required to submit a group project by applying machine learning methods covered in this course on some real data using R (which accounts for 30% of the final assessment), and an individual project that includes a prediction competition component (which accounts for 40% of the final assessment).

In addition to some real data examples, the focus of this course is to introduce some theoretical and methodological concepts in machine learning. These components will be tested by coursework as problem sets (which account for 30% of the final assessment).

Key facts

Department: Statistics

Total students 2021/22: 47

Average class size 2021/22: 16

Capped 2021/22: Yes (60)

Value: Half Unit

Guidelines for interpreting course guide information

Course selection videos

Some departments have produced short videos to introduce their courses. Please refer to the course selection videos index page for further information.

Personal development skills

  • Self-management
  • Team working
  • Problem solving
  • Application of information skills
  • Communication
  • Application of numeracy skills
  • Specialist skills