I joined Analytics Vidhya as an intern last summer. I had no clue what was in store for me. I had been following the blog for some time and liked the community, but did not know what to expect as an intern.
The initial few days were good – all the interns were smart, motivated and fun to be around. We played cricket in office, did internal hackathons over weekends and learnt a lot of data science. But, if there was one defining moment for me in the internship – it was when I realized the impact Analytics Vidhya was having in data science community.
I saw thousands of people following Analytics Vidhya religiously. I saw people looking up for guidance in our meetups and hackathons. I saw people transitioning their careers because of the resources we provide them. That is when this good internship transformed into a mind blowing experience.
That is the day I decided that this is my calling. It just felt that this is what I would want to do daily.
Why create this learning path?
Among various resources on Analytics Vidhya, learning paths are special. The amount of effort and thinking they need is tremendous. The number of drafts they undergo is mind-boggling. But, the kind of impact they create for our audience is HUGE. That is why I decided that I will create a learning plan for 2017 for all our followers.
We created a similar plan for 2016 and we saw transitions happening by people following this learning plan. This time we have created a much granular and a more detailed learning plan. The sole aim behind creating this comprehensive plan is to create a much bigger impact for our followers this year.
Who should use this learning path?
This learning path would be extremely useful for any one who wants to learn machine learning, deep learning or data science in this year. If you plan to wait for a year, we will publish something similar in 2018 as well 🙂
But, for the people looking for action this year, this framework and plan of action should be extremely useful. Whether you are a complete fresher or a transitioner or you are looking to up-skill yourself, this plan should give you the necessary direction.
We published a similar plan in 2016 and we saw followers making transition by simply following the plan. This year’s plan is more nuanced than last year’s one – so if you plan to pick up / improve data science skills – this plan will guide you through the journey.
How can you use this learning path?
In creating this plan, we have removed the confusion from the process of learning. The biggest challenge which people face while learning is not dearth of learning material – but too much of it. You are not sure where to start learning, what to practice, how much time to spend on a concept, where to get the useful resources etc. For most of the beginners, this becomes overwhelming and they simply drop out before even learning a single skill.
This plan takes this confusion out. This path contains both theoretical resources as well practical examples. We have also provided you with resources / tests to apply your learning and benchmark yourself. As part of this plan, you will apply the concepts you learn on real-world problems and gain hands-on experience.
Table of Contents
- A few definitions before we start
- Setting a target and timelines for yourself
- Beginner’s Path for 2017
- Transitioner’s Path for 2017
- Intermediate’s Path for 2017
- End Notes
1. A few definitions before we start
The first thing you need to do is identify which kind of learner are you. Have a look at the definitions / descriptions below and identify which category you belong to.
- Who is a beginner data scientist?
- A beginner has no prior experience in data science or machine learning
- Does not know any analytical tool or languages like R, SAS or Python
- No prior knowledge of subjects like mathematics & statistics.
- A person who has prior exposure to some of the sections in this article like probability, linear algebra can feel free to skip the initial sections of the learning path to pace up their learning.
- Who is a transitioner data scientist?
- A transitioner has no prior experience in any of the analytics tools like R/Python
- Does not know Machine Learning concepts etc and
- Has work experience more than 3 years in industry other than Analytics.
- A person who has prior exposure to some of the sections in this article like probability, linear algebra can feel free to skip the appropriate sections of the learning path and pace up their learning.
- Who is an Intermediate data scientist?
- People who already know Data Science, are comfortable with building predictive Machine Learning models
- They participate in Data Science competitions and hackathons on a regular basis.
- Prior knowledge of Basic and Advanced Machine Learning algorithms is necessary.
2. Setting target and timelines for yourself
We have created these guides with the following target in mind:
- Beginner Data Scientist
- Learn basic mathematics and statistics required for data science
- Develop a basic understanding of machine learning algorithms and solving real life problems from them
- Skills required to land you first data science internship / job.
- Time spent ~ 3 hours / day
- Transitioner Data Scientist
- Learn basic mathematics and statistics required for data science
- Develop a basic understanding of machine learning algorithms
- Work on projects and create a portfolio of projects
- Skills required to land your first data science internship / job.
- Time spent ~ 5 hours / day
- Intermediate Data Scientist
- Understand Deep Learning techniques and algorithms to the extent of applying them on real world problems.
- Learn to create awesome Interactive Visualizations and improve your story telling capabilities.
- Understanding of recent development (Reinforcement Learning) in the field of Data Science and incorporate them into the existing Machine Learning frameworks.
- Web Frameworks and cloud computing to create independent Data / machine learning products.
- Time spent ~ 3 hours / day
3. Ultimate Beginner’s path for 2017
Structure for your 2017 journey:
- Step 1: Getting started and testing the waters
- Step 2: Mathematics & Statistics
- Step 3: Introducing the tool – R / Python
- Step 4: Basic & Advanced machine learning tools
- Step 5: Building your profile
- Step 6: Applying for Jobs / Internships
3.1: Getting Started and testing the waters
Time suggested: 4 weeks (January 2017)
At this stage, it is important to understand why you want to become a data scientist? What are your strengths and weaknesses? Do you know what it takes to be a Data Scientist? You must answers these questions before jumping on the boat of Data Science journey.
Watch this excellent video where Tetiana Ivanova describes how she became a Data Scientist without going through a Masters or doctorate program in data science and with help of Meetups.
Here are some additional resources you can use to answer these questions:
- What is Data Science? – This article by Data Jobs will give you a broad perspective of how data science is being used in Netflix and Amazon. Also, it will highlight the skill set required for Data Science.
- Should I become a Data Scientist? This article points out some questions for you to decide whether you are fit for a Data Scientist role. I suggest you must go through this article before proceeding further.
- Next, you should attend local meetups in your area. Go out and find out what people are talking about Data Science / Machine Learning. Meetups not only help you learn the tools and techniques, they provide you with a network of people in similar industry which helps you in finding the right jobs and internships later on.
Go ahead and think through these aspects of choosing a career in data science. This decision is going to decide the next 11 months of your life.
3.2: Basics of Mathematics and Statistics
Time suggested: 8 weeks (February 2017 – March 2017)
Topics to be covered:
- Descriptive Statistics – 1 week
- Probability – 2 weeks
- Inferential Statistics – 2 weeks
- Linear Algebra – 1 week
- Structured Thinking – 2 weeks
Descriptive Statistics – 1 week
- Course (mandatory) – Descriptive Statistics from Udacity is a basic and must do course to get started.
- Books (optional) – Supplement your online course with online stats book. A good book for any one looking for learning basic statistics.
Probability – 2 weeks
- Course (mandatory) – Introduction to probability – The science of uncertainty is an excellent course on edX to learn concepts of probability like conditional probability and probability distributions.
- Books (optional) – The textbook Introduction to probability – Berkley’s stats 134 standard textbook will supplement the course above and can be used as a good reference material.
Inferential Statistics – 2 weeks
- Course (mandatory) – Intro to Inferential Statistics from Udacity – Once you have gone through the descriptive statistics course, this course will take you through statistical modeling techniques and advanced statistics.
- Books (optional) – Online Stats Book – This online book can be used for a quick reference for inference tasks.
Linear Algebra – 1 week
- Course (mandatory)
- Linear Algebra – Khan Academy : This concise and an excellent course on Khan Academy will equip you with the skills necessary for Data Science and Machine Learning.
- Books (optional)
- Linear Algebra/ Levandosky – This is an often cited book to Stanford graduates for Linear Algebra.
- The Manga guide to Linear Algebra – This is a fun filled Linear Algebra book which keeps Machine Learning in context. You will never forget these Algebra lessons for sure.
Structured Thinking – 2 weeks
- Articles (mandatory): These articles will guide you to structure your thinking process to approach problems in a better way so as to improve your efficiency.
- Competitions (mandatory): No amount of theory can beat practice. This is a strategic thinking problem which will test you on your thinking process. Also, keep an eye on business case studies as they help in structuring your thoughts tremendously.
3.3: Introducing the tool – R / Python
Time suggested: 8 weeks (April 2017 – May 2017)
Topics to be covered:
- Tools (R/Python) – 4 weeks
- Exploration and Visualization (R/Python) – 4 weeks
- Feature Selection/ Engineering
Tools
1. R
- Course – Interactive Intro to R Programming Language by DataCamp – An excellent course by DataCamp to give you hands-on experience in R. The course includes interactive examples You will never feel bored while learning R.
- Books – R for Data Science – This is your one stop solution for referencing basic materials on R.
- Blogs/Articles
- This article will serve a great point for collating the entire process of model building starting from installation of RStudio/R.
- R-bloggers – This is one of the most recommended blog for R- users. Every R practitioner should keep this blog bookmarked. It has some of the most effective and practical R tutorials. Bookmark it now.
2. Python
- Course (mandatory) – Intro to Python for Data Science – An interactive course developed by DataCamp to facilitate Data Science learning using Python.
- Books (mandatory) – Python for Data Analysis – This book covers various aspects of Data Science including loading data to manipulating, processing, cleaning and visualizing data. Must keep reference guide for Pandas users.
- Blogs/Articles (optional)
- A Complete Tutorial to Learn Data Science with Python from Scratch: This article will serve as a quick guide to learning Data Science using Python.
Exploration and Visualization
1. R
- Course
- Exploratory Data Analysis – This is an awesome course by Johns Hopkins University on Coursera. You will need no other course to perform visualization and exploratory work in R.
- Blogs/Articles
- Comprehensive guide to Data Exploration in R – This will be a one-stop article that I will suggest you to go through carefully and follow every step. This is because the steps mentioned in the article are the same steps you will be using while solving any data problem or a hackathon problem.
- Cheat sheet – Data Exploration in R – This cheat sheet contains all the steps in data exploration with codes. I suggest you to take out a print and paste it on your wall for quick reference.
2. Python
- Course (optional)
- Intro to Data Analysis – This is an excellent course by Udacity on Data Exploration using Numpy and Pandas.
- Blogs/Articles (mandatory)
- Comprehensive guide to Data Exploration using Python NumPy, Matplotlib and Pandas – This is a sufficient and comprehensive article which uses the most popular Python libraries for exploration and visualization purposes.
- 9 popular ways to perform Data Visualization in Python – This article presents the most commonly used graphs and plots used in Data Exploration along with Python codes. This is a must bookmarked article for people working in Data Science using Python.
- Books (optional) – Python for Data Analysis – A one stop solution for your Data Exploration and Visualization in Python.
Feature Selection/ Engineering
- Blog – A Comprehensive Guide to Data Exploration: This article will explain underlying techniques of feature engineering and different methods for feature creation
- Books (optional) – Mastering Feature Engineering: This book is master piece to learn feature engineering. Not only will you learn how to implement feature engineering in a systematic way. You will also learn different methods involved in feature engineering.
3.4: Basic & Advanced machine learning tools
Time suggested: 12 weeks (June 2017 – August 2017)
Topics to be covered (June 2017 – July 2017):
- Basic Machine Learning Algorithms.
- Linear Regression
- Logistic Regression
- Decision Trees
- KNN (K- Nearest Neighbours)
- K-Means
- Naïve Bayes
- Dimensionality Reduction
- Advanced algorithms (August 2017)
- Random Forests
- Dimensionality Reduction Techniques
- Support Vector Machines
- Gradient Boosting Machines
- XGBOOST
Linear Regression
- Course
- Machine Learning by Andrew Ng – There is no better resource to learn Linear Regression than this course. It will give you a thorough understanding of linear regression and there is a reason why Andrew Ng is considered the rockstar of Machine Learning.
- Blogs/Articles
- Books
- The Elements of Statistical Learning – This book is sometimes considered the holy grail of Machine Learning and Data Science. It explains Machine Learning concepts mathematically from a Statistics perspective.
- Machine Learning with R – This is a book I personally use to have a brief understanding of Machine Learning algorithms along with their implementation code.
- Practice
- Black Friday – Like I already said – No amount of theory can beat practice. Here is a regression problem that you can try your hands on for a deeper understanding.
Logistic Regression
- Course (mandatory)
- Machine Learning by Andrew Ng– The week 3 of this course will give you a deeper understanding of the one of the most widely used classification algorithm.
- Machine Learning: Classification – Week 1 and 2 of this practical oriented Specialization course using Python will satiate your knowledge thirst about Logistic Regression.
- Blogs/Articles (optional)
- Logistic Regression by Machine Learning Mastery – This is an excellent non-code based approach to Logistic regression to deepen your knowledge. I suggest you to have a look at it.
- Books (optional)
- Introduction to Statistical Learning – This is an excellent book with a quality content on Logistic Regression’s underlying assumptions, statistical nature and mathematical linkage.
- Practice (mandatory)
- Loan Prediction – This is an excellent competition to practice and test your new Logistic Regression skills to predict whether loan status for a person was approved or not.
Decision Trees
- Course (mandatory)
- Machine Learning: Classification – Week 3 and 4 in this course is about the working of decision trees, preventing overfitting and handling missing values
- Blogs/Articles (mandatory)
- Technical Overview of decision trees – This is a quick overview of decision trees and a must read for anyone new to decision trees.
- Complete tutorial on tree based modeling – This is a python based tutorial on decision trees. For the sake of decision trees, read only sections 1-6 in this article.
- Books (mandatory)
- Introduction to Statistical Learning – Section 8.1 and 8.3 explain the basics of decision trees through theory and practical examples.
- Machine Learning with R – Chapter 5 of this book provides you the best explanation of Machine Learning Algorithms available in the market. Here, the decision trees are explained in an extremely non-intimidating and easier style.
- Practice (mandatory)
- Loan Prediction – This is an excellent competition to practice and test your new Logistic Regression skills to predict whether loan status for a person was approved or not.
KNN (K- Nearest Neighbors)
- Course (mandatory)
- Machine Learning – Clustering and Retrieval: Week 2 of this course progresses to k-nearest neighbors from 1-nearest neighbor and also describes the best ways to approximate the nearest neighbors. It explains all the concepts of KNN using python.
- Blogs/Articles (mandatory)
- Introduction to k-nearest neighbors: simplified – This basic article describes when to use KNN, the ways in which k can be chosen and the way in which KNN algorithm works.
- Learning KNN algorithm using R – This article is a comprehensive guide to learning KNN with hands-on codes for future references.
K-Means
- Course
- Machine Learning Course – Unsupervised Learning with K-means algorithm: Week 8 of this discusses how to use course how K-means algorithm is used for handling unstructured data.
- Blog
- An Introduction to Clustering and different methods of clustering: In this article, you will learn what is k-means clustering and the intricacies involved in that. It will give you a step by step approach how K-means algorithm works.
Naive Bayes
- Course
- Intro to Machine Learning: Take this course to see Naive Bayes in action. In this course, Sebastian Thrun has explained Naive Bayes in Simple English.
- Blog / Article
- 6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python) : This article will take you through Naive Bayes algorithm in detail. In this guide, you will learn how Naive Bayes algorithm works, applications and many more. It will also give you hands-on knowledge of building a model using Naive Bayes.
- Naive Bayes for Machine Learning : This is one of the most comprehensive articles I have come across. Go through this article to have a complete understanding of why naive bayes algorithm is important for machine learning.
Dimensionality Reduction
- Course
- Machine Learning – Dimensionality Reduction: Week 8 of this course will walk you through dimensionality reduction and how Principal Components Analysis can be used for data compression of complex data.
- Blog / Article
- Beginners Guide To Learn Dimension Reduction Techniques: In this article, you will learn why dimension reduction is important in machine learning and the various techniques of dimension reduction.
Random Forests
- Videos (mandatory)
- How Random Forest algorithm works? – Watch this video to have a visual perspective of how the Random Forest algorithm works.
- Books (optional)
- Introduction to Statistical Learning – Section 8 explains the basics of Random Forests including bagging and boosting through theory and practical examples.
- Applied predictive modeling – Chapter 8
- Blogs/Articles (mandatory)
- A tutorial on tree based modeling from scratch – This is an excellent article on trees based modeling using python. I suggest you to bookmark it right now.
- Random Forests – This blog explains the entire working, nuts and bolts of Random Forest.
Gradient Boosting Machines
- Blogs/Articles (mandatory)
- Presentation (mandatory): Here is an excellent presentation on GBM. It contains the prominent features of GBM and the advantages and disadvantages of using it to solve real-world problems. It is must see article for somebody trying to understand GBM.
XGBOOST
- Blogs /Articles (mandatory)
- Official Introduction XGBOOST – Read the documentation of hackathons winning algorithm. It is an improvement over GBM and is right now the most widely used algorithm for winning competitions.
- Using XGBOOST in R – An excellent article on deploying XGBOOST in R using a practical problem at hand.
- XGBOOST for applied Machine Learning – An article by Machine Learning Mastery to evaluate the performance of XGBOOST over other algorithms.
Support Vector Machines
- Course (mandatory)
- Machine Learning by Andrew Ng – Week 7 of this course is an interesting place to start your SVM journey.
- Books (mandatory)
- Introduction to Statistical Learning – Chapter 9 of the book contains a detail discussion about SVMs and the ways to deploy them.
- Blogs/Articles (optional)
- Understanding support vector machines – This is an excellent article to understand an algorithm practically using examples.
- SVM by Machine Learning Mastery – This article discusses the different types of kernels employed in SVM and their uses.
3.5: Building your profile
Time suggested: 8 weeks (September 2017 – October 2017)
Topics to be covered:
- GitHub Profile Building
- Practice via competitions
- Discussion Portals
GitHub Profile Building (mandatory)
It is very important for a Data Scientist to have a GitHub profile to host all the codes of the project he/she has undertaken. Potential employers not only see what you have done, how you have coded and how frequently / how long you have been practicing data science.
Also, codes on GitHub open up avenues for open source projects which can highly boost your learning. If you don’t know how to use Git, you can learn from Git and GitHub on Udacity. This is one of the best and easy to learn course to manage the repositories through terminal.
Practice via competitions (mandatory)
Time and again, I have stressed on the fact that practice beats theory. Moreover coding in hackathons brings you closer to developing data products in real life for solving real world problems. Below are most popular platforms to participate in Data Science/ Machine Learning Competitions.
Discussion Forums (optional)
Discussions are a great way to learn in a peer-to-peer setup from finding an answer to a question you stuck to providing answers to someone else’s questions. Below are some of the discussion rich platforms which you should keep a tab on to clear your doubts.
3.6: Apply for Jobs & Internships
Time suggested: 8 weeks (November 2017 – December 2017)
Topics to be covered: Jobs / Internships
If you are here after diligently following the above steps, then you can be sure that you are ready for a Job / Internship position at any Data Science / Analytics or Machine Learning firms. But it becomes quite difficult to identify the right jobs. So, for the purpose of saving the trouble, I have created a list of portals which lists down Data Science/ Machine Learning jobs and Internships.
In order to prepare for these interviews, you should go through this Damn Good Hiring Guide
4. Transitioner’s path for 2017
Let me start by giving you the bad news – it is not going to be easy to transition in data science. Also, the more your work experience, the more difficult your transition would typically be. You would need a strong resolve – there will be times when you might question, whether this is the right domain for you.
The good news is that once you get your first break in the industry, there is no looking back. Also, because of the salary differential from other industry, you may not need to compromise on your earnings during transition.
To achieve your goal all you have to do is follow this learning path diligently. We have covered all the skills, techniques you need to gain to take your first steps in data science.
The Ultimate Path for transitioners
Simply put, if you are looking for a transition under a year, you will need to learn everything we laid out for the beginner above. Additionally, you will need to carve out additional time to showcase your skills. You will need to overcome the doubts of your potential employers through your projects and work.
I am sure you are beginning to understand why transition is not an easy thing.
Structure for your 2017 journey:
The structure of the path is similar, but you will need to accelerate your learning in the first half of the plan. Start by going through this article and go through a few success stories to understand what a transition would entail. Once you are set for the journey, follow the plan by sticking to these timelines.
- Step 1: Getting started and testing the waters (1 week in January ’17)
- Step 2: Mathematics & Statistics (Jan ’17 – March ’17)
- Step 3: Introducing the tool – R / Python (March ’17 – April ’17)
- Step 4: Basic & Advanced machine learning tools (May ’17 – July ’17)
- Step 5: Building your profile (Aug ’17 – Oct ’17)
- Step 6: Applying for Jobs (Nov ’17 – Dec ’17)
5. Intermediate’s path for 2017
If you can build predictive models, but don’t necessary know deep learning and some recent development in the domain, this learning path can help you out. Depending on your skills and learning plan for the year, you can pick and choose the areas you want to learn.
Structure of intermediate path for 2017:
- Step 1: Assessing your technical & Structured thinking skills
- Step 2: A few more ML algorithms
- Step 3: Pick up a data visualization tool
- Step 4: Big Data tools and techniques
- Step 5: Deep Learning Basic and Advanced
- Step 6: Reinforcement Learning
- Step 7: Web frameworks & Cloud Computing
5.1: Assess your technical & structured thinking skills – Jan 2017
The first step in creating your learning plan is to benchmark yourself on various skills – both technical and structured thinking. You can go through the skill tests on Analytics Vidhya to judge whether you need to review the old material. If you do well, go ahead with acquiring new skills. Else, go back to practice for some more time.
If you feel the need to go through the old material once again, refer to beginner’s path which contains various useful resources.
Skill tests:
- Statistics 1 & Statistics 2
- R for Data Science
- Python for Data Science
- Machine Learning
- Regression
- Tree-based algorithms
- SQL
Structured Thinking
- Articles (mandatory) – These articles will guide you to structure your thinking to solve business problems efficiently.
- Competitions (mandatory): Check out strategic thinking problem to test your structured thinking. Also, keep an eye on business case studies as they help in structuring your thought process.
5.2: Few more ML algorithms – Feb 2017
There are a few specific machine learning algorithms, which come in handy while solving specific problems. For example, try solving online click prediction on large data sets with out applying online learning algorithms and you would know what I am talking about. Here are a few advanced ML algorithms you should learn this month:
Online Machine Learning
- Course: Online Methods In Machine Learning by MIT
- Books:
- Blogs : Langford’s hunch.net
Vowpal Wabbit
FTRL- Algorithms
Exercise: Practice on one of the old Kaggle competitions or open click through rate data sets as provided by Criteo.
5.3: Pick up a data visualization tool (March 2017)
Ideally you should pick up D3.js for sure and either one of QlikView and Tableau. While D3.js provides the most flexibility, QlikView and Tableau are both handy for creating dashboards or less complex story creation and narration.
Topics to be covered:
- Interactive Visualization using d3.js (3 weeks)
- Creating Visualizations in QlikView (1 week)
- Creating Visualizations in Tableau (1 week)
Interactive Visualization using d3.js
The reason d3.js is not so much popular among Data Scientist is because it requires an entire different skill test like HTML, CSS, Javascript which is not typical of a Data Scientist.
But knowing D3.js can take your story telling capabilities to a different level. You can create non-static Interactive graphs embedded right in a browser for a much richer experience. Below are the list of resources to master d3.js
- Course Data Visualization and d3.js : This is an excellent course provided by Zipfian experts on Udacity and a part of Facebook’s Data Analyst Nanodegree program.
- Books Interactive Data Visualization for the Web – An excellent book by Scott Murray and your one stop reference material. It has a web version which is free to use.
- Code-Oriented Resource Dashing d3.js – This is a code oriented tutorial which will help you create your Interactive Visualizations. This is also the same tutorial I am currently undergoing to learn d3.js
- Blogs/Articles Complete path from being a noobie to an expert at d3.js – This was the original article which got me started into learning d3.js. It contains a list of resources as well as codes for some basic graph elements which you can always refer back to.
Creating Visualizations using QlikView
- Learning Path from a starter to a QlikView expert – This is an exhaustive article which hosts the required materials and resources required for mastering QlikView.
Creating Visualizations in Tableau
- Course (mandatory) – Data Visualization and Communication in Tableau – Coursera – This is an excellent course provided by Duke University to help people to learn to create stories using Tableau.
- Blogs/Articles (mandatory) – Your guide to become a Tableau expert – This is a comprehensive learning path to become an expert at Tableau. The article is very well structured and detailed. Keep it bookmarked to reference often.
- Books – Communicating Data with Tableau – An excellent book to keep by your side for quick referencing.
5.4: Big Data tools and techniques (April 2017)
Big Data
- Course (mandatory) – Introduction to Big Data by University of California, San Diego
- Book (optional) – Big Data: Using Smart Big Data, Analytics and Metrics to make better decisions and improve Performance
Other useful tools:
- H2O
- SparkR & PySpark
- Apache Spark
- Course – Big Data analysis with Apache Spark by edx
- Book – Learning Spark – Lightening fast Big Data Analysis
5.5: Deep Learning Basics & Advanced (May 2017 – August 2017)
Deep Learning Basics (May 2017 – June 2017)
- Course (mandatory)
- Machine Learning by Andrew Ng – There is no better introductory material to Deep Learning and Neural Networks than Week 4 and Week 5 material of this course.
- Deep learning by Google | Udacity – This is an excellent basic course on transition from Machine Learning to Deep Learning, deep neural networks, Convolutional Neural Networks and Deep Learning for texts.
- Reading Material/Books
- Deep learning Textbook – Written by people like Ian Goodfellow, Yoshua Bengio and Aaron Courville, this book is bound to become the de-facto for people trying to learn Deep Learning.
- Stanford Deep Learning tutorial – This is an all text and images resource provided by Stanford which starts from Linear Regression and goes to Convolutional Neural Networks with ease.
- Practice – Identify the digits – An awesome contest to check the basics you have learned to identify handwritten digits.
Deep Learning advanced (June 2017 – August 2017)
- Course (mandatory)
- Deep Learning by Oxford
- Deep learning summer school at Montreal 2016 – This is a treasure trove of knowledge with many experts researching in the field of Deep Learning delivering keynote lectures.
- Specialization Material
- Deep Learning for Computer Vision
- Primer: “DL for Computer Vision”
- Project: “Facial Keypoint Detection” Tutorial
- Required libraries: Nolearn
- Associated Course: “CS231n: Convolutional Neural Networks for Visual Recognition”
- Deep Learning for Natural Language Processing
- Primer : “Deep Learning, NLP, and Representations”
- Project : “Deep Learning for Chatbots”: “Part 1”, “Part 2”
- Required library : Tensorflow
- Associated Course : “CS224d: Deep Learning for Natural Language Processing”
- Deep Learning for Speech/Audio
- Primer : “Deep Speech: Lessons from Deep Learning” news article and corresponding video.
- Project : “Music Generation using Magenta (Tensorflow)”
- Required library : Magenta
- Associated Course : “Deep Learning (Spring 2016), CILVR Lab@NYU”
- Deep Learning for Computer Vision
5.6: Reinforcement Learning (September 2017 – October 2017)
Topics to be covered: Reinforcement Learning (Theory)
- Course
- Code Reinforcement Learning Introductory Codes[Code]
- Books Reinforcement Learning by MIT press – This will be good reference material for the reinforcement learning taught by the professors at MIT.
- Competitions:
5.7: Web frameworks & Cloud Computing (November 2017 – December 2017)
Web Frameworks
Now that you know machine learning well, you might want to apply it to web products. What you need to learn is a working knowledge about web frameworks. Web frameworks allow you to quickly build and prototype web based products, with out getting into the complications of coding.
Given that you would already have working knowledge of Python, you can choose any of the Python based web frameworks. I would recommend Flask for its simplicity. Flask is a simple and light web framework, which should serve your needs well. If you are looking to build a complex web product, you might want to consider Django as well.
Resources for learning Flask:
Exercises:
Additionally, you should do a side project to merry your machine learning skills and web development skills. You can build a simple web application where users can upload pictures and find which make and model the car is. Or may be tells people about their age.
Cloud computing
Now that you know how to build web applications, you should also get your hands dirty on cloud computing. A few popular platforms are Amazon Web Services (AWS), Google Cloud platform and Microsoft Azure.
Each of these platform provide extensive documentation for their offering. If you have to pick only one – AWS is the way to go because of its popularity, wide spread use and comprehensive offerings.
End Notes
I hope you found this learning path helpful. I have made it as specific and comprehensive as possible. If you think I have missed out on any specific areas or resources, do let me know.
If you want to progress in your data science journey all you have to do is choose your category and follow the learning diligently.
If you have any questions, doubts or suggestions drop in your comment below and I will be happy to answer them.
If you want to make your own learning path share it with me how are you planning to follow your journey of becoming a data scientist.
Hi NSS/Kunal,
The effort you guys are putting to enable the data community onto the data science track is commendable.My best wishes to you.
Vishwa
Thank you Vishwa. This is what we love to do 🙂
Hi, I am a 30 yrs with professional experience of 6 yrs in retail Banking , I have joined Jigsaw with Life time Membership.. I give 2 hrs daily to the Data Science and big data.
I want to ask what extra i will do to change my Industry from Banking TO Analytics field and what would be my Starting Package if Now i am getting around 7 LPA
This article, I can safely say is the best I have came across till now. I have been tirelessly searching to come up with a practical scheme (I’m an undergrad at Kharagpur) to prepare myself for the data jobs. NSS I can only imagine the hard work you guys have put in to come up with such an elaborate and all-embracing article. I’m an avid follower of AV but was always a bit indolent to write comments, but not praising this would be lethal, I guess 😛 . Keep up the wonderful work.
Thanks a ton for this brilliant write up!
Jayant
PS : Your Connect with: FB is not working I believe
We are glad to be of help Jayant. This is what we love 🙂
Hi Jayant,
You can now share this on FB, It’s working.
Courage, you have to train and have skills !. Companies value what you know how to do. Here, you will find a great plan to be very employable. Lots of energy and luck!
Stands the reason why AV is the google for Data Science.
Not yet, But we aim to . Happy Learning 🙂
Please, Please provide a printable pdf format of this article. What an article! Kudos to AV and NSS. Thanks and Regards.
Thanks AV, for such a comprehensive guide for guys like me who want venture into the field of Data Science but has no idea as to where to actually begin, considering the vastness and exponential growth of the field.
You are welcome Sachin. Share and spread the world . Help more people like you . It is more fun learning in a group. 🙂
Excellent Article. Thanks you very much for sharing.
You are welcome. It is more fun when you learn in a group. Spread the word and keep learning. 🙂
Great article and very promising for data science newbies and experienced professionals. Thank you.
However, when I look at the courses you suggest and the timelines you propose, there seems to be a disconnect. For example, in 3.2: Basics of Mathematics and Statistics, you have Descriptive Statistics – 1 week, but the course you propose has a timeline of 2 months. The second course. Introduction to probability – The science of uncertainty, has last been offered in 2015 and is archived since then and not available. Intro to Inferential Statistics from Udacity is a 2 months course, again you have it down for 2 weeks. What am I missing?
Thank you.
You are missing the point that with the pace given on udacity, you will end up with hardly 5 courses and probably nowhere after an year. And since I have done most of the courses myself in the deadline mentioned in the article, I think it is doable by all. More for a newbie and just an year and an aim of an internship/job, you need to speed things up a lot.
Hope I made myself clear.
Also, I have updated the probability course with the new session which starts today Jan 17, 2017. Happy Learning.
Thank you, that is very helpful.
Hi NSS,
This is definitively one of the awesome detailed plan of the year for the all Analytic aspirants and practitioners.
Regards,
Nages.
Thank You Nages. Spread the word and Happy Learning 🙂
Thank you NSS for publishing this learning path. I just started exploring data science and faced the challenge of chalking out a learning strategy. Your article has come just in time !
It is more fun when learning happens in a group. Spread the word and Happy Learning 🙂
Since last a month I’m regularly following Analystvidya @Facebook,, I found most of the posts quite resourcesfull,, Data Science for non-mathmetics is really a wonderful concept,, being a IT professional I’m also looking forward to learn more about it.
You have come to the right place Rajesh. Happy Learning 🙂
Nice Article. Very helpful for data scientists. Appreciate your effort
Thank you shankar. Spread the word. Happy Learning. 🙂
Hi, I am an undergrad(final year) from BITS Pilani. After years of competitive programming , I have decided to dive in the interesting field of Machine Learning. I must say this is by far the most helpful article for beginner like me. Can you also share with us some preparatory guides which would help in landing me a job in companies like Goldman Sachs .
solid piece of work, thanks
Thank you badri. Share the word and stay connected.
Thanks for your great insight and generosity! My best wishes.
Thank You Renato.
Question about the math required for this course of study: most graduate degrees in statistics have calculus prerequisites (including multi-variate) that must be completed before acceptance into their programs. I’m told a lot of the math behind certain areas of statistics is based on integrating functions, and a knowledge of calculus is necessary for their understanding. Do you feel Calculus would be a useful and necessary addition to your learning plan?
Thanks ilan for pointing that out. Personally, I have felt that to be a good Data Scientist you do not need the academic rigour of statistics. High school calculus to the point of dealing with ODEs, Partial derivatives are enough to understand most of the statistics topics. And in such a short duration, Calculus might not have fit in. But it is a useful skill though.
Happy Learning.
Is there a way we can have an account in the weebsite in order to bookmark our favorite articles ?
keep the good work.
Well, you dont need a better guide than this to proceed with a systematic approach to become a data scientist.Kudos to the team and the author.
Thanks
Thank you Bala. This is what we love. Happy Learning 🙂
So beautiful!
I looked all around quora and a multitude of websites and what not, you name it!
Don’t get me started on the thousand dollar bootcamps.
This is amazing work guys!
Thank you Roshan. Happy Learning.
Amazing Learning path! Thank you so much for this. Although I came to a standstill at one point..
The course for probability (beginners path), the course content will be coming out over the weeks..
Unfortunately I won’t be able to do that course in the prescribed 2 weeks time because the course content of the whole course will be coming out only by May of this year. How should I proceed along with this??
Thank You Arjun for pointing it out. The course was mentioned because it was accessible even in the archive form. But edx has restarted the course so i will update the link once again as soon as i find the entire course in a single go.
Meanwhile what should I do?
I’d really like to stick with this timeline for Learning 😐
Can I proceed ahead along the timeline without doing this course and not be affected too much??
Yes, you can skip ahead without getting affected much provided you have a basic knowledge of conditional probability and bayes theorem.
For the same issue, can we do the previous version of MITx course (available on ocw.mit.edu) on the same topic?
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041sc-probabilistic-systems-analysis-and-applied-probability-fall-2013/
Can you please take a look and reply about the same? Sorry for overloading this on you. Your help is much appreciated! Thanks!
Can we do the previous version of this course on MITx (ocw.mit)? Although it looks a bit different but can you please check that course and tell us about that? Thanks!
Hi NSS! Has there been any new updates regarding the new link?
Any updates for the new link for probability course for beginners?
This is a brilliant piece of article.
Thank you for the hardwork
Hi NSS i am a fresher from mechanical Engineering, actually so long i was learning data science by my own i mean no schedule from others but it gave me a clear picture of what all the things needed and in proper order,
actually i am doing coursera’s data scientist toolbox course along with the practical exposure in datacamp, in coursera they introduced the tool R in the beginning is it worth to learn in that way?
And I personally feel that coursera’s exploratory data analysis course didnt give much things in practical way the instructor just fliping with concepts and a course in udactiy called data analysis in R gave a very good practical exposure to ggploting system.
Once again Thank you soo much for your plan it will help thousands of people like me.
Hey NSS,
First of all, I want to thank you and AV for such an helpful material for transitioning to Data Analytics as a career.
Now, I am going through Probability course, and they released just two weeks material till now which I have completed, but I want to complete the whole course before going further.
So, Can you please provide the link for Archived course, It will be really helpful.
Thanks
An amazing article related to data science learning. Python is indeed an excellent programming asset that helps in building up the network of data science as it helps to program all latest devices. The code format is simple and tricky at the same time, so a lot of patience is required to learn it. But once the knowledge of Python is acquired, things like IoT and Cognitive Computing become easy and thus helps the progress of data science.
Hi NSS,
Actually I started this course last year and so I was following the last year’s plan, but unfortunately due to my work pressure, I couldn’t complete it in last year. Some things seems to be same but some are different. Is it wise to still follow the 2016 plan, as I have already completed 50+% of probability and statistics from Khan Academy ?
Yes, you can continue with the same. Just look out for the differences in terms of new additions to the topics to be studied. For example, we have added Re-inforcement learning this year to our path.
Thanks , I have completed the same. I have one more question, I have done Linear Regression and I understand how the algorithms work for linear regression. But when it comes to practice problem- Black Friday, I am not sure how to approach the problem. I can build the model using R/SAS but the problem is they have inbuilt functions to implement the algorithms so what is the learning for us in that ? I mean I am not sure on how to approach this problem.
@Sakshi….In all of my very young data science career, i have learnt one thing and that is there is no one fit all algorithm for all problems and there is no method to know which algorithm is going to suit best. It all comes with experience and practice. And moreover there is a lot to approaching a data science problem in addition to applying any ML algorithm. applying algorithm is just 10% of the job done (time wise). Top data scientists focus on the remaining 90%.
NSS,
You’ve done great job in compiling the best for us to achieve our goals. This will save us loads of time. But since I’m only familiar with R, intermediate and advanced topics do not have R as base language to understand the concept, for e.g. most Udacity courses are based off Python.
Hi NSS,
I was following the data science learning path for 2016, but couldn’t complete it last year. I have completed – Descriptive Stats, Inferential Stats, Algebra, but couldn’t complete Probbaility ( from Khan Academy ) although I have completed almost 60% of it. Can you please advise, if I should carry on with the Khan Academy course or should I start eDX one, which you have pointed for 2017 learning path ?
Regards
Sakshi
Great Job NSS in compiling this learning path. Just one small suggestion from my side that if possible, please include the meetups information related to data science related fields, that would offer great learning and networking opportunities to one and all on this path.
Thanks and Regards,
Deepashu
Hello NSS,
I have 4 projects(created one year ago) done but I got to know about github from my friends.How do I post it that it was done in previous year?
Brilliant peace of work.
Appreciate your efforts. Bless you 🙂
Hi NSS:
One quick question, we don’t have to learn both R and Python in details, only learning one in details is suffice, I guess?
I, myself is a SAS advance programmer, now currently trying to grow my skills in DS. However my plan is, as I have some exposure with python, to learn python in details and just do nothing or perhaps some basics in R.
What would be your advise for that?
thanks,
Yes learning one is enough if it’s python. Otherwise, if you are into R and deep learning stuff ,python becomes a must.
Hi Team,
This article is exactly what I was looking for. You have made so many lives easier !! Great work!!
Very useful information NSS. Keep it up !
Hi,
is the path for beginners and transitioners same or different because I don’t see any separate links for them.
@Munish…. The links are the same but the timeline is different.
Hi,
I am starting with data science course. Now I have two choice to start with:
1. Data science specialization from John Hopkins University on Cousera
2. The Analytics Edge on Edx
I am little confused which one to do first
@Munish..Though i am very late to replying this. I would go with the coursera’s course.
Hi, NSS:
Your article is really helpful. It seems that there is a wrong link in the sector 3.3 Feature Selection/ Engineering, the “Blog – A Comprehensive Guide to Data Exploration”‘s link is point to another pdf file.
@minxi…The link has been updated. Thanks for pointing that out.
Where would you suggest a transitioner starts who is also mathematician?
Hello NSS,
Seriously commendable efforts. What keep your guys ticking? Whatever, it will help! I am from a pure health science background, who had her hands in lots of things. The information out there is overwhelming. Your streamlining efforts are very helpful Thanks tons!
Toast to sharing!!
Hi NSS,
Thank you for providing such a clear guide, is has been very helpful in improving my analytic skills. Just a small confusion found in the article: Under feature selection / engineering, the first link to a blog article actually get me to the book ‘python for data analysis’. Wondering if this is intentional?
@Ross… The link has been updated. Thanks for pointing that out.
Great work pulling this together! Really appreciate it!!
Is it possible to do edx courses at our own pace??. As I have noticed that not all the units are uploaded at once.
Looks like the book “Mastering Feature Engineering” is not available anymore?
One of the most insightful and most comprehensive Data Science blog to cover all knitty gritties of Data Science Universe.In addition to this,the recently conducted Datafest AV 2017 , Mumbai region was one of the best opportunities for aspiring Data Scientists like us to explore more into the industry.Looking for more such meetups on Data Analytics and wishing you all a great luck ahead.
@NSS You are a God sent, I would like to thank you with all my heart , this is by far one of the most descriptive article I could find on internet for career explorers like me, thank you so much my friend, you are a blessing for the freshers.
Thanks for pointing out some of the differences between beginners in data science (like those who have no prior experience) and more intermediate members (like those who are already comfortable with building predictive Machine Learning models). I feel like knowing where you stand would definitely help you know what programs and learning paths would be the most useful for you to follow. A breakdown like this could be a useful tool for a business to help them organize their training program.
is there any already created Study Group?
Thank you very much for this article. However, do you have a mistake when putting the link on the “Feature Extraction/Engineering” part of the beginners’ path. It the same book of the previous link and not a blog as you said.
@Quoc Anh Trinh…..Thanks for pointing out. The link has been updated.
Hello NSS,
Thanks for this wonderful plan,however I have some query .As you have mentioned machine learning by Andre Ng, he recommends using Octave.But we are learning python/R ,so how should we follow up on his classes?
@Veena… andrew ng’s course is recommended for the theoretical knowledge. Also, if you wish to you can attempt exercises in R and Python but you won’t be able to submit the assignments.
NSS,
Your plan helped me a lot to get a direction on building my Analytics quotient.
I find the Probability course from edx is very theoretical and of course I am struggling with the course :(.
If you have any alternate equally effective Probability course in mind, do share your recommendation.
Thanks in advance.
What a great work for us new beginner!
Thanks so much for your article!
Hi NSS,
you have mentioned probability class from EDX to finish in 1 week,It would be great help if you can guide me how we can finish it in 1 week in most efficient way.I have started that class and was only able to cover half in 1 week.
Regards,
Aradhana
Thanks a lot for the information. its highly beneficial.
why isn’t hadoop listed here sir? shouldn’t it be mentioned. your views please ?
This is great and helpful information. Thank you for laying out these learning plans. I’m hoping to follow these plans and transition into data science after having taken time off from working in database development and having a baby.
Could you please advise on what a recommended computer/laptop specifications would be to learn data science? I would like to make sure I have adequate computing power.
Thank you!
Data Science Ecosystem is holistic and complex , It needs a lot of focus, discipline and commitment to do and achievement along with our routine professional and life cores . I am doing bits-and- pieces since 2 yrs (not disciplined way ), its over whelming and huge growth and career path is remarkable for those who do it hard way.
Thanks for Analytics Vidhya for helping 100-1000 students who dream and can make their BIG career in their life and in Data Science
Wow, this is easily the most comprehensive learning plan available. The biggest challenge is now to prioritize this list with other tasks and start learning.
Any tips from others who have successfully covered this kind of learning plan on their own would also be helpful.