Machine Learning, 2026.
Last updated: 2026-03-25
Official Master’s Degree in Industrial Engineering + Master’s Degree in Smart Industry.
ICAI, Universidad Pontificia Comillas.

Sessions
2026-03-25 Session
- The Arima session 4.4 has been update to a (more) complete version.
- The assignment for the forecasting session will be available before this weekend. We will notify you when it is. Keep in mind that some of the requirements for the assignment will be covered in the first session after the Easter break.
2026-03-24 Session
- Today we start the discussion of baseline models (4.3). The Arima session 4.4 has also been uploaded, albeit in a provisional version, since we will be updating it in the next sessions.
2026-03-18 Session
- We ended the stationarity discussion.
2026-03-17 Session
- Today we finished the 4_1 Introduction to forecasting and began the discussion of stationarity in 4_2.
2026-03-11 Session
- Today we begin the forecasting section of the course.
2026-03-10 Session: Midterm (15:00-17:00, room 201)
- The files for the midterm are expected to ba available by doing a regular git pull for the course repository. But in case of need they can be obteined as a password protected zip file at this link. The password will be provided at the beginning of the midterm session. Uncompress this file inside the repository folder
MLMIIN, and you will find a folder calledmidterm26with all the files you need to work on the midterm. Delete themidterm26.zipfile after uncompressing, to avoid conflicts afterwards.
2026-02-25 Session (3h)
- Midterm date:2026-03-26, 15:00-17:00. Location: room 201.
2026-02-24 Session (3h)
2026-02-18 Session (3h)
- Today we finished the discussion of Linear Regression and we started talking about regularization and feature selection methods.
- Code for sessions 3_1 and 3_2 has been updated.Make sure to git pull before resuming work. If you already made a local copy for 3_1, we suggest you make a second one from the updated version, to avoid any issues with the changes.
2026-02-17 Session (3h)
Today we saw the (beutiful) Kernel Trick for SVM, our last classifier, and started with Linear Regression models.
2026-02-11 Session
- Boosting methods. And we began the discussion of Support Vector Machines.
2026-02-10 Session
- Today we finish the decission trees session and we start talking about ensemble and boosting methods. We have finished the bagging and random forests part.
- Pandas 3.0 has arrived (Release date: 2026-01-21). Here you will find a Medium post with a summary of some very relevant changes.
Note: our Docker container uses a previous version of Pandas, so we will not need/be able to use the new features in the course sessions; but we encourage you to look at the changes anyway, since Pandas ia a major component of the python Data Science stack, and the new version is a major update. - We will also introduce the first assignment of the course.
2026-02-04 Session
- This session dealt with decission trees.
2026-02-03 Session
- Today we finished the discussion of KNN models and basic validation methods.
- Updated code for exercises
2026-01-28 Session
- Today we continued the discussion of KNN models; we are using this model to introduce many foundational ideas of Machine Learning.
2026-01-27 Session
Course schedule proposal:
For the two weeks preceding the midterms we will have three hour sessions:- Tuesdays 17th and 24th February, 15:00-18:00
- Wednesday 18th and 25th February, 14:00-17:00
- Today we finished the Logistic Regression and started the (very preliminary) discussion of KNN.
2026-01-21 Session
We will have our first (mock) course assignment. Please make sure that we know your email and associated github user beforehand.
Talk about quarto rendering.
We have been working on 2_2_Classification_Logistic_Regression and we have stopped at the paragraph with the question “What Remains to Be Done in this Model?” (before Prediction and Model Performance Measures in Classification).
2026-01-20 Session
We have finished 2_1_Classif_EDA_Preprocessing notebook and we have started 2_2_Classification_Logistic_Regression, discussing the signal vs noise idea behind Logistic Regression in the setting of a one-numeric- input datasets.
Remember to discuss course schedule!
Talk about gitignore.
Talk about quarto rendering.
2026-01-14 Session
- Remember to discuss course schedule!
2026-01-13 Session
- Welcome to Machine Learning 2026!
Docker run commands
Mac OS
docker run -it --rm -p 8888:8888 -v "$PWD":/wd mlmiin/mlmiin:2026V01To mount the exclude folder
Add a second mount point like this to the command. This is needed because Docker does not follow symbolic links on Mac OS or Linux. The command is easily adaptable to mount any other folder under Windows as well, just change the path format accordingly.
docker run -it --rm -p 8888:8888 -v "$PWD":/wd -v "$PWD"/exclude:/wd/exclude mlmiin/mlmiin:2026V01Windows
docker run -it --rm -p 8888:8888 -v "$($PWD.Path):/wd" mlmiin/mlmiin:2026V01Links
This page is at: https://ml-mic.github.io/MLMIIN_public/. Bookmark it now!
Recommended Readings and other Resources
Here we include at most a brief description of each item. See detailed References section below.
The bibliography for this course is provided in a BibTeX file called
mlmiin.bib, which you can download from this link.

General Machine Learning
(Géron, 2022) Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow (3rd Edition). A very practical book with code examples in Python, with an approach close to the spirit of this course. The only caveat is that it uses TensorFlow/Keras for Deep Learning. And we stronlgy recommend PyTorch, so you need to learn Pytorch elsewhere (see below).
(Raschka, Liu, & Mirjalili, 2022) Machine Learning with PyTorch and Scikit-Learn: Develop machine learning and deep learning models with Python. Sebastian Raschka has been writing very good books on Machine Learning for years. This is the latest iteration of his very popular “Machine Learning with Scikit-Learn” book series, and it uses PyTorch for Deep Learning, so it is a great complement to Geron’s book.
(Serrano, 2021) Grokking Machine Learning. Luis Serrano is one of the best Machine Learning educators out there, and his YouTube channel is a proof of that. We really like his conceptual approach to the subject, and this book follows closely that style.
(Hastie, Tibshirani, & Friedman, 2009) The Elements of Statistical Learning. Data Mining, Inference and Prediction. 2nd Ed. This is THE BOOK in capital letters for Machine Learning. A classic reference in the field, more theoretical and mathematically oriented than the previous ones, this is the text where many people learnt Machine Learning from when the field was much younger than today. The value of the book has not diminished with time. And to make things even better, it is kindly made available for free by the authors at https://hastie.su.domains/ElemStatLearn.
(James, Witten, Hastie, Tibshirani, & Taylor, 2023) Statistical learning. An Introduction to Statistical Learning: with Applications in Python. A practical closer-to-the-ground version of the previous book, focusing on the implementation of the methods rather than on the theory behind them. The first edition used R for the code examples but now we have a Python edition. Also made available for free by the authors at https://www.statlearning.com
(VanderPlas, 2016) Python Data Science Handbook. This is also freely available online at https://jakevdp.github.io/PythonDataScienceHandbook. We are recommeding it not so much as a Machine Learning book, but as a reference for the Python data science stack (NumPy, Pandas, Matplotlib, Scikit-Learn, etc.).
(Murphy, 2022) Probabilistic Machine Learning (2022). Two volume set by K. Murphy. Visit https://probml.github.io/pml-book/. An enciclopedic, two volumes book that you can also download for free here! A great reference for the more mathematically inclined, and also a good way to help you move from classical Machine Learning to Probabilistic Machine Learning and Bayesian methods. Note: Use books 1 and 2, book 0 is an older version.
(Kuhn & Johnson, 2013) Applied Predictive Modeling. Another classic reference in the field.
Forecasting
(Hyndman et al., 2025) Forecasting: Principles and Practice, the Pythonic Way. Hyndman’s books on forecasting are the main modern reference for the subject. Originally written in R, this is the new 2025 edition using Python (in particular, the Nixtlaverse set of libraries). This text is probably set to define the pythonic approach to forecasting in the next years. And it is freely available at https://otexts.com/fpppy/.
(Peixeiro, 2022) Time Series Forecasting in Python. This book by Marco Peixieiro is a practical hands-on introduction to time series forecasting using Python. It used to be the basic reference for those moving from R to Python for time series forecasting, but now with Hyndman’s new book it is probably in need of a second edition. Still, it is a good book to learn about forecsting in Python outside the Nixtlaverse. And I would like to add that Peixeiro’s blog Data Science with Marco is a great resource to learn about recent developments in time series forecasting with Python.
A first glimpse on Deep Learning
(Glassner, 2021) Deep Learning: A Visual Approach. This is one of my favorite books to get a first understanding of many Machine Learning and Deep Learning concepts. You will not find an equation of a line of code in the entire book, but its conceptual approach and visual explanations are outstanding.
Ensemble Methods & Boosting
- Ensemble Methods for Machine Learning by G.Kunapuli.
Hyperparameter Optimization
Session Notes (html files)
Classification Sessions
Regression Sessions
Forecasting Sessions
- 4_1_Introduction_to_Forecasting
- 4_2_Stationarity
- 4_3_Baseline
- 4_4_Arima
- 4_5_Forecasting_Exogenous_Prophet
Unsupervised Learning Sessions
- 5_1_Unsupervised_PCA
- 5_2_Unsupervised_Clustering
- 5_3_Density_Estimation