Skip to content

Surya-Prakash-Reddy/100DaysOfMLCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 

Repository files navigation

100 Days of ML Code


Day 0: 14th August 2018

Todays Progress:

Basic Setup of environment and enrollment in Udacity's Machine Learning intro course and completed Introduction videos.

Thoughts:

The course is amazing and excited about 100 days of ML Code.

Link of Work:

Just enrolled in this course: https://in.udacity.com/course/intro-to-machine-learning--ud120-india


Day 1: 15th August 2018

Todays Progress:

Learnt how exactly gradient descent works with mathematical derivations and also learnt Naive bayes for classification and implemented using sklearn

Thoughts:

Gone crazy in mathematical proofs for gradient descent but very important to understand why we are doing everything and next sklearn is very easy to use.


Day 2: 16th August 2018

Todays Progress:

Learnt and solved problems on Bayes rule and learnt it's applications. Started developing the mini project on naive bayes.

Thoughts:

Once J.K.Rowling published a book name under false author name but the computers were able to identify that it was her and it's exciting to know that it can be done using naive bayes.


Day 3: 17th August 2018

Todays Progress:

Learnt about McCulloh pits neuron, their advantages and disadvantages and moved on to perceptron and also learnt perceptron algorithm

Thoughts:

Thought that I could the complete project started on day:2 but I couldn't as the dataset was huge, so learnt moved onto deep learning and learnt the perceptron stuff.


Day 4: 18th August 2018

Todays Progress:

Set up the python 2.7 environment ans finally completed the mini project on naive bayes and acheived an accuracy of 97.32%

Thoughts:

The dataset was huge and it took much time to download and extract but it is good to do some mini projects as they clear the concepts.


Day 5: 19th August 2018

Todays Progress:

Learnt about linearly saperable boolean functions, Sigmoid neuron, the typical machine learning setup.

Thoughts:

Understood the need for using sigmoid neuron, and the basic machine learning things needed to solve any problem.


Day 6: 20th August 2018

Todays Progress:

Learnt about feed forward forward neural networks and how to learn the parameters the feed forward neural networks.

Thoughts:

It's interesting to learn how to apply gradient descent for multilayer neural networks and the proofs.


Day 7: 21st August 2018

Todays Progress:

Learnt about Entropy, Cross Entropy and their derivations and understood which loss function to choose depending on outputs.

Thoughts:

The deeper you go into deep learning the more it is confusing. It took so much time to understand the difference between entropy and cross entropy.


Day 8: 22nd August 2018

Todays Progress:

Learnt the backpropagation intuition and the derivations of the gradent with respect to the output units.

Thoughts:

Really exciting to know how exaclty backpropagation works with mathematical derivations, but just completed on output layer need to still calculate with respect to hidden layers, weights and biases


Day 9: 23rd August 2018

Todays Progress:

Started learning SVM's in Udacity's Intro to Machine Learning Course..

Thoughts:

I really have a lot of confusion with SVM's, need to understand them better.


Day 10: 24th August 2018

Todays Progress:

Learnt about linear SVM and coded using SKlearn.

Thoughts:

The linear svm is easy to understand but need to know about several parameters used in it.


Day 11: 25th August 2018

Todays Progress:

Completed learning SVM including non-linear, and also learnt about gamma and C parameter.

Thoughts:

Interesting to learn about various kernels, started doing a project on SVM.


Day 12: 26th August 2018

Todays Progress:

Successfully completed project using SVM, the same project done using naive bayes but svm gives an accuray more than 99%.

Thoughts:

SVM's really take a lot of time in training but ofcourse gave a good accuracy.


Day 13: 27th August 2018

Todays Progress:

Started learning Decision trees from Udacity's Intro to Machine Learning course, learnt about basic decision tree and coded using skklearn.

Thoughts:

Decision trees are more prone to overfitting, need to learn if there is any way to reduce that.


Day 14: 28th August 2018

Todays Progress:

Learnt about Entropy, Information Gain, Bias and Variance. Started building the project on Decision Trees

Thoughts:

Understood decision trees very clearly, they are just simple like if else blocks.


Day 15: 29th August 2018

Todays Progress:

Successfully completed the project on Decision trees(the same project done using naive bayes) and got an accuracy of 97%

Thoughts:

Decision trees might be overfitting if we have more features, but in general gives good results


Day 16: 30th August 2018

Todays Progress:

Intersted in developing a project on Breast cancer prediction, so started learning Flask to build backend

Thoughts:

Flask is very easy to learn and yet powerful, learnt basics quickly


Day 17: 31th August 2018

Todays Progress:

Started working on Breast cancer prediction, collected the data and done some preprocessing

Thoughts:

Lucky that most of the data is good, so made it easy to process

Link to Data:

https://www.kaggle.com/uciml/breast-cancer-wisconsin-data


Day 18: 1st September 2018

Todays Progress:

Built complte Prediction using SVM and also built an API to make the requests to server

Thoughts:

Too complex in this step, tried with ANN but it is over fitting the model so used SVM


Day 19: 2nd September 2018

Todays Progress:

Successfully completed the project including the frontend with bootstrap, working great and yields an accuracy of more than 98%

Thoughts:

It was really a wonderful experience to build the complete project. so happy

Link to Work:

https://github.com/SurajChinna/Breast-Cancer-Prediction


Day 20: 3rd September 2018

Todays Progress:

Started building a project that could predict the relationship between two sentences of a paragraph and returns the percentage using wordnet

Thoughts:

I really know nothing about nltk and wordnet but still trying to build a project


Day 21: 4th September 2018

Todays Progress:

Woo! Successfully completed the project but that is not accurate but doing well

Thoughts:

Felt really tough to jump into project without knowing anythig but somehow managed to complete.

Link to Work:

https://github.com/SurajChinna/Breast-Cancer-Prediction


Day 22: 5th September 2018

Todays Progress:

Learnt the basic concepts of KNN and how it works

Thoughts:

KNN is pretty easy just some math.


Day 23: 6th September 2018

Todays Progress:

Back into Udacity's Intro to Machine Learning course, started lesson datasets and learning about enron

Thoughts:

Enron was a huge organisation that went bankrupt and it is interesting to study the reasons of failure


Day 24: 7th September 2018

Todays Progress:

Just analysed the data-set of enron and various features

Thoughts:

Finally, done with enron and need to start Regression


Day 25: 8th September 2018

Todays Progress:

Started the lesson regression.

Thoughts:

Just looked how and where the regression is used.


Day 26: 9th September 2018

Todays Progress:

Learnt in greater detail about regression, various evaluation metrics and differences between regression and classification.

Thoughts:

Regression is pretty easy but learnt only linear regression


Day 27: 10th September 2018

Todays Progress:

Learnt evaluation metrics in Regression, and completed a small project that could fit the line between age and salary.

Thoughts:

Project was good but there were some outliers that disturbed the line so need to learn about outliers


Day 28: 11th September 2018

Todays Progress:

Learnt some basic stuff about outliers and a simple algo to remove them.

Thoughts:

Outliers are really disturbing..need to do some project


Day 29: 12th September 2018

Todays Progress:

Learnt and Written a Small practical code to identify and also remove outliers.

Thoughts:

It's a good experience to check and remove the outliers.


Day 30: 13th September 2018

Todays Progress:

Understood the KMeans algorithm for clustering and its limitations.

Thoughts:

KMeans is really basic but it makes a lot of mistakes due to initialisiations of centroids.


Day 31: 14th September 2018

Todays Progress:

Got more idea about KMeans and completed the mini project in clustering.

Thoughts:

need to learn feature scaling.


Day 32: 15th September 2018

Todays Progress:

Started Feature Scaling lesson in Udacity's Intro to Machine Learning course. Learnt what is feature scaling and it's implementation in sklearn

Thoughts:

Found feature scaling as a very important step for some algorithms like SVM and KMeans clustering.


Day 33: 16th September 2018

Todays Progress:

Learnt when to apply feature scaling and completed the mini project on feature scaling

Thoughts:

Feature scaling can be confusing but pretty interesting.


Day 34: 17th September 2018

Todays Progress:

Started Text Learning lesson in Udacity and learnt about bag of words and how to represent them in sklearn

Thoughts:

It's really hard to deal with language and a lot of confusion. I have to dig deeper


Day 35: 18th September 2018

Todays Progress:

Learnt about stemmers and also learnt how to use them in sklearn and implemented SnowballStemmer

Thoughts:

feeling confident as going more into text learning


Day 36: 19th September 2018

Todays Progress:

Learnt about tfidf representation and saw how to implement in sklearn and starting a project in text learning

Thoughts:

Need to apply all learnt concepts in project


Day 37: 20th September 2018

Todays Progress:

Completed the project successfully that takes a email and does the preprocessing

Thoughts:

Need to learn more in nltk. so wanted to start nltk tutorials on youtube


Day 38: 21st September 2018

Todays Progress:

Learnt about word tokenizers, sentence tokenizers and stop words in nltk

Thoughts:

Got interested in nltk, so started youtube videos from sentdex. They are really cool!!


Day 39: 22nd September 2018

Todays Progress:

Learnt about Stemming and used Porter stemmer and next learnt part of speech tagging

Thoughts:

Getting so much interest in NLP, with the concepts learnt will do a project on creating a dictionary and part of speech tagging using PyQt


Day 40: 23rd September 2018

Todays Progress:

Learnt about Chunking and Chinking and some regular expressions and done name phrase chunking on some text

Thoughts:

It's really confusing to learn chunking, took too much time, and hard to understand regular expressions. But anyway understood some good concepts


Day 41: 24th September 2018

Todays Progress:

Studied a lot about Named Entity recognition, implemented that, and read about IOB representations

Thoughts:

Named Entity Recognition is very important but sometimes it misclassifies the tags. may be I should learn spaCy in some free time


Day 42: 25th September 2018

Todays Progress:

Understood how to use different corpora and learnt about lemmatizing

Thoughts:

Lemmatizing looks better than stemming and working with huge corpora is good


Day 43: 26th September 2018

Todays Progress:

Learnt about wordnet, to get synonyms and antonyms of word, to get definitions and examples and also computing the similarity of two words using wordnet

Thoughts:

Wordnet is huge and got confused between synsets and lemmas but very useful in nlp and we can do a lot with wordnet


Day 44: 27th September 2018

Todays Progress:

Started doing the project of movie review classification whether positive or negative. completed some portion of importing and storing in lists

Thoughts:

Excited in doing projects as most of the learning happens there


Day 45: 28th September 2018

Todays Progress:

Completed the projet of movie review classification using NaiveBayes and pickled the classifier. Getting an accuracy of nearly 80

Thoughts:

Now feeling that I have to do more and more projects in NLP


Day 46: 29th September 2018

Todays Progress:

Started doing real world project on movie review classification and got data from IMDB. just cleaned the data and arranged

Thoughts:

Wanted to do this project more user friendly and easy to use.


Day 47: 30th September 2018

Todays Progress:

Formatted data according to required format and removed the useless words and cleaned the data.

Thoughts:

The most toughest job is data cleaning and successfully completed that. next need to train and test on data


Day 48: 1st October 2018

Todays Progress:

Revised and learnt some concepts in numpy from youtube videos.

Thoughts:

Text classification is under process and without wasting time I wanted to start another machine learning tutorial.


Day 49: 2nd October 2018

Todays Progress:

Started learning pandas from here. Completed learning DataFrame basics, ways of creating data frames and different functions to read and write csv and excel files

Thoughts:

As pandas is very important in data analysis, started learning it in depth.


Day 50: 3rd October 2018

Todays Progress:

Learnt how to handle missing data and various methods to handle them, to use replace function to replace special characters

Thoughts:

Now feeling confident as I have completed handling missing data as it is the most important in data munging but still have so much to study in pandas.


Day 51: 4th October 2018

Todays Progress:

Learnt how to handle missing data using sklearn's Imputer, and also how to encode categorical data using sklearn

Thoughts:

Getting into Data preprocessing so that I can use these in future machine learning models and still have so much to study in Data Preprocessing


Day 52: 5th October 2018

Todays Progress:

Studied about feature scaling like standardisation and normalization and learnt how to implement them in sklearn and also learnt how to split the test and train data

Thoughts:

Completed most of the steps in data preprocessing and got ready for starting machine learning topics


Day 53: 6th October 2018

Todays Progress:

Learnt the Simple Linear Regression and also completed the project predcting the salaries based on years of experience

Thoughts:

Super excited to start ML from basics, and completed the project, need to learn about more Regression Models


Day 54: 7th October 2018

Todays Progress:

Learnt about Multiple Linear Regression, Homoscedasticity, Multicollinearity and Dummy variable trap

Thoughts:

studied a lot of theory regarding MLR, now need to start a project


Day 55: 8th October 2018

Todays Progress:

Learnt about methods of building a model, like backward eliminaton, forward selection, bidirectional elimination

Thoughts:

Took so much time to understand, as these concepts are very complex.


Day 56: 9th October 2018

Todays Progress:

Successfully completed the project on Multiple Linear Regression, that could predict the profit of a start up based on the amount they have spent on marketing, R&D etc.

Thoughts:

Project is working fine, but need to use backward elimination to eliminate the preditors that are not very important


Day 57: 10th October 2018

Todays Progress:

Hurray!! Used backward elimination to eliminate the features that are statistically less significant. Now predicted results are more closer to the actual results

Thoughts:

Backward elimination was very confusing, but after watching lot of tutorials finally got good understanding of that. and yeah successfully completed the project.


Day 58: 11th October 2018

Todays Progress:

Learnt Polynomial Regression and learnt how to use it with linear regression, completed the project on predicting the salary of employee based on their level using Polynomial Regression

Thoughts:

Polynomial regression is just slight extention of multiple linear regression but quite useful as real world data is not linear.


Day 59: 12th October 2018

Todays Progress:

Studied about Support Vector Regression and completed the project that could predict the salary of employee based their level

Thoughts:

SVR was very easy to understand and implement but a bit confusing in gamma and C parameters


Day 60: 13th October 2018

Todays Progress:

Studied about Decision tree regression and also completed the project that could predict the salary of employee based on their position level using Decision Tree Regression

Thoughts:

Decision tree is not giving very accurate results and hence need to learn some ensemble methods


Day 61: 14th October 2018

Todays Progress:

Studied about Random forest regression regression and also completed the project that could predict the salary of employee based on their position level using Random Forest Regression

Thoughts:

Hmm..The accuracy has increased compared to Normal Decision trees and is very robust.


Day 62: 15th October 2018

Todays Progress:

Learnt about Logistic Regression and the mathematical changes from linear regression and also the evaluation metrics for classification problems.

Thoughts:

Moving from Regression to Classification, started logistic regression and completed the theory and next will do a project.


Day 63: 16th October 2018

Todays Progress:

Successfully completed the project that classifies the users whether they will buy SUV based on their age and salary, gives and accuracy of 89%

Thoughts:

Doing projects is more interesting, and next going to study about KNN classifier


Day 64: 17th October 2018

Todays Progress:

Learnt about knn classifier and completed the project same project as logistic regression but got an accuracy of 93%

Thoughts:

KNN got more accuracy because it is non linear model, and hence quite useful.


Day 65: 18th October 2018

Todays Progress:

Completed learning about linear SVM and also done the same project as logistic regression and got an accuracy of 90%

Thoughts:

Accuracy was quite low because I have used linear SVM, will study about various kernels and try to improve that


Day 66: 19th October 2018

Todays Progress:

Completed the project on diabetes classification using KNN, but the model is giving low accuracy and needs to handle data carefully

Thoughts:

Handling the data and trying to build with other models too


Day 67: 20th October 2018

Todays Progress:

YaY!! Successfully completed the project and working great with an accuracy of nearly 81% using Logistic Regression

Thoughts:

Data had no null values but has zero values so handled them and used Logistic Regression which is giving good accuracy

Link to Work:

GitHub Page


Day 68: 21st October 2018

Todays Progress:

Learnt about various kernels in SVM like rbf, sigmoid and polynomial. Understood the kernel trick and how non linear classification is done

Thoughts:

Understood the concepts and now improving the project that was done using linear SVM


Day 69: 22nd October 2018

Todays Progress:

Included the kernel SVM file for the previous repo. kernel SVM with rbf kernel gives great accuracy of 93%

Thoughts:

The kernel SVM works great but is really broad and complex. confused with various kernels but understood basic kernels

Link to Work:

GitHub Repo


Day 70: 23rd October 2018

Todays Progress:

Studied the intuition behing Naive Bayes algorithm and solved some problems using the bayes formula.

Thoughts:

Now clearly understood the working of Naive Bayes and next going to code that out.


Day 71: 24th October 2018

Todays Progress:

Completed the project of classification using Naive Bayes and got an accuracy of 91%.

Thoughts:

Naive bayes is naive but it really works great for the classification using social media ads project.


Day 72: 25th October 2018

Todays Progress:

Understood the intuition beging decision tree classifier and also completed the project of classification and got an accuracy of 91%

Thoughts:

Decision trees are too old but works good and gives good accuracy but will imporove the efficiency using ensemble methods


Day 73: 26th October 2018

Todays Progress:

Learnt about ensemble learning, Random forest classifier and also completed the same project of classification using Random Forest Classifier.

Thoughts:

Hmm.. Random forest does a good job and gives an accuracy of 92% and next need to learn about improving the classification models


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published