MODULE LEARNING OUTCOMES
1 Apply underlying concepts and principles of Python Programming and data science libraries for the implementation of Machine Learning models and algorithms
2 Demonstrate critical understanding of differences between supervised and unsupervised Machine Learning techniques and approaches
3 Use a range of established methods and techniques that are used in training and testing different Machine Learning models
4 Implement, test and analyse the performance of supervised and unsupervised ML models
MODULE ADDITIONAL ASSESSMENT DETAILS
Assessment 1 - written exam (60-minutes) covering learning outcomes 1 & 2
Topics that will be assessed:
- Ability to differentiate between supervised and unsupervised learning based on examples of scenarios
- Ability to apply linear regression to predict outcomes, analyze and assess model performance
- Ability to apply KMeans clustering on a dataset and determine the op9mal number of clusters
- Ability to interpret and present the clustering result
- Ability to implement KNN on a dataset considering appropriate parameters (e.g., k)
Assessment 2: Group project covering learning outcomes 1, 2, 3 & 4
Upon returning to Paris, students will undergo an examination aimed at achieving learning outcomes 1 to 4. While Staffordshire University is responsible for preparing students for the exam, EFREI will manage the setting and administration of this assessment.
MODULE INDICATIVE CONTENT
By the end of this course, students will have knowledge on:
- Concepts of Machine Learning
- Python programming and Data Science libraries
- Fundamental of supervised learning
- Fundamentals of unsupervised learning
- Hierarchical Clustering
- Model evaluation and training process
- Cross-validation
WEB DESCRIPTOR
This course aims to provide participants with essential skills in machine learning using Python. The syllabus focuses on foundational concepts, supervised learning (KNN, Linear Regression), unsupervised learning (K-Means), metrics evaluation, training processes, and cross-validation. Practical, hands-on sessions will empower participants to apply these concepts to real-world datasets.
MODULE LEARNING STRATEGIES
1. Lectures and Tutorials
- Combined Lecture and Tutorial Sessions: 35 hours of interactive teaching to introduce and explain key machine learning concepts and algorithms.
- Interactive Discussions: Encourage questions and discussions to deepen understanding and facilitate active learning.
2. Hands-on Labs
- Practical Lab Sessions: Regular hands-on practice in Python, applying theoretical concepts to real-world datasets.
- Step-by-Step Implementation: Guided exercises to implement algorithms using libraries like Scikit-learn, NumPy, and Pandas.
3. Guided Independent Study
- Independent Learning Tasks: 70 hours dedicated to self-study, including reading course materials, completing assignments, and reviewing lecture content.
- Online Resources: Utilization of online tutorials, forums, and documentation to enhance self-learning and problem-solving skills.
4. Project-Based Learning
- Real-World Project: A group project where students apply machine learning techniques to a dataset, allowing for exploration beyond the syllabus.
- Regular Check-ins: Scheduled follow-up sessions to monitor progress, provide feedback, and ensure students stay on track.
5. Assessments
- Midterm exam to assess understanding of initial concepts and provide feedback for improvement.
- Final project evaluation to measure comprehensive knowledge and practical skills.
6. Peer Learning
- Group Work: Collaborative projects and study groups to encourage peer-to-peer learning and knowledge sharing.
- Discussion Forums: Online and in-class forums for discussing concepts, sharing resources, and solving problems collaboratively.
MODULE TEXTS
1. "Pattern Recognition and Machine Learning" by Christopher M. Bishop
- A comprehensive guide to the theoretical foundations of machine learning, covering various algorithms and their applications.
2. "Machine Learning: A Probabilistic Perspective" by Kevin P. Murphy
- This book provides a detailed exploration of machine learning techniques, with a strong emphasis on probabilistic models and inference.
3. "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" by Aurélien Géron
- A practical guide that focuses on using popular Python libraries for machine learning, providing hands-on examples and exercises.
4. "Python Machine Learning" by Sebastian Raschka and Vahid Mirjalili
- A comprehensive resource that combines theory and practice, focusing on using Python for implementing machine learning algorithms.
5. "The Elements of Statistical Learning: Data Mining, Inference, and Prediction" by Trevor Hastie, Robert Tibshirani, and Jerome Friedman
- An in-depth reference on statistical learning techniques, suitable for students seeking a deeper understanding of the mathematical underpinnings of machine learning.
6. "Introduction to Machine Learning with Python: A Guide for Data Scientists" by Andreas C. Müller and Sarah Guido
- This book provides a practical introduction to machine learning with Python, focusing on the use of Scikit-learn for building and evaluating models.
7. "Machine Learning Yearning" by Andrew Ng
- A concise and practical guide by one of the leading figures in the field, offering insights into the process of building machine learning systems.
8. "Deep Learning" by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
- An essential reference for understanding deep learning techniques, authored by prominent researchers in the field.
9. "Data Science from Scratch: First Principles with Python" by Joel Grus
- A hands-on introduction to data science and machine learning, focusing on building algorithms from scratch using Python.
10. "Applied Predictive Modelling" by Max Kuhn and Kjell Johnson
- This book provides practical guidance on building predictive models, covering a wide range of techniques and applications
MODULE RESOURCES
Course Materials: Comprehensive lecture notes, slides, and tutorial handouts provided by the instructor.
Python interpreter
IDE for ML programming such as VS Code, PyCharm, Jupyter Notebook
Libraries and packages for data science such as Numpy, Pandas, Scikit-learn