This repository contains exercises, resources, and information for learning machine learning concepts and applying them to networking.
A general structure for a short course on this material is as follows. Each lecture has (1) a set of notes and slides explaining concepts, (2) an accompanying Jupyter Notebook with example applications from networking to make the concepts more concrete and further expand on networking concepts.
| Module | Topic | Activity |
|---|---|---|
| 1 | Overview and Motivation | Python Basics |
| 2 | Measurement: Data and Feautres | Packet Capture |
| 3 | Machine Learning Pipelines | Pipelines and Model Selection |
| 4 | Linear Regression | IoT: Energy Prediction |
| 5 | Logistic Regression | DNS Query Detection |
| 6 | Naive Bayes | Spam Filtering |
| 7 | Trees and Ensembles | Activity Recognition |
| 8 | Deep Learning | DDoS Detection |
| 9 | Unsupervised Learning | Traffic Clustering |
| 10 | Automated Machine Learning | nprintML |
All of the notebooks, notes, and slides for each lecture can be found in the respective directory.
The repository has the following organization: