# 100-Days-Of-ML-Code **Repository Path**: opensource-sumup/100-Days-Of-ML-Code ## Basic Information - **Project Name**: 100-Days-Of-ML-Code - **Description**: 100 Days of ML Coding - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 100-Days-Of-ML-Code 100 Days of Machine Learning Coding as proposed by [Siraj Raval](https://github.com/llSourcell) Get the datasets from [here](https://github.com/Avik-Jain/100-Days-Of-ML-Code/tree/master/datasets) ## Data PreProcessing | Day 1 Check out the code from [here](https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day%201_Data%20PreProcessing.md).

## Simple Linear Regression | Day 2 Check out the code from [here](https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day2_Simple_Linear_Regression.md).

## Multiple Linear Regression | Day 3 Check out the code from [here](https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day3_Multiple_Linear_Regression.md).

## Logistic Regression | Day 4

## Logistic Regression | Day 5 Moving forward into #100DaysOfMLCode today I dived into the deeper depth of what actually Logistic Regression is and what is the math involved behind it. Learned how cost function is calculated and then how to apply gradient descent algorithm to cost function to minimize the error in prediction. Due to less time I will now be posting a infographic on alternate days. Also if someone wants to help me out in documentaion of code and has already some experince in the field and knows Markdown for github please contact me on LinkedIn :) . ## Implementing Logistic Regression | Day 6 Check out the Code [here](https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day%206%20Logistic%20Regression.md) ## K Nearest Neighbours | Day 7

## Math Behind Logistic Regression | Day 8 #100DaysOfMLCode To clear my insights on logistic regression I was searching on the internet for some resource or article and I came across this article (https://towardsdatascience.com/logistic-regression-detailed-overview-46c4da4303bc) by Saishruthi Swaminathan. It gives a detailed description of Logistic Regression. Do check it out. ## Support Vector Machines | Day 9 Got an intution on what SVM is and how it is used to solve Classification problem. ## SVM and KNN | Day 10 Learned more about how SVM works and implementing the knn algorithm. ## Implementation of K-NN | Day 11 Implemented the K-NN algorithm for classification. #100DaysOfMLCode Support Vector Machine Infographic is halfway complete will update it tomorrow. ## Support Vector Machines | Day 12

## Naive Bayes Classifier | Day 13 Continuing with #100DaysOfMLCode today I went through the Naive Bayes classifier. I am also implementing the SVM in python using scikit-learn. Will update the code soon. ## Implementation of SVM | Day 14 Today I implemented SVM on linearly related data. Used Scikit-Learn library. In scikit-learn we have SVC classifier which we use to achieve this task. Will be using kernel-trick on next implementation. Check the code [here](https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day%2013%20SVM.md). ## Naive Bayes Classifier and Black Box Machine Learning | Day 15 Learned about diffrent types of naive bayes classifer also started the lectures by [Bloomberg](https://bloomberg.github.io/foml/#home). first one in the playlist was Black Box Machine Learning. It gave the whole over view about prediction functions, feature extraction, learning algorithms, performance evaluation, cross-validation, sample bias, nonstationarity, overfitting, and hyperparameter tuning. ## Implemented SVM using Kernel Trick | Day 16 Using Scikit-Learn library implemented SVM algorithm along with kernel function which maps our data points into higher dimension to find optimal hyperplane. ## Started Deep learning Specialization on Coursera | Day 17 Completed the whole Week 1 and Week 2 on a single day. Learned Logistic regression as Neural Network. ## Deep learning Specialization on Coursera | Day 18 Completed the Course 1 of the deep learning specialization. Implemented a neural net in python. ## The Learning Problem , Professor Yaser Abu-Mostafa | Day 19 Started Lecture 1 of 18 of Caltech's Machine Learning Course - CS 156 by Professor Yaser Abu-Mostafa. It was basically an intoduction to the upcoming lectures. He also explained Perceptron Algorithm. ## Started Deep learning Specialization Course 2 | Day 20 Completed the Week 1 of Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization. ## Web Scraping | Day 21 Watched some tutorials on how to do web scaping using Beautiful Soup in order to collect data for building a model. ## Is Learning Feasible? | Day 22 Lecture 2 of 18 of Caltech's Machine Learning Course - CS 156 by Professor Yaser Abu-Mostafa. Learned about Hoeffding Inequality. ## Decision Trees | Day 23

## Introduction To Statistical Learning Theory | Day 24 Lec 3 of Bloomberg ML course introduced some of the core concepts like input space, action space, outcome space, prediction functions, loss functions, and hypothesis spaces. ## Implementing Decision Trees | Day 25 Check the code [here.](https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day%2025%20Decision%20Tree.md) ## Jumped To Brush up Linear Algebra | Day 26 Found an amazing [channel](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw) on youtube 3Blue1Brown. It has a playlist called Essence of Linear Algebra. Started off by completing 4 videos which gave a complete overview of Vectors, Linear Combinations, Spans, Basis Vectors, Linear Transformations and Matrix Multiplication. Link to the Playlist [here.](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) ## Jumped To Brush up Linear Algebra | Day 27 Continuing with the playlist completed Next 4 Videos discussing topics 3D Transformations, Determinants, Inverse Matrix, Column Space, Null Space and Non-Square Matrices. Link to the Playlist [here.](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) ## Jumped To Brush up Linear Algebra | Day 28 In the playlist of 3Blue1Brown completed another 3 Videos from the essence of linear algebra. Topics covered were Dot Product and Cross Product. Link to the Playlist [here.](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) ## Jumped To Brush up Linear Algebra | Day 29 Completed the whole Playlist today, Videos from 12 - 14. Really an amazing playlist to refresh the concepts of Linear Algebra. Topics covered were the change of basis, Eigenvectors and Eigenvalues, and Abstract Vector Spaces. Link to the Playlist [here.](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) ## Essence of calculus | Day 30 Completing the playlist - Essence of Linear Algebra by 3blue1brown a suggestion popped up by youtube regarding a series of videos again by the same channel 3Blue1Brown. Being already Impressed by the previous series on Linear algebra I dived straight into it. Completed about 5 videos on topics such as Derivatives, Chain Rule, Product Rule, and derivative of exponential. Link to the Playlist [here.](https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr) ## Essence of calculus | Day 31 Watched 2 Videos on topic Implicit Diffrentiation and Limits from the playlist Essence of Calculus. Link to the Playlist [here.](https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr) ## Essence of calculus | Day 32 Watched the remaining 4 videos covering topics Like Integration and Higher order derivatives. Link to the Playlist [here.](https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr) ## Random Forests | Day 33

## Implementing Random Forests | Day 34 Check the code [here.](https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/Code/Day%2034%20Random_Forest.md) ## But what *is* a Neural Network? | Deep learning, chapter 1 | Day 35 An Amazing Video on neural networks by 3Blue1Brown youtube Channel. This video give a good understanding of Neural Networks and uses Handwritten digit dataset for expaling the concept. Link To the [video.](https://www.youtube.com/watch?v=aircAruvnKk&t=7s) ## Gradient descent, how neural networks learn | Deep learning, chapter 2 | Day 36 Part two of neural networks by 3Blue1Brown youtube Channel, this video explains the concepts of Gradient Descent in an interesting way. 169 Must watch and Highly Recommended. Link To the [video.](https://www.youtube.com/watch?v=IHZwWFHWa-w) ## What is backpropagation really doing? | Deep learning, chapter 3 | Day 37 Part three of neural networks by 3Blue1Brown youtube Channel, In this video the talk is mostly about the partial derivatives and backpropagation. Link To the [video.](https://www.youtube.com/watch?v=Ilg3gGewQ5U) ## Backpropagation calculus | Deep learning, chapter 4 | Day 38 Part four of neural networks by 3Blue1Brown youtube Channel, The goal here is to represent in somewhat more formal terms the intuition for how backpropagation works and the talk is mostly about the partial derivatives and backpropagation. Link To the [video.](https://www.youtube.com/watch?v=tIeHLnjs5U8) ## Deep Learning with Python, TensorFlow, and Keras tutorial | Day 39 Link To the [video.](https://www.youtube.com/watch?v=wQ8BIBpya2k&t=19s&index=2&list=PLQVvvaa0QuDfhTox0AjmQ6tvTgMBZBEXN) ## Loading in your own data - Deep Learning basics with Python, TensorFlow and Keras p.2 | Day 40 Link To the [video.](https://www.youtube.com/watch?v=j-3vuBynnOE&list=PLQVvvaa0QuDfhTox0AjmQ6tvTgMBZBEXN&index=2) ## Convolutional Neural Networks - Deep Learning basics with Python, TensorFlow and Keras p.3 | Day 41 Link To the [video.](https://www.youtube.com/watch?v=WvoLTXIjBYU&list=PLQVvvaa0QuDfhTox0AjmQ6tvTgMBZBEXN&index=3) ## Analyzing Models with TensorBoard - Deep Learning with Python, TensorFlow and Keras p.4 | Day 42 Link To the [video.](https://www.youtube.com/watch?v=BqgTU7_cBnk&list=PLQVvvaa0QuDfhTox0AjmQ6tvTgMBZBEXN&index=4) ## K Means Clustering | Day 43 Moved to Unsupervised Learning and studied about Clustering. Working on my website check it out [avikjain.me](http://www.avikjain.me/) Also Found A wonderful animation that can help to easily understand K - Means Clustering [Link](http://shabal.in/visuals/kmeans/6.html)

## K Means Clustering Implementation | Day 44 Implemented K Means Clustering. Check the code [here.]() ## Digging Deeper | NUMPY | Day 45 Got a new book "Python Data Science HandBook" by JK VanderPlas Check the Jupyter notebooks [here.](https://github.com/jakevdp/PythonDataScienceHandbook)
Started with chapter 2 : Introduction to Numpy. Covered topics like Data Types, Numpy arrays and Computations on Numpy arrays.
Check the code -
[Introduction to NumPy](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.00-Introduction-to-NumPy.ipynb)
[Understanding Data Types in Python](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.01-Understanding-Data-Types.ipynb)
[The Basics of NumPy Arrays](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.02-The-Basics-Of-NumPy-Arrays.ipynb)
[Computation on NumPy Arrays: Universal Functions](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.03-Computation-on-arrays-ufuncs.ipynb) ## Digging Deeper | NUMPY | Day 46 Chapter 2 : Aggregations, Comparisions and Broadcasting
Link to Notebook:
[Aggregations: Min, Max, and Everything In Between](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.04-Computation-on-arrays-aggregates.ipynb)
[Computation on Arrays: Broadcasting](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.05-Computation-on-arrays-broadcasting.ipynb)
[Comparisons, Masks, and Boolean Logic](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.06-Boolean-Arrays-and-Masks.ipynb) ## Digging Deeper | NUMPY | Day 47 Chapter 2 : Fancy Indexing, sorting arrays, Struchered Data
Link to Notebook:
[Fancy Indexing](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.07-Fancy-Indexing.ipynb)
[Sorting Arrays](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.08-Sorting.ipynb)
[Structured Data: NumPy's Structured Arrays](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.09-
Structured-Data-NumPy.ipynb) ## Digging Deeper | PANDAS | Day 48 Chapter 3 : Data Manipulation with Pandas
Covered Various topics like Pandas Objects, Data Indexing and Selection, Operating on Data, Handling Missing Data, Hierarchical Indexing, ConCat and Append.
Link To the Notebooks:
[Data Manipulation with Pandas](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.00-Introduction-to-Pandas.ipynb)
[Introducing Pandas Objects](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.01-Introducing-Pandas-Objects.ipynb)
[Data Indexing and Selection](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.02-Data-Indexing-and-Selection.ipynb)
[Operating on Data in Pandas](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.03-Operations-in-Pandas.ipynb)
[Handling Missing Data](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.04-Missing-Values.ipynb)
[Hierarchical Indexing](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.05-Hierarchical-Indexing.ipynb)
[Combining Datasets: Concat and Append](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.06-Concat-And-Append.ipynb) ## Digging Deeper | PANDAS | Day 49 Chapter 3: Completed following topics- Merge and Join, Aggregation and grouping and Pivot Tables.
[Combining Datasets: Merge and Join](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.07-Merge-and-Join.ipynb)
[Aggregation and Grouping](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.08-Aggregation-and-Grouping.ipynb)
[Pivot Tables](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.09-Pivot-Tables.ipynb) ## Digging Deeper | PANDAS | Day 50 Chapter 3: Vectorized Strings Operations, Working with Time Series
Links to Notebooks:
[Vectorized String Operations](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.10-Working-With-Strings.ipynb)
[Working with Time Series](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.11-Working-with-Time-Series.ipynb)
[High-Performance Pandas: eval() and query()](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/03.12-Performance-Eval-and-Query.ipynb) ## Digging Deeper | MATPLOTLIB | Day 51 Chapter 4: Visualization with Matplotlib Learned about Simple Line Plots, Simple Scatter Plotsand Density and Contour Plots.
Links to Notebooks:
[Visualization with Matplotlib](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.00-Introduction-To-Matplotlib.ipynb)
[Simple Line Plots](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.01-Simple-Line-Plots.ipynb)
[Simple Scatter Plots](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.02-Simple-Scatter-Plots.ipynb)
[Visualizing Errors](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.03-Errorbars.ipynb)
[Density and Contour Plots](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.04-Density-and-Contour-Plots.ipynb) ## Digging Deeper | MATPLOTLIB | Day 52 Chapter 4: Visualization with Matplotlib Learned about Histograms, How to customize plot legends, colorbars, and buliding Multiple Subplots.
Links to Notebooks:
[Histograms, Binnings, and Density](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.05-Histograms-and-Binnings.ipynb)
[Customizing Plot Legends](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.06-Customizing-Legends.ipynb)
[Customizing Colorbars](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.07-Customizing-Colorbars.ipynb)
[Multiple Subplots](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.08-Multiple-Subplots.ipynb)
[Text and Annotation](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.09-Text-and-Annotation.ipynb) ## Digging Deeper | MATPLOTLIB | Day 53 Chapter 4: Covered Three Dimensional Plotting in Mathplotlib.
Links to Notebooks:
[Three-Dimensional Plotting in Matplotlib](https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.12-Three-Dimensional-Plotting.ipynb) ## Hierarchical Clustering | Day 54 Studied about Hierarchical Clustering. Check out this amazing [Visualization.](https://cdn-images-1.medium.com/max/800/1*ET8kCcPpr893vNZFs8j4xg.gif)