Print

Introduction to Machine Learning for Engineers

Code

IT-MLE1

Version

1.0

Offered by

ICT Engineering

ECTS

5

Prerequisites

The course requires a good understanding of mathematical concepts. Some programming experience is also presupposed but not strictly required.

Main purpose

This course introduces core methodologies in machine learning and AI, combining theory with hands-on applications. Students will be focusing on data preparation, and exploration before applying machine learning models for pattern recognition and prediction.

The course emphasizes model selection, hyperparameter tuning, and performance evaluation using engineering-relevant metrics. A brief introduction to programming fundamentals, including loops and conditional statements, ensures all students can implement machine learning solutions effectively.

'Key Topics:
- Elementary Python programming
- Classification: Learning to categorize data into predefined classes.
- Regression: Making accurate predictions of continuous outcomes based on input data.
- Clustering: Unveiling hidden groupings in data.
- Dimensionality Reduction: Simplifying high-dimensional data without significant loss of information.

Knowledge

​By the end of the course, students will have in-depth knowledge of key machine learning algorithms, methodologies, tools, and applications, including:
- Data Preparation & Preprocessing: Handling missing data, normalization, and feature engineering.
- Classification Algorithms: Naïve Bayes, k-Nearest Neighbor, Decision Trees, Logistic Regression, Neural Networks.
- Regression Techniques: Simple linear regression, multiple linear regression, Ridge and Lasso regression.
- Dimensionality Reduction Algorithms: Principal component analysis
- Clustering Methods: k-Means, Agglomerative Clustering
- Model Evaluation Metrics: Accuracy, precision, recall, F1-score, MSE, cross-validation.

Skills

Upon completion, students will have developed:
- The ability to preprocess data and prepare it for machine learning tasks.
- Proficiency in implementing and fine-tuning classification models using real-world datasets.
- Skills to apply and interpret regression models to predict continuous variables.
- The capability to reduce the dimensionality of datasets while preserving important information.
- Competence in clustering unlabelled data and determining optimal cluster numbers.
- Expertise in using leading machine learning tools (e.g., Scikit-Learn, Keras, TensorFlow).
- The ability to critically assess and improve model performance using various validation techniques.

Competences

​Upon successful completion of the course, students will:
- Use simple Python scripts to solve machine learning problems
- Tune machine learning algorithms to optimize performance for unique datasets.
- Design and implement machine learning systems to solve complex real-world problems.
- Communicate and justify machine learning solutions and decisions to both technical and non-technical stakeholders.

Topics

Teaching methods and study activities

​The mode of teaching will be classroom based and will involve lectures by the teacher and project work in class. There are a total of six group projects during the semester.​

Resources

​Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow by Aurélien Géron. 3rd edition, 2022.

​Additional material will be uploaded to Itslearning.


Evaluation

Examination

Exam prerequisites
None

Type of exam

The exam is a 20-minute oral examination that departs from one of the six assignments that the students made during the semester. The exam will also include a discussion of one of the other assignments.
Internal assessment.

Tools allowed
N/A

Re-exam
Same as the ordinary exam. 

Grading criteria

Grading based on the Danish 7-point scale.
The final grade will be based on an overall assessment of the six assignments and the oral examination.

Additional information

Responsible

Richard Brooks

Valid from

01-08-2025 00:00

Course type

Keywords

Classification, data mining, neural networks, regression, decision trees, algorithms, support vector machines, principal component analysis, clustering