## What you’ll learn

- Achieve the mastery in machine learning from simple linear regression to advanced reinforcement learning projects.
- Get a deeper intuition about different Machine Learning nomenclatures.
- Be able to manipulate different algorithms with the power of Mathematics.
- Write different kinds of algorithms from scratch with Python.
- Be able to preprocess any kind of Datasets.
- Solve and Deal with different real-life and businesses problems from the outside world.
- Deal with different machine learning and data science libraries like: Sikit-Learn, Pandas , NumPy & Matplotlib.
- Explore the Data science world by handling, prepossessing and visualizing any kind of data set .
- Make designs with advanced ML algorithms like the Reinforcement Leaning and handle different projects with the Gym library .

**Introduction**

Course Introduction

Course Guide

Machine Learning Analogy

Supervised Learning

Unsupervised, Semi-Supervised and Reinforcement Learning

**……………… Supervised Learning ………………**

Fasten your Belt and Enjoy the Ride!

**—————– Regression —————–**

Welcome to the Regression World!

**Simple Linear Regression**

The Essence of Simple Linear Regression (Housing Data Analysis)

Mathematics 1: The Hypothesis Function

Mathematics 2: The Cost Function

Mathematics 3: The Essence of The Gradient Descent

Mathematics 4: How GD Works?

Start where you’re. Use what you’ve. Do what you can!

Query 1: What about the Initialization?

Query 2: How to Adjust the Speed of Algorithm?

Query 3: What if it Was a Non-Convex Function?

Polymerization Between Gradient and Hypothesis

Don’t watch the clock. Do what it does. Keep going!

Let’s Start Coding!

Hello Anaconda!

Hello Jupyter Notebook!

Python 1: Required Libraries and Importing Data

What is The Unicode?

Python 2: Handling Data ( iloc Function )

Python 3: Handling Data ( Splitting Data into Train and Test Sets )

Python 4: Defining Main Function

Python 5: Defining The Gradient Descent Algorithm

Python 6: Debugging

Python 7: Scaling Data

Python 8: Defining Cost Function

Mathematics 5: SGD (Stochastic Gradient Descent)

Python 9: Stochastic Gradient Descent

**Multiple Linear Regression**

Welcome to Multiple Linear Regression

Basic Statistics and P-Value

R-Squared

The Essence of Multiple Linear Regression

Easy? No. Worth it? Absolutely.

Interpreting Coefficients in MLR

Preparation Steps 1: MLR Analysis (Business Problem Analysis)

Preparation Steps 2: Checking Linearity

Preparation Steps 3: Correlation Analysis

Success requires Effort.

Preparation Steps 4: Single Variable Regressions

Preparation Steps 5: Multiple Variable Regression

Choosing Best MLR Model

The Essence of Dummy Variables

Don’t stop when you’re tired. Stop when you’re done!

Applying Multiple Linear Regression Using Excel

Python 1: MLR (Stock Price Prediction)

Python 2: MLR (Stock Price Prediction)

Python 3: MLR Assignment (Human Life Expectancy)

Python 4: MLR Assignment (Human Life Expectancy)

Life Expectancy Assignment (Kaggle Problem)

**Ridge & Lasso Regression**

Python 1: Ridge Regression (Business Problem)

L1 & L2 Regularization Techniques

Python 2: Ridge Regression (Business Problem)

Python 3: Ridge Regression (Business Problem)

Python 4: Lasso Regression (Business Problem)

**Polynomial Regression**

The Essence of Residual Plots

Polynomial Regression VS Quadratic Regression

The Essence of Over-fitting

Python: Polynomial Regression

**Decision Trees & Random Forests Regression**

The Essence of Decision Trees Regressor

Python 1: Regression Trees (Petrol Consumption Prediction)

Python 2: Regression Trees (Business Problem)

The Essence of Random Forests Regression

**—————– CLASSIFICATION —————–**

Welcome to the Classification World!

**Logistic Regression Classifier**

The Essence of Logistic Regression Classifier

Mathematics 1: Logistic Regression ( The Hypothesis Function )

Mathematics 2: Logistic Regression ( Examples On The Hypothesis Function )

Mathematics 3: Logistic Regression ( The Cost Function )

Mathematics 4: Logistic Regression ( Estimating the parameters Thetas )

Python 1: Logistic Regression ( SKlearn generated Data_1 )

Python 2: Logistic Regression ( SKlearn generated Data_2 )

Python 3: Logistic Regression ( Spam Filter Problem Simulation )

Python 4: Logistic Regression (Buying Houses Business Problem )

Multi-Class Logistic Regression ( One Vs All Algorithm ) !

Logistic Regression Optimization ( Overfitting Problem )

Python 5: Multi-Class Logistic Regression ( Hotels Evaluation Business Problem )

**Decision Tree VS Random Forest Classifiers**

The Essence of Decision Trees classifier

Decision Trees Optimization (Overfitting Problem)

Mathematics: Decision Trees (The Entropy Algorithm)

Installing GV

Python 1: Decision Trees (Website Campaign Business Problem)

Python/GV 2: Optimizing DT Algorithm Results (Website Campaign Business Problem)

The Essence of Random Forest Classifier

Python 3: Random Forest (Website Campaign Business Problem)

**Naive Bayes Classifier**

Mathematics 1: Probability Basics

Mathematics 2: Bayes’ Theorem

The Essence of Naive Bayes Classifier

Solving an Example Manually (Gaussian Naive Bayes)

Manually Solved 1: Email Classification Example (Multinomial Naive Bayes)

Manually Solved 2: Email Classification Example (Multinomial Naive Bayes)

Python 1: Gaussian Naive Bayes (Hiring New Applicants Business Problem)

Multinomial Naive Bayes (Email Classification Problem)

Python 2: Multinomial Naive Bayes (Email Classification Problem)

**Support Vector Machine Classifier**

The Essence of Support Vector Machines

Mathematics 1: Support Vector Machines (The Hypothesis Function)

Mathematics 2: Support Vector Machines (Cost Function Regularization)

Python 1: Support Vector Machines (Bank Credit Cards Business Problem)

Python 2: Support Vector Machines (SKlearn Generated Data)

The Essence of Handwritten Digits Recognition

Python 3: Support Vector Machines (Handwritten Digits Recognition)

**Kernel Support Vector Machine**

Why Kernel SVM?

The Essence of Kernel SVM (Kernel Trick | The similarity Function)

Mathematics 1: Kernel SVM (Example On The Kernel Trick)

Mathematics 2: Kernel SVM (Different Types of Kernel Functions)

Python 1: Gaussian Kernel SVM (Solving Bank Credit Cards Business Problem)

Python 2: Gaussian Kernel SVM (Optimizing The Model Results)

Python 3: Kernel SVM (SKlearn Breast Cancer Dataset)

Python 4: Kernel SVM (Gaussian – Sigmoid – Polynomial) Kernels

**K-Nearest Neighbor Classifier**

The Essence of K-Nearest Neighbor

Mathematics: K-Nearest Neighbor (Solving An Example Manually)

Python 1: K-nearest Neighbor (Buying Houses Business Problem)

Python 2: K-nearest Neighbor (SKLearn Iris Data set)

**Evaluation of Classification Models**

Confusion Matrix

Evaluation Parameters

**……………… Unsupervised Learning ………………**

Keep Calm and Enjoy Unsupervised Learning.

**—————– Clustering —————–**

Welcome to the Clustering World!

The Essence of Clustering Techniques (Digital Marketing and Finances)

Categories of Clustering

I want to see what happens if I don’t give up.

Mathematics 1: Hierarchical Clustering

Mathematics 2: Single Linkage

Mathematics 3: Average and Centroid Linkage

It always seems impossible until it’s done.

Python 1: Agglomerative Hierarchical Clustering

Python 2: Agglomerative Hierarchical Clustering

Python 3: Agglomerative Hierarchical Clustering

The Essence of K-Means Clustering

Mathematics 4: The Elbow Method

Mathematics 5: K-Means++

Python 4: K-Means Clustering

**—————– Dimensionality Reduction —————–**

Welcome to the Dimensionality Reduction World!

The Curse of Dimensionality

The Essence of Dimensionality Reduction

Mathematics 1: Dimensionality Reduction

Mathematics 2: Principal Component Analysis

Mathematics 3: Principal Component Analysis

The Essence of Eigenvectors and Eigenvalues

Mathematics 4: How to Find Eigenvectors and Eigenvalues?

Mathematics 3: Applying PCA on an Example

Python: Applying PCA (Breast Cancer Dataset)

**—————– Data Analysis —————–**

Welcome to the World of Data Analysis!

**Pandas (Python Library for Handling Data)**

Creating Series Object

Information about series

Peeking at data

Accessors(loc_iloc_ix)

Arithmetic Operations

Reindexing Series

Slicing Series

Creating DataFrame

Operations on the DataFrame Columns

Selecting rows of DataFrame

Modifying DataFrame

Modifying DataFrame ll

Arithmtic Operations

Hierarchical index and reindexing

Importing Data

Tidying Up Data

Dealing with missing data

Dealing with missing data ll

Dealing with missing data lll

Duplicated data

How to tidy data up

Concatenation

Merging Data

Merging Data ll

Intro to SAC

Grouping Data

Grouping Data ll

Applying

Applying 2

Applying3

Intro to time series object

times series object 1

times series object 2

times series object 3

times series object 4

**Matplotlib (Python Library for Visualizing Data)**

Introduction to Matplotlib

Matplotlib_1

Matplotlib_2