Skip to content

Repository for EEC1509, a graduate course on PPgEEC about Machine Learning

Notifications You must be signed in to change notification settings

ivanovitchm/ppgeecmachinelearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

82 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Federal University of Rio Grande do Norte

Technology Center

Graduate Program in Electrical and Computer Engineering

Department of Computer Engineering and Automation

EEC1509 Machine Learning

References

  • πŸ“š AurΓ©lien GΓ©ron. Hands on Machine Learning with Scikit-Learn, Keras and TensorFlow. [Link]
  • πŸ“š FranΓ§ois Chollet. Deep Learning with Python. [Link]
  • πŸ“š Hannes Hapke, Catherine Nelson. Building Machine Learning Pipelines. [Link]
  • πŸ“š Noah Gift, Alfredo Deza. Practical MLOps: Operationalizing Machine Learning Models [Link]
  • 🀜 Dataquest Academic Program [Link]

Week 01: Course Outline Open in PDF

  • Motivation, Syllabus, Calender, other issues.

Weeks 02, 03, 04 Machine Learning Fundamentals and Decision Trees Open in PDF

  • Outline Open in Loom
  • What is Machine Learning (ML)? Open in Loom
  • ML types Open in Loom
  • Main challenges of ML
    • Variables, pipeline, and controlling chaos Open in Loom
    • Train, dev and test sets Open in Loom
    • Bias vs Variance Open in Loom
  • Decision Trees
    • Introduction Open in Loom
    • Mathematical foundations Open in Loom
  • Evaluation metrics
    • How to choose an evaluation metric? Open in Loom
    • Threshold metrics Open in Loom
    • Ranking metrics Open in Loom
  • πŸš€ Case Study Jupyter
    • Google Colaboratory Open in Loom Open in Loom
    • Setup of the environment Open in Loom
    • Extract, Transform and Load (ETL)
      • Exploratory Data Analysis (EDA) Open in Loom
      • Fetch Data Open in Loom
      • EDA using Pandas-Profiling Open in Loom
      • Manual EDA Open in Loom
      • Preprocessing Open in Loom
    • Data Check Open in Loom
    • Data Segregation Open in Loom
    • Train
      • Train and validation component Open in Loom
      • Data preparation and outlier removal Open in Loom
      • Encoding the target variable Open in Loom
      • Encoding the independent variables manually Open in Loom
      • Using a full-pipeline to prepare categorical features Open in Loom
      • Using a full-pipeline to prepare numerical features Open in Loom
      • Creating a full-preprocessing pipeline Open in Loom
      • Holdout training Open in Loom
      • Evaluation metrics Open in Loom
      • Hyperparameter tuning using Wandb Open in Loom
      • Configure, train and export the best model Open in Loom
    • Test Open in Loom
    • Dataquest Courses
      • Elements of the Command Line Open in Dataquest
        • You'll learn how to: a) employ the command line for Data Science, b) modify the behavior of commands with options, c) employ glob patterns and wildcards, d) define Important command line concepts, e) navigate he filesystem, f) manage users and permissions.
      • Functions: Advanced - Best practices for writing functions Open in Dataquest
      • Command Line Intermediate Open in Dataquest
        • Learn more about the command line and how to use it in your data analysis workflow. You'll learn how to: a) employ Jupyter console and b) process data from the command line.
      • Git and Version Control Open in Dataquest
        • You'll learn how to: a) organize your code using version control, b) resolve conflicts in version control, c) employ Git and Github to collaborate with others.

Weeks 05 and 06 Deploy a ML Pipeline in Production Open in PDF

  • :neckbeard: Hands on Repository
  • Outline Open in Loom
  • Previously on the last lesson and next steps Open in Loom
  • Install essential tools to configure the dev environment Open in Loom
  • Environment management system using conda Open in Loom
  • Using FastAPI to Build Web APIs Open in Loom
  • Hello world using fastapi Open in Loom
  • Implementing a post method Open in Loom
  • Path and query parameter Open in Loom
  • Local API testing Open in Loom
  • API deployment with FastAPI Open in Loom
  • Run and consuming our RESTful API Open in Loom
  • Using pytest and fastAPI to test our RESTful API Open in Loom
  • Fundamentals of CI/CD Open in Loom
  • Configure a GitHub action Open in Loom
  • Workflow file configuration (Continuous Integration step) Open in Loom
  • Delivery your API with Heroku
    • Sign up Heroku and create a new app Open in Loom
    • Install the Heroku CLI, configure credentials, remote repository, buildpacks, dyno, procfile and push CD Open in Loom
    • Debuging and query live api Open in Loom

Weeks 07, 08 and 09 Project 01

  • Create an end-to-end machine learning pipeling
    • From fetch data to deploy
    • Using: sklearn, wandb, fastapi, github actions, heroku, notebooks

Weeks 10 and 11 Fundamentals of Deep Learning Open in PDF

  • Outline Open in Loom
  • The perceptron Open in Loom
  • Building Neural Networks Open in Loom
  • Matrix Dimension Open in Loom
  • Applying Neural Networks Open in Loom
  • Training a Neural Networks Open in Loom
  • Backpropagation with Pencil & Paper Open in Loom
  • Learning rate & Batch Size Open in Loom
  • Exponentially Weighted Average Open in Loom
  • Adam, Momentum, RMSProp, Learning Rate Decay Open in Loom
  • Hands on πŸ”₯
    • TensorFlow Crash Course Jupyter
    • Better Learning - Part I Jupyter

Weeks 12 and 13 Better Generalization vs Better Learning Open in PDF

  • Outline Open in Loom
  • Better Generalization
    • Spliting Data Open in Loom
    • Bias vs Variance Open in Loom
    • Weight Regularization Open in Loom
    • Weight Constraint Open in Loom
    • Dropout Open in Loom
    • Promote Robustness with Noise Open in Loom
    • Early Stopping Open in Loom
    • Hands on πŸ‘€
      • Better Generalization - Part I Jupyter
      • Better Generalization - Part II Jupyter
  • Better Learning II
    • Data scaling Open in Loom
    • Vanishing/Exploding Gradient Open in Loom
    • Fix Vanishing Gradient with Relu Open in Loom
    • Fix Exploding Gradient with Gradient Clipping Open in Loom
    • Hands on πŸŽ“
      • Better Learning - Part II Jupyter
      • Better Learning - Part III Jupyter

Week 14 - Hyperparameter Tuning & Batch Normalization Open in PDF

  • Outline Open in Loom
  • Hyperparameter Tuning Fundamentals Open in Loom
  • Keras Tuner, and Weight and Biases Open in Loom
  • Wandb - Part 01 Open in Loom
  • Wandb - Part 02 Open in Loom
  • Batch Normalization Fundamentals Open in Loom
  • Batch Normalization Math Details Open in Loom
  • Batch Normalization Case Study Open in Loom
  • Hands on πŸ””
    • Hyperparameter tuning using keras tuner Jupyter
    • Hyperparameter tuning using weights and biases Jupyter
    • Batch Normalization Jupyter

About

Repository for EEC1509, a graduate course on PPgEEC about Machine Learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published