A comprehensive repository containing 30+ notebooks on learning machine learning!

Overview

A Complete Machine Learning Package


Techniques, tools, best practices and everything you need to to learn machine learning!

toolss

This is a comprehensive repository containing 30+ notebooks on Python programming, data manipulation, data analysis, data visualization, data cleaning, classical machine learning, Computer Vision and Natural Language Processing(NLP).

All notebooks were created with the readers in mind. Every notebook starts with a high-level overview of any specific algorithm/concepts being covered. Wherever possible, visuals are used to make things clear.

Viewing and Running the Notebooks

The easiest way to view all the notebooks is to use Nbviewer.

  • Render nbviewer

If you want to play with the codes, you can use the following platforms:

  • Open In Colab

  • Launch in Deepnote

Deepnote will direct you to Intro to Machine Learning. Heads to the project side bar for more notebooks.

Tools Overview

The following are the tools that are covered in the notebooks. They are popular tools that machine learning engineers and data scientists need in one way or another and day to day.

  • Python is a high level programming language that has got a lot of popularity in the data community and with the rapid growth of the libraries and frameworks, this is a right programming language to do ML.

  • NumPy is a scientific computing tool used for array or matrix operations.

  • Pandas is a great and simple tool for analyzing and manipulating data from a variety of different sources.

  • Matplotlib is a comprehensive data visualization tool used to create static, animated, and interactive visualizations in Python.

  • Seaborn is another data visualization tool built on top of Matplotlib which is pretty simple to use.

  • Scikit-Learn: Instead of building machine learning models from scratch, Scikit-Learn makes it easy to use classical models in a few lines of code. This tool is adapted by almost the whole of the ML community and industries, from the startups to the big techs.

  • TensorFlow and Keras for neural networks: TensorFlow is a popular deep learning framework used for building models suitable for different fields such as Computer Vision and Natural Language Processing. At its backend, it uses Keras which is a high level API for building neural networks easily. TensorFlow has gained a lot of popularity in the ML community due to its complete ecosystem made of wholesome tools including TensorBoard, TF Datasets, TensorFlow Lite, TensorFlow Extended, TensorFlow.js, etc...

Outline

Part 1 - Intro to Python and Working with Data

0 - Intro to Python for Machine Learning

1 - Data Computation With NumPy

  • Creating a NumPy Array
  • Selecting Data: Indexing and Slicing An Array
  • Performing Mathematical and other Basic Operations
  • Perform Basic Statistics
  • Manipulating Data

2 - Data Manipulation with Pandas

  • Basics of Pandas
    • Series and DataFrames
    • Data Indexing and Selection
    • Dealing with Missing data
    • Basic operations and Functions
    • Aggregation Methods
    • Groupby
    • Merging, Joining and Concatenate
  • Beyond Dataframes: Working with CSV, and Excel
  • Real World Exploratory Data Analysis (EDA)

3 - Data Visualization with Matplotlib and Seaborn

4 - Real World Data - Exploratory Analysis and Data Preparation

Part 2 - Machine Learning

5 - Intro to Machine Learning

  • Intro to Machine Learning
  • Machine Learning Workflow
  • Evaluation Metrics
  • Handling Underfitting and Overfitting

6 - Classical Machine Learning with Scikit-Learn

Part 3 - Deep Learning

7 - Intro to Artificial Neural Networks and TensorFlow

8 - Deep Computer Vision with TensorFlow

9 - Natural Language Processing with TensorFlow

Used Datasets

Many of the datasets used for this repository are from the following sources:

Further Resources

Machine Learning community is very vibrant. There are many faboulous learning resources, some of which are paid or free available. Here is a list of courses that has got high community ratings. They are not listed in an order they are to be taken.

Courses

  • Machine Learning by Coursera: This course was tought by Andrew Ng. It is one of the most popular machine learning courses, it has been taken by over 4M of people. The course focuses more about the fundamentals of machine learning techniques and algorithms. It is free on Coursera.

  • Deep Learning Specialization: Also tought by Andrew Ng., Deep Learning Specialization is also a foundations based course. It teaches a decent foundations of major deep learning architectures such as convolutional neural networks and recurrent neural networks. The full course can be audited on Coursera, or watch freely on Youtube.

  • MIT Intro to Deep Learning: This course provide the foundations of deep learning in resonably short period of time. Each lecture is one hour or less, but the materials are still the best in classs. Check the course page here, and lecture videos here.

  • CS231N: Convolutional Neural Networks for Visual Recognition by Stanford: CS231N is one of the best deep learning and computer vision courses. The 2017 version was taught by Fei-Fei Li, Justin Johnson and Serena Yeung. The 2016 version was taught by Fei-Fei, Johnson and Andrej Karpathy. See 2017 lecture videos here, and other materials here.

  • Practical Deep Learning for Coders by fast.ai: This is also an intensive deep learning course pretty much the whole spectrum of deep learning architectures and techniques. The lecture videos and other resources such as notebooks on the course page.

  • Full Stack Deep Learning: While the majority of machine learning courses focuses on modelling, this course focuses on shipping machine learning systems. It teaches how to design machine learning projects, data management(storage, access, processing, versioning, and labeling), training, debugging, and deploying machine learning models. See 2021 version here and 2019 here. You can also skim through the project showcases to see the kind of the courses outcomes through learners projects.

  • NYU Deep Learning Spring 2021: Taught at NYU by Yann LeCun, Alfredo Canziani, this course is one of the most creative courses out there. The materials are presented in amazing way. Check the lecture videos here, and the course repo here.

  • CS224N: Natural Language Processing with Deep Learning by Stanford: If you are interested in Natural Language Processing, this is a great course to take. It is taught by Christopher Manning, one of the world class NLP stars. See the lecture videos here.

Books

Below is of the most awesome machine learning books.

  • The Hundred-Page Machine Learning Book: Authored by Andriy Burkov, this is one of the shortest but concise and well written book that you will ever find on the internet. You can read the book for free here.

  • Machine Learning Engineering: Also authored by Andriy Burkov, this is another great machine learning book that uncover each step of machine learning workflow, from data collection, preparation....to model serving and maintenance. The book is also free here.

  • Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Authored by Aurelion Geron, this is one of the best machine learning books. It is clearly written and full of ideas and best practices. You can ge the book here, or see its repository here.

  • Deep Learning: Authored by 3 deep learning legends, Ian Goodfellow and Yoshua Bengio and Aaron Courville, this is one of the great deep learning books that is freely available. You can get it here.

  • Deep Learning with Python: Authored by Francois Chollet, The Keras designer, this is a very comprehensive deep learning book. You can get the book here, and the book repo here.

  • Dive into Deep Learning: This is also a great deep learning book that is freely available. The book uses both PyTorch and TensorFlow. You can read the entire book here.

  • Neural Networks and Deep Learning: This is also another great deep learning online book by Michael Nielsen. You can read the entire book here.

If you are interested in more machine learning and deep learning resources, check this, this


This repository was created by Jean de Dieu Nyandwi. You can find him on:

If you find any of this thing helpful, shoot him a tweet or a mention :)

Owner
Jean de Dieu Nyandwi
Building machine learning systems!
Jean de Dieu Nyandwi
Tutorials, examples, collections, and everything else that falls into the categories: pattern classification, machine learning, and data mining

**Tutorials, examples, collections, and everything else that falls into the categories: pattern classification, machine learning, and data mining.** S

Sebastian Raschka 4k Dec 30, 2022
CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL)

CyLP CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that you can use i

COIN-OR Foundation 161 Dec 14, 2022
Module for statistical learning, with a particular emphasis on time-dependent modelling

Operating system Build Status Linux/Mac Windows tick tick is a Python 3 module for statistical learning, with a particular emphasis on time-dependent

X - Data Science Initiative 410 Dec 14, 2022
Banpei is a Python package of the anomaly detection.

Banpei Banpei is a Python package of the anomaly detection. Anomaly detection is a technique used to identify unusual patterns that do not conform to

Hirofumi Tsuruta 282 Jan 03, 2023
Empyrial is a Python-based open-source quantitative investment library dedicated to financial institutions and retail investors

By Investors, For Investors. Want to read this in Chinese? Click here Empyrial is a Python-based open-source quantitative investment library dedicated

Santosh 640 Dec 31, 2022
Decision Tree Regression algorithm implemented on Python from scratch.

Decision_Tree_Regression I implemented the decision tree regression algorithm on Python. Unlike regular linear regression, this algorithm is used when

1 Dec 22, 2021
Skforecast is a python library that eases using scikit-learn regressors as multi-step forecasters

Skforecast is a python library that eases using scikit-learn regressors as multi-step forecasters. It also works with any regressor compatible with the scikit-learn API (pipelines, CatBoost, LightGBM

Joaquín Amat Rodrigo 297 Jan 09, 2023
mlpack: a scalable C++ machine learning library --

a fast, flexible machine learning library Home | Documentation | Doxygen | Community | Help | IRC Chat Download: current stable version (3.4.2) mlpack

mlpack 4.2k Jan 01, 2023
A Python toolkit for rule-based/unsupervised anomaly detection in time series

Anomaly Detection Toolkit (ADTK) Anomaly Detection Toolkit (ADTK) is a Python package for unsupervised / rule-based time series anomaly detection. As

Arundo Analytics 888 Dec 30, 2022
Distributed Evolutionary Algorithms in Python

DEAP DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas. It seeks to make algorithms explicit and data stru

Distributed Evolutionary Algorithms in Python 4.9k Jan 05, 2023
A pure-python implementation of the UpSet suite of visualisation methods by Lex, Gehlenborg et al.

pyUpSet A pure-python implementation of the UpSet suite of visualisation methods by Lex, Gehlenborg et al. Contents Purpose How to install How it work

288 Jan 04, 2023
An open-source library of algorithms to analyse time series in GPU and CPU.

An open-source library of algorithms to analyse time series in GPU and CPU.

Shapelets 216 Dec 30, 2022
Scikit learn library models to account for data and concept drift.

liquid_scikit_learn Scikit learn library models to account for data and concept drift. This python library focuses on solving data drift and concept d

7 Nov 18, 2021
决策树分类与回归模型的实现和可视化

DecisionTree 决策树分类与回归模型,以及可视化 DecisionTree ID3 C4.5 CART 分类 回归 决策树绘制 分类树 回归树 调参 剪枝 ID3 ID3决策树是最朴素的决策树分类器: 无剪枝 只支持离散属性 采用信息增益准则 在data.py中,我们记录了一个小的西瓜数据

Welt Xing 10 Oct 22, 2022
MCML is a toolkit for semi-supervised dimensionality reduction and quantitative analysis of Multi-Class, Multi-Label data

MCML is a toolkit for semi-supervised dimensionality reduction and quantitative analysis of Multi-Class, Multi-Label data. We demonstrate its use

Pachter Lab 26 Nov 29, 2022
Book Recommender System Using Sci-kit learn N-neighbours

Model-Based-Recommender-Engine I created a book Recommender System using Sci-kit learn's N-neighbours algorithm for my model and the streamlit library

1 Jan 13, 2022
A high-performance topological machine learning toolbox in Python

giotto-tda is a high-performance topological machine learning toolbox in Python built on top of scikit-learn and is distributed under the G

giotto.ai 632 Dec 29, 2022
This is a Cricket Score Predictor that predicts the first innings score of a T20 Cricket match using Machine Learning

This is a Cricket Score Predictor that predicts the first innings score of a T20 Cricket match using Machine Learning. It is a Web Application.

Developer Junaid 3 Aug 04, 2022
A Multipurpose Library for Synthetic Time Series Generation in Python

TimeSynth Multipurpose Library for Synthetic Time Series Please cite as: J. R. Maat, A. Malali, and P. Protopapas, “TimeSynth: A Multipurpose Library

278 Dec 26, 2022
Highly interpretable classifiers for scikit learn, producing easily understood decision rules instead of black box models

Highly interpretable, sklearn-compatible classifier based on decision rules This is a scikit-learn compatible wrapper for the Bayesian Rule List class

Tamas Madl 482 Nov 19, 2022