Undergraduate Course: Data Analysis and Machine Learning 4 (ELEE10031)
Course Outline
School | School of Engineering |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 10 (Year 4 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | Data-driven solutions using machine learning are becoming increasingly prevalent in society. It is essential that the modern engineer has the tools to analyse and interpret data, and be able to apply machine learning methods where appropriate. They should also have an appreciation of the ethical issues that can arise when making decisions based on these methods.
This course aims to provide engineering students with the skills to process and examine different forms of data in Python, and an understanding of how machine learning methods can use this data to solve classification and regression problems. They will learn how to implement these methods in Python using modern frameworks (e.g. Scikit-learn and PyTorch). The students will also gain an awareness of: when it is appropriate to use a particular method (if any); best practices; the ethical issues that can occur when sourcing data and deploying machine learning in the real world.
|
Course description |
This course takes a hands-on approach to performing data analysis and using machine learning. It combines traditional teaching with lab sessions using interactive Jupyter notebooks where students will develop and run Python code to analyse data and try out machine learning methods for themselves. Each week's teaching will consist of a lecture to introduce material and a follow-up lab session to put it into practice. The main topics are listed below.
Interpreting Data: loading and reading data, understanding different modalities, datasets, computing statistics
Finding Patterns: data exploration, visualisation, dimensionality reduction, principal component analysis, K-means
Supervised Learning: the concepts of regression and classification, generalisation, learning regression models, regularisation, linear classifiers, decision trees
Deployment: evaluation, validation, neural networks, optimisation, applications, ethics
|
Information for Visiting Students
Pre-requisites | None |
High Demand Course? |
Yes |
Course Delivery Information
|
Academic year 2023/24, Available to all students (SV1)
|
Quota: None |
Course Start |
Semester 2 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 10,
Supervised Practical/Workshop/Studio Hours 30,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
58 )
|
Assessment (Further Info) |
Written Exam
0 %,
Coursework
100 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
Written Exam %: 0
Practical Exam %: 0
Coursework %: 100
- 50% mini-tests
- 25% applications and ethics assignment
- 25% programming assignment |
Feedback |
Not entered |
No Exam Information |
Learning Outcomes
On completion of this course, the student will be able to:
- read in and analyse different types of data;
- visualise and summarise datasets in Python;
- apply machine learning algorithms to new data in Python;
- describe best practices for training and evaluating machine learning models, and be aware of common pitfalls;
- appreciate the ethical issues that can arise when deploying machine learning algorithms in society.
|
Reading List
Optional but helpful:
- Raschka, Liu, and Mirjalili. Machine Learning with PyTorch and Scikit-Learn. Packt Publishing, 2022.
- Murphy. Probabilistic Machine Learning: An Introduction. MIT Press, 2022. (free online)
|
Additional Information
Graduate Attributes and Skills |
Not entered |
Keywords | Machine Learning,Data Analysis,Python |
Contacts
Course organiser | Dr Elliot Crowley
Tel:
Email: |
Course secretary | Mrs Megan Inch-Kellingray
Tel: (0131 6)51 7079
Email: |
|
|