A free, open-source Machine Learning & Data Science curriculum that's currently under heavy development. This is a project by intechgration.
- Basic knowledge and familiarity with computers
- Willingness to learn and dedicate as much time as possible on the course
- Ability to work and collaborate with others as you will be working with a team
- A good level of english language
- Access to the Internet
- Hardware requirements: minimum 16GB of RAM, an SSD Hard Drive and a pretty decent CPU
- Familiarity with Git, GitHub and Version Control (students can attend our Git Lessons)
-
Introduce students to Data Science and Machine Learning through real-life challenges.
-
Start by introducing the basic concepts of DS/ML, then using cloud DS/ML services such as IBM's Watson, Google's AutoML and other, that provide an easy and quick practical approach bypassing the complexity and math behind these technologies. At this point, we want the students to get hooked into DS/ML without the intimidating complexity and math behind these technologies.
-
As a next step, more concepts are introduced and a deeper understanding of the fundamental concepts follows. At this step we get to use libraries such as Keras, TensorFlow.JS and Sci-Kit Learn to dive into the next level of using DS/ML and solve more real-life challenges.
-
The third level of this course goes deeper into the math of DS/ML and touches the core of DS/ML code: we get to code a Neural Network from scratch and also use other algorithms (Decision Trees, K-Means, etc.) through the use of libraries such as TensorFlow and Sci-Kit Learn.
-
Advanced mathematics, more algorithms and extra challenges are provided as a extra-curriculum course that can be taken by graduates of this course in order to gain more experience and prepare themselves for coding interviews and challenges.
-
Languages & Frameworks/Libraries: Python, TensorFlow, Numpy, Pandas, Sci-Kit Learn, MatPlotLib
- Lesson X: Introduction to Artificial Intelligence
- Topic: What is AI? What is ML? https://www.youtube.com/watch?v=mSTCzNgDJy4 (REVIEWED)
- Topic: Let's go through some terminology
- Lesson X: Getting our feet wet (First easy practical ML examples)
- Classify images using Teachable Machine
- Translating Text using IBM Watson
- Lesson X: Introduction
- Quick Overview of Data Science/Machine Learning (15 minutes)
- Steps:
- Learn to Code in Python
- Identify Data Science Tasks
- The task affects: The data collected, the pre-processing and the workflow
- Understand Different Types of Data: Structured and Unstructured
- Analyze and Visualize Data (Matplotlib, Seaborn)
- Preprocessing & Feature Engineering
- Modelling, Algorithms, Evaluation, Fine-tuning
- Deployment and Integration
- Domain Expertise and Presentation
- Checkout the Data Science Cheatsheet
- Lesson X: Requirements (Week 1)
- Topic: Installations
- Topic: Opening accounts on Cloud ML/DS services (Free-tiers on IBM, Amazon, Google)
- Lesson X: Getting to know the NumPy Library
- Study Guide: https://towardsdatascience.com/the-ultimate-beginners-guide-to-numpy-f5a2f99aef54 (REVIEWED)
- Lesson X: The Pandas Python Library
- Study Guide: http://jalammar.github.io/gentle-visual-intro-to-data-analysis-python-pandas/ (REVIEWED)
- Lesson X: Prerequisites (Math, Probability, etc.)
- Topic: Getting familiar with Math notation
- Summation notation, etc.
- Topic: Probabilities/Statistics
- Statistical Distributions, Combinatronics, Bayesian logic, etc.
- Topic: Linear Algebra & Matrices
- Matrix Multiplication, Transpose/Inverse, Adjoining Matrices, Determinants, Diagonal Matrices, Upper/Lower Matrix
- Topic: Differential Equations (Gradient Descent)
- Topic: Introduction to Vectors
- Eddie Woo - Lectures on Vectors
- Vectors (1 of 4: Outline of vectors and their ability to represent complex number)
- Vectors (2 of 4: Representing addition & subtraction of complex numbers with vectors)
- Vectors (3 of 4: Geometrically representing multiplication of complex numbers with vectors)
- Vectors (4 of 4: Outlining the usefulness of vectors in representing geometry)
- The real world applications of the dot product (vector similarity)
- Eddie Woo - Lectures on Vectors
- Topic: Getting familiar with Math notation
- Lesson X: Machine Learning Basics
- Topic: Linear Classification
- Study Guide (TO BE REVIEWED)
- Topic: Clustering
- Study Guide (REVIEWED)
- Topic: Linear Regression
- Topic: Logistic Regression
- Topic: Bayesian Classification
- Topic: Decision Trees
- Topic: KNN
- Study Guide (REVIEWED)
- Topic: Support Vector Machines
- Topic: Linear Classification
- Lesson X: Neural Networks (Deep Learning)
- Study Guide: https://jalammar.github.io/visual-interactive-guide-basics-neural-networks/ (REVIEWED)
- Lesson X: TensorFlow
- Topic: What is TensorFlow?
- Topic: What is a Tensor?
- What's a Tensor? (Duration: 12-minutes)
- Concepts:
- Vectors
- Basis Vectors & Component Vectors
- Scalars
- Tensors
- Tensor Ranks
- Coordinate Systems, x, y, x and y hat
- Concepts:
- What's a Tensor? (Duration: 12-minutes)
- Lesson X: Introducing Keras
- Introduction to Keras for Researchers
- Basic Project: Image Classification with Keras (code)
- Intermediate Project: Bidirectional LSTM on IMDB
- Advanced Project: Text Extraction with BERT
Here are some resources that are going to be reviewed and integrated into the curriculum:
curriculum/glossaries/ml-glossary
: Machine Learning glossary from https://github.com/bfortuner/ml-glossary.curriculum/TO_BE_REVIEWED/README.md
: Contains links and resources to be reviewed and integrated into the curriculum.- Dictionary of Terms/Terminology
Tools:
- [**AutoGrader**: Automatic assignment grading for instructor use in programming courses](https://github.com/Ovsyanka83/autograder)
Tools (Educational):
- Embedding Projector
- SHAP (A game theoretic approach to explain the output of any machine learning model)
- What-If Tool
- Fernanda Viegas
Podcasts: