Machine Learning with Python Projects

Taught: 2023

UVSQ, Paris, Saclay, France

Université de Versailles Saint Quentin, Paris, Saclay, France

Description

This course provides an introduction to the core principles of machine learning, focusing on practical implementation using Python. Students will learn key algorithms and techniques used in supervised, unsupervised learning and deep learning, along with methods for evaluating and improving model performance. Through hands-on projects and exercises, students will gain experience in applying machine learning to real-world datasets, preparing them to solve problems in domains such as finance, healthcare, and marketing.

By the end of the course, students will be equipped with the foundational knowledge and skills to understand, implement, and analyze machine learning algorithms using Python and its popular libraries.

Key Learning Outcomes:

  • Understand the fundamentals of machine learning and its applications.
  • Implement supervised learning algorithms such as regression and classification.
  • Explore unsupervised learning techniques like clustering and dimensionality reduction.
  • Gain familiarity with model evaluation metrics and performance improvement strategies.
  • Use Python and its libraries (scikit-learn, pandas, NumPy) to develop machine learning models.
  • Understand overfitting, regularization, and hyperparameter tuning.

Course Topics:

Introduction to Machine Learning

  • What is machine learning?
  • Key applications and challenges
  • Overview of supervised, unsupervised, and reinforcement learning

Data Preparation for Machine Learning

  • Data preprocessing: handling missing data, scaling, and normalization
  • Feature engineering and selection
  • Splitting datasets into training, validation, and test sets

Supervised Learning Algorithms

  • Linear regression and multiple regression
  • Logistic regression for classification
  • Decision trees and random forests
  • Support vector machines (SVMs)

Unsupervised Learning Algorithms

  • Clustering techniques (K-means, hierarchical clustering)
  • Principal Component Analysis (PCA) for dimensionality reduction

Model Evaluation and Validation

  • Metrics for regression: Mean Squared Error (MSE), R² score
  • Metrics for classification: accuracy, precision, recall, F1-score, ROC curve
  • Cross-validation and train-test split
  • Overfitting and regularization (L1, L2)

Introduction to Neural Networks

  • Perceptron model
  • Basics of deep learning and its relationship to traditional ML
  • Transformers and large language models

Hands-On Projects

  • Building a predictive model for a dataset (e.g., predicting house prices, classifying email spam)
  • Clustering a dataset (e.g., customer segmentation)
  • Hyperparameter tuning with grid search or random search

Tools and Libraries:

  • Python
  • pandas and NumPy (data manipulation and analysis)
  • scikit-learn (machine learning implementation)
  • matplotlib and seaborn (data visualization)

Course Format:

  • Lectures: Conceptual and algorithmic understanding of machine learning.
  • Practical Labs: Hands-on implementation of algorithms in Python.
  • Assignments: Focused exercises on implementing and evaluating machine learning models.
  • Final Project: Develop and evaluate a machine learning solution for a real-world dataset.

Prerequisites:

Basic programming knowledge in Python.

Familiarity with high school-level mathematics, including linear algebra, calculus, and probability/statistics.