Install this application on your home screen for quick and easy access when you’re on the go.
Just tap then “Add to Home Screen”
Level
Level: IntermediateSoftware
Member rate £572.50
Non-Member rate £1,145.00
Early bird discount available until 14 December 2026.
Save £45.00 Loyalty discount applied automatically*
Save 5% on each additional course booked
* If you attended a qualifying previous Methods School in 2026, you qualify for £45.00 off your course fee.
Date: Monday 15 – Friday 19 February 2027
Time: 09:30 – 12:30 CET
This interactive course uses advanced pedagogical tools and is designed for master's-level students and above. It runs as three-hour live sessions on Zoom over five days, with course materials and pre-course readings available on our Learning Management System at least two weeks before the start. Office hours are also available for one-to-one consultations on your own project.
The course is limited to 18 participants, ensuring that the teaching team can address the individual needs of each participant.
Applied Machine Learning in Python focuses on reasoning about, and an intuitive understanding of, machine learning modelling. The course introduces the conceptual fundamentals of machine learning and intuitively explains how selected algorithms learn from data.
You will learn how to build both supervised machine learning models used for prediction; and unsupervised models used for pattern discovery in data. You will also learn how to interpret the outputs of machine learning models and how to use such findings to build arguments in social science research. Each machine learning technique covered in the course will be applied and demonstrated in the Python software environment. The course assumes little or no familiarity with Python.
3 ECTS credits awarded for engaging fully in class activities.
1 additional ECTS credit awarded for completing a post-course assignment.
Igor Tkalec is Associate Professor (Teaching) in Social Data Science at UCL's Social Data Institute (SODA) with a background in political economy.
Prior to joining UCL, Igor was a research fellow at the European University Institute (EUI) working on the GlobalStat project. Pedagogy-wise, he focuses on data communication/storytelling and applied machine learning. At UCL, he leads the Data Storytelling for Digital Research Infrastructure project funded by UKRI-ESRC. Research-wise, Igor primarily studies EU economic governance with a specific focus on social/pension policy. He is currently writing a monograph on The Wicked Problem of Pensions in the EU and the Role of Pension Funds with Edinburgh University Press.
Building on the increased use and demonstrated utility of machine learning across the social sciences, Applied Machine Learning in Python focuses on developing an intuitive understanding of machine learning modelling. After introducing the main machine learning concepts, it explains and demonstrates three supervised (decision tree, random forest, support vector machines) and three unsupervised (hierarchical clustering, K-means clustering, principal component analysis) machine learning techniques.
Learning objectives:
By the end of the course, you will be able to:
The course is divided in five daily live sessions (three hours each). Each session consists of lecture in which the topic is presented and explained in an intuitive way, and a lab where the topic is demonstrated and applied in Python and where participants will have the opportunity to explore Python code, study examples and engage with exercises. The course covers the following (daily) topics:
Day 1: Machine learning concepts and overview of the Python software environment
Day 2: Supervised learning: tree-based models – decision tree and random forest
Day 3: Supervised learning: support vector machines (SVMs)
Day 4: Unsupervised learning: hierarchical and K-means clustering
Day 5: Unsupervised learning: principal component analysis (PCA)
There will be dedicated time for one-to-one consultations with the lecturer on Days 1, 3 and 5 (or more if needed) immediately after class. The logistics of this will be arranged 'on the go' depending on demand and the number of participants.
Lecture: Machine learning concepts (two hours)
Recommended reading: Mitchell, T. (1997) Machine learning. New York: McGraw-Hill. [Chapter 1]
Optional reading: Tan, P.-N. et al. (2019a) Introduction to data mining. Second edition. New York: Pearson Education. [Chapter 2]
Lab: Brief overview of the Python software environment (one hour)
Lecture: Supervised learning: tree-based models – decision tree and random forest (1.5 hours)
Recommended reading: Mitchell, T. (1997) Machine learning. New York: McGraw-Hill. [Chapter 3]
Optional reading (application of the technique): Zhao, J. and Li, W. (2023). A study on predicting students’ grades for ideological and political courses with decision tree generation rules. Journal of Computational Methods in Sciences and Engineering, 23(6), 3219–3228. https://doi.org/10.3233/JCM-226953
Lab: Application of tree-based models in Python (1.5 hours)
Lecture: Supervised learning: support vector machines (SVMs) (1.5 hours)
Recommended reading: Geron, A. (2023a) Hands-on machine learning with Scikit-Learn, Keras and TensorFlow: concepts, tools, and techniques to build intelligent systems. Third edition. Sebastopol, CA: O’Reilly Media, Inc. [Chapter 5]
Optional reading (application of the technique): D’Orazio, V., Landis, S. T., Palmer, G. and Schrodt, P. (2014). Separating the wheat from the chaff: Applications of automated document classification using support vector machines. Political Analysis, 22(2), 224–242. https://doi.org/10.1093/pan/mpt030
Lab: Application of support vector machines (SVMs) in Python (1.5 hours)
Lecture: Unsupervised learning: hierarchical and K-means clustering (1.5 hours)
Recommended reading: Kettenring, J.R. (2006) ‘The Practice of Cluster Analysis’, Journal of Classification, 23(1), pp. 3–30. Available at: https://doi.org/10.1007/s00357-006-0002-6
Optional reading (application of the technique): Abu Sharkh, M. and Gough, I. (2010). Global welfare regimes: A cluster analysis. Global Social Policy, 10(1), 27–58. https://doi.org/10.1177/1468018109355035
Lab: Application of clustering in Python (1.5 hours)
Lecture: Unsupervised learning: principal component analysis (PCA) (1.5 hours)
Recommended reading: Geron, A. (2023a) Hands-on machine learning with Scikit-Learn, Keras and TensorFlow: concepts, tools, and techniques to build intelligent systems. Third edition. Sebastopol, CA: O’Reilly Media, Inc. [Chapter 8 section on PCA]
Optional reading (application of the technique): Doyle, D. and Elgie, R. (2016). Maximizing the reliability of cross-national measures of presidential power. British Journal of Political Science, 46(4), 731–741. https://doi.org/10.1017/S0007123414000465
Lab: Application of principal component analysis (PCA) in Python
A data science-machine learning project report (max. 2200 words, excluding reference list and any appendices.
Participants are expected to identify a social science research question (on a topic of their choice – topics do not need approval by the lecturer) and provide a data-based answer to it, primarily by applying machine learning technique(s).
The report should comprise:
In addition to the report, participants should submit Python code (a Jupyter notebook [.ipynb] or .py script file) and a clean (post-wrangling) data file. Clearly indicate where machine learning modelling code begins, as any data wrangling code is not of primary interest.
It would be helpful if you are familiar with, or have some experience of:
The above are not strict prerequisites, but will help participants get the most out of the one-week course.
Python (Jupyter Notebook) – open-source software – will be used throughout the course. You should ideally install and set up Python on your computer ahead of the course. Step-by-step installation instructions will be provided a week in advance. If you have any problems during installation or setup, you're welcome to email the instructor. If this happens, please copy and paste the exact error/issue into your email and add a screenshot.
Approximately three hours in total:
The course includes three hours of live teaching each day for five days, alongside readings and other learning activities.
Once you have registered and paid, you will receive access to our Learning Management System (LMS) approximately two weeks before the course start date. Course materials, including pre-course readings, will be available here. Allow approximately 20 hours per week before the course to review the materials and complete readings and any pre-course tasks.
During the course week, you should allow approximately two to three hours per day for preparation and assignments, in addition to the live teaching sessions.
The course offers the opportunity to earn three ECTS credits. To earn a fourth credit, you will need to complete a post-course assignment involving approximately 25 hours of work.
This course description may be subject to subsequent adaptations (e.g. taking into account new developments in the field, participant demands, group size, etc.). Registered participants will be informed at the time of change.
By registering for this course, you confirm that you possess the knowledge required to follow it. The instructor will not teach prerequisite items. If in doubt, please contact us before registering.