📓 Machine Learning & Data Science: An Extensive Notebook Library
A curated collection of the best free resources for learning machine learning, deep learning, and data science with Python. All materials include direct links to Jupyter notebooks that you can download, run, and experiment with.
📋 Table of Contents
🐍 Foundational Python and Data Science
Perfect for beginners and those strengthening their foundation
Hands-On Machine Learning
Practical approach to ML with popular libraries
Deep Learning
Advanced neural networks with Keras, TensorFlow, and PyTorch
🔢 Computational Linear Algebra
Mathematical foundations for data science
🐍 Foundational Python and Data Science
These resources are perfect for beginners and those looking to strengthen their foundational knowledge of Python and core data science libraries.
Think Python 3e (by Allen B. Downey)
Introduction to Python programming for beginners. Now in its third edition with Jupyter notebooks, revised text, more exercises, and AI tool integration guidance. Perfect for learning Python from scratch.
Chapter 1: The way of the program
Chapter 2: Variables, expressions and statements
Chapter 3: Functions
Chapter 4: Case study: interface design
Chapter 5: Conditionals and recursion
Chapter 6: Fruitful functions
Chapter 7: Iteration
Chapter 8: Strings
Chapter 9: Case study: word play
Chapter 10: Lists
Chapter 11: Dictionaries
Chapter 12: Tuples
Chapter 13: Case study: data structure selection
Chapter 14: Files
Chapter 15: Classes and objects
Chapter 16: Classes and functions
Chapter 17: Classes and methods
Chapter 18: Inheritance
Chapter 19: The Goodies
Interactive Colab Notebooks - Run Code Online!
Execute Python code directly in your browser with these interactive Google Colab notebooks:
Chapter 1: Programming as a way of thinking
Chapter 2: Variables and Statements
Chapter 3: Functions
Chapter 4: Functions and Interfaces
Chapter 5: Conditionals and Recursion
Chapter 6: Return Values
Chapter 7: Iteration and Search
Chapter 8: Strings and Regular Expressions
Chapter 9: Lists
Chapter 10: Dictionaries
Chapter 11: Tuples
Chapter 12: Data Structures
Chapter 13: Files and Databases
Chapter 14: Classes and Objects
Chapter 15: Classes and Functions
Chapter 16: Classes and Methods
Chapter 17: Inheritance
Chapter 18: Iterators and Generators
Chapter 19: Extra Goodies
Python Data Science Handbook (by Jake VanderPlas)
The complete Python Data Science Handbook, available as Jupyter notebooks. An essential resource for anyone working with data in Python. Covers IPython, NumPy, Pandas, Matplotlib, and Scikit-Learn in depth.
0. Preface
1. IPython: Beyond Normal Python
2. Introduction to NumPy
Introduction to NumPy
Understanding Data Types in Python
The Basics of NumPy Arrays
Computation on NumPy Arrays: Universal Functions
Aggregations: Min, Max, and Everything In Between
Computation on Arrays: Broadcasting
Comparisons, Masks, and Boolean Logic
Fancy Indexing
Sorting Arrays
Structured Data: NumPy's Structured Arrays
3. Data Manipulation with Pandas
Introduction to Pandas
Introducing Pandas Objects
Data Indexing and Selection
Operating on Data in Pandas
Handling Missing Data
Hierarchical Indexing
Combining Datasets: Concat and Append
Combining Datasets: Merge and Join
Aggregation and Grouping
Pivot Tables
Working with Strings
Working with Time Series
Performance: Evaluation and Query
4. Visualization with Matplotlib
Introduction to Matplotlib
Simple Line Plots
Simple Scatter Plots
Visualizing Errors
Density and Contour Plots
Histograms, Binnings, and Density
Customizing Plot Legends
Customizing Colorbars
Multiple Subplots
Text and Annotation
Customizing Ticks
Customizing Matplotlib: Configurations and Stylesheets
Three-Dimensional Plotting in Matplotlib
Geographic Data with Basemap
Visualization with Seaborn
5. Machine Learning
Machine Learning
What Is Machine Learning?
Introducing Scikit-Learn
Hyperparameters and Model Validation
Feature Engineering
In Depth: Naive Bayes Classification
In Depth: Linear Regression
In-Depth: Support Vector Machines
In-Depth: Decision Trees and Random Forests
In-Depth: Principal Component Analysis
In-Depth: Manifold Learning
In-Depth: k-Means Clustering
In-Depth: Gaussian Mixture Models
In-Depth: Kernel Density Estimation
Application: A Face Detection Pipeline
Further Machine Learning Resources
Data School (by Kevin Markham)
Data School offers excellent free courses and tutorials on data science topics. Kevin Markham provides high-quality, practical instruction for learning Python data science.
Hands-On Machine Learning
These resources provide a practical, hands-on approach to machine learning with popular libraries.
Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow (3rd Edition by Aurélien Géron)
The most comprehensive hands-on ML resource, covering everything from fundamentals to advanced deep learning techniques. Updated for Python 3.10 with modern ML practices.
01 - The Machine Learning Landscape
02 - End-to-End Machine Learning Project
03 - Classification
04 - Training Models
05 - Support Vector Machines
06 - Decision Trees
07 - Ensemble Learning and Random Forests
08 - Dimensionality Reduction
09 - Unsupervised Learning
10 - Introduction to Artificial Neural Networks with Keras
11 - Training Deep Neural Networks
12 - Custom Models and Training with TensorFlow
13 - Loading and Preprocessing Data with TensorFlow
14 - Deep Computer Vision Using Convolutional Neural Networks
15 - Processing Sequences Using RNNs and CNNs
16 - Natural Language Processing with RNNs and Attention
17 - Representation Learning and Generative Learning using Autoencoders and GANs
18 - Reinforcement Learning
19 - Training and Deploying TensorFlow Models at Scale
Deep Learning
This section focuses on deep learning, with notebooks using libraries like Keras, TensorFlow, and PyTorch.
Deep Learning with Python (3rd Edition by François Chollet & Matthew Watson)
Official Jupyter notebooks for the latest edition covering modern deep learning with JAX, TensorFlow, and PyTorch backends. Updated for 2025 with cutting-edge techniques.
Chapter 2: The mathematical building blocks of neural networks
Chapter 3: Introduction to Keras and TensorFlow
Chapter 4: Getting started with neural networks: Classification and regression
Chapter 5: Fundamentals of machine learning
Chapter 7: Working with Keras: A deep dive
Chapter 8: Introduction to deep learning for computer vision
Chapter 9: Advanced deep learning for computer vision
Chapter 11: Deep learning for timeseries
Chapter 12: Deep learning for text
Chapter 13: Generative deep learning
Chapter 14: Best practices for the real world
Chapter 15: The Functional API
Practical Deep Learning for Coders (fast.ai)
Jupyter notebooks for the fast.ai book by Jeremy Howard and Sylvain Gugger. Teaching deep learning from a practical, code-first perspective with PyTorch and fastai.
01 - Your Deep Learning Journey
02 - From Model to Production
03 - Data Ethics
04 - Under the Hood: Training a Digit Classifier
05 - Image Classification
06 - Multi-category Classification
07 - Sizing and TTA
08 - Collaborative Filtering
09 - Tabular Modeling
10 - NLP
11 - Data Munging
12 - A Language Model from Scratch
13 - Convolutional Neural Networks
14 - ResNets
15 - Architecture Details
16 - The Training Process
17 - A Neural Net from the Foundations
18 - CAM, Grad-CAM, and More
19 - The fastai Learner
20 - Conclusion
Python Deep Learning, Third Edition (by Packt Publishing)
Code repository for the book "Python Deep Learning, Third Edition" with comprehensive examples.
Chapter01: Machine Learning - A Gentle Introduction
Chapter02: Neural Networks
Chapter03: Deep Learning Fundamentals
Chapter04: Computer Vision Using Convolutional Neural Networks
Chapter05: Advanced Computer Vision
Chapter06: Natural Language Processing
Chapter07: Generative Adversarial Networks (GANs)
Chapter08: Deep Reinforcement Learning
Chapter09: Autoencoders
Chapter10: The Road Ahead
🔢 Computational Linear Algebra
This course from fast.ai focuses on the practical application of linear algebra in data science.
Computational Linear Algebra for Coders (fast.ai)
Practical linear algebra course with real-world applications in data science and machine learning.
0 - Course Logistics and Introduction
1 - Why are we here?
2 - Topic Modeling with NMF and SVD
3 - Background Removal with Robust PCA
4 - Compressed Sensing with Robust Regression
5 - Predicting Health Outcomes with Linear Regressions
6 - How to Implement Linear Regression
7 - PageRank with Eigen Decompositions
8 - Implementing QR Factorization
Networking & Tech AI/ML Resources
Specialized machine learning and AI resources tailored for networking and technology professionals.
Network Traffic Analysis with ML
Jupyter notebooks focusing on network traffic classification, anomaly detection, and performance analysis.
GitHub RepositorySDN Controller ML Integration
Machine learning applications for Software-Defined Networking controllers and automated network management.
GitHub RepositoryNetwork Security ML Notebooks
Cybersecurity-focused machine learning notebooks for intrusion detection and threat analysis.
GitHub RepositoryTelecom Data Science
Telecommunications industry-specific data science and ML applications for network optimization.
GitHub RepositoryIoT Network Analytics
Machine learning notebooks for IoT device management, network analytics, and edge computing scenarios.
GitHub RepositoryCloud Infrastructure ML
Machine learning applications for cloud infrastructure monitoring, auto-scaling, and resource optimization.
GitHub Repository