 I've been working as a data scientist for about two and a bit years and over this time I've learned a lot and really specialised in machine learning. To me machine learning is by far the most interesting part of being a data scientist and is the main reason why people want to get into the field. In this video I'm going to explain to you the steps I would take if I had to learn machine learning again from scratch. Let's get into it. The first step I would do is learn the required maths. Machine learning is all about algorithms and algorithms are just a sequence of mathematical operations. An algorithm can be implemented in different ways in different programming languages but its underlying mathematical structure stays the same. Many people would argue that you don't need to know all the maths behind machine learning algorithms because a lot of the modern day libraries and packages abstract this for you. However in my opinion if you really want to be a top level data scientist or machine learning engineer then you must know the basics of linear algebra, statistics and calculus. You don't need to understand all these things to a masters or PhD level but having some basic intuition and be able to answer questions such as what is a gradient, how do you multiply matrices and what is the maximum likelihood estimation. These three things I just mentioned are the bedrock of the majority of machine learning algorithms and having a strong foundation in these areas will set you up for success later on. Now there are numerous online sources that you can use to learn about calculus, statistics and linear algebra. However the one I recommend the most is the free co-camp videos online. They're thorough and they explain everything in such a clear manner. You can also use online websites such as Khan Academy and Brilliant.org to supplement your learning and get more intuition and more context behind these topics. My main advice would be pick one course, complete it and move on. You can always come back at a later date or even Google something you're stuck on later on. After learning the required maths I'll then move on to learning Python which is a go-to language for machine learning. Most people get stuck at the beginner stage trying to find the best course to learn Python. However any introductory course will teach you the same things and so you don't worry too much about this. The ones I recommend would be tutorials, points, W3 schools or again free co-camp. All of these would teach you the same topics in a different way so it's best to find the course the sooner needs the most but like I said any intro to Python course will be sufficient. The main things you should make sure you learn in these courses are Python native data structures such as dictionaries, lists and sets, F in conditional flows, 4 in wild loops, functions and classes and some basic math functions that come with the package. My most important advice is to make sure you code alongside the course. Getting that hands-on experience will help solidify your understanding and make sure the concepts sink in. After you've learned the basics of Python it's now time to move on to learn the more specific data science and machine learning packages. The first one I recommend you learn is NumPy. NumPy is a library designed for scientific computing and is especially targeted for handling arrays and matrices. Arrays and matrices appear everywhere in machine learning so they're definitely well worth knowing about. The second library I recommend learning is Pandas. Pandas is a go-to library for transforming loading and analyzing your data. It's basically a one-stop shop for data analysis which is really important for most machine learning projects. And finally the third package I recommend you learn is Mapplotlib. Mapplotlib is basically just a visualization package so you can visualize all your data, plots and results that you may get from your machine learning algorithm. For these three libraries again I really recommend the free CodeCon videos on YouTube. They're really extensive, give you a real good experience and they pretty much cover anything you may need to build a machine learning algorithm. I'd also recommend learning and installing Anaconda. Anaconda is a software distribution of Python and it's basically designed for scientific computing. It comes with all the required packages, Python, Jupyter Notebook and even has its own environment manager. It's very useful for your machine learning projects so I definitely recommend you learn it. Again to learn about Anaconda I recommend a free CodeCon video, they're simple, easy to understand and should only take you about an hour to set up. Like with the previous section don't spend too much time learning the ins and outs of these packages. Just learn the basics and you can always come back at a later date or even google anything you're stuck on. After you've got your maths and Python down now it's time for the fun part and to start learning some machine learning theory. The course I recommend to begin with would be Andrew Erng's machine learning specialization course. I took this course back in 2020 when it was still an Octave and Matlab. However since then it's been revamped and it's now in Python and it even covers some more of the specialized skills such as reinforcement learning and recommendation systems. The course will teach you that A to Z machine learning, giving you real hands on experience and also teaching you some of the top notch machine learning libraries such as TensorFlow, PyTorch, XGBoost and Scikit-learn. Even though this course is beginner level it will cover pretty much any question you'll get asked in any ML interview particularly if you're applying for entry level roles. The next course I recommend is a deep learning specialization also by Andrew Erng. This course is a subsequent course to machine learning one and will specifically focus on deep learning. The things you will learn will include convolutional neural networks, recurrence neural networks and will even hint a bit about large language models right at the end. Although these two courses will cover pretty much all the theory you probably need particularly at beginner level it's important and also recommended that you supplement your learning with your own research and find areas you really like and you can dig deeper in. The best way to learn anything is through practice and hands-on experience. This is by far the most important step in learning ML and it really will solidify your understanding. I would begin by entering a Kaggle competition. The sole goal is not to win or to earn money but to try your hand at implementing a machine learning algorithm to solve a real world business problem. Try to also enter a variety of competitions. The most common ones I see on Kaggle are time series forecasting, CNNs for image recognition and even large language modeling. It's good to have a variety of models you build to show potential employers and interviewers. Another method I use to really solidify my understanding was to build an ML algorithm from scratch. Being able to write an ML algorithm from first principles using basic libraries such as NumPy will really tell you and make you understand how these algorithms actually work under the hoods. You can start really small such as building a linear regression algorithm using gradient descent and then you can slowly build complexity all the way up to building your own neural network. If you want to take things to the next level then you have to show your work. This is an asymmetric system. Doing that extra 20% of effort will put you ahead of 80% of people. The easiest way to get started is through blogging. You can blog about ML concepts or algorithms and this will really solidify your understanding. It is often said that you only remember 10% of what you read but 95% of what you teach. Not to mention many people don't have a blog so put your head of majority of people in your field. You can start writing about anything such as what are neural networks and how do Markov chains work. The point is just to start and over time you can write about more complex topics and you have a niche that you want to specialize in your machine learning career into. To go even further and above just simply writing a blog you should really implement a research paper. Now in my personal experience I found this very tough but very valuable and rewarding. To find papers I recommend you check out ML papers of the week. It basically does what it says on the tin and it's a Twitter account and a newsletter which every week sends you a list of the top 10 papers published that week along with some key links to those papers. Along this process you'll learn so much and you really will be at the cutting edge of machine learning learning all the top tier skills that researchers use nowadays. So these are steps I would take if I was learning machine learning from scratch again. It's important to note that no one size fits all and the way I would do it may be different to you due to different experience and education. However I hope you gained at least some advice or some guidance on how you can take your machine learning roadmap in 2024. If you enjoyed this video and want to see more content like this on this channel then make sure you click the like and subscribe button and I'll see you in the next one.