Python Machine Learning: A Comprehensive Handbook for Machine Learning
Stop Taking Machine Learning Courses. Use this Book Instead
Motivation
Congratulation! You decided to break into data science and machine learning. You may have taken some courses in machine learning online or even taken several hands-on machine learning projects.
But wait, you are given a dataset without labels and you are expected to label and categorize the target feature in your data. Which machine learning algorithm should you use?
If you could not answer this question right away, you should not doubt your ability and start taking or retaking a whole course on machine learning. I spent a whole semester on an intense machine learning course but still couldn't answer this question right away.
That is because there are so many types of data and many methods to handle them. There are three ways that you could find the solution to your question:
- Search on Google
- Read articles
- Use technical books
I often use the first option when searching for a solution to a particular problem, but what if I don’t even know how to name the problem in Google? If I don’t know that I am dealing with an unsupervised learning problem, how do I even search on Google for that?
You don’t know what you don’t know
That is when articles and the technical books come in handy: You learn ways to deal with different problems or to optimize upon what you already know. I even organized my data science articles with Github issues.
When I want to get a solid foundation of a concept, I prefer the structure that comes from reading books. Authors often spent months or years on the book to condense their experience into one book. Thus, you are getting their years of experience by reading it.
If you are looking for a book that gives comprehensive knowledge on machine learning, Python Machine Learning by Sebastian Raschka & Vahid Mirjalili is a book I strongly recommend.
A Review of Python Machine Learning
I know you are selective when it comes to learning resources because you prefer to spend your limited time on the best resources. That is why I will make it easier for you to decide if this will be a good read by giving an honest review of the book. These are what I like from the book:
Comprehensive
The book covers many important concepts of machine learning. These are some topics that are covered:
- Different machine learning algorithms with scikit-learn
- Various ways to preprocess the data
- Dimension reduction methods
- Best practices for model evaluation and hyperparameter tuning
- Regression analysis
- Work with unlabeled data
- Deep learning with TensorFlow
- Reinforcement learning
- Natural language processing
- Image processing
- Deploy a machine learning model with Flask
These topics are important concepts of machine learning. I was not even aware of some of them before reading this book. Since this book is comprehensive, I either use it to explore new concepts or improve my existing approach to solving a problem.
Short but Sweet Explanation
This book is ideal for those who do not need to get an in-depth mathematical understanding of the algorithms but still want to get an idea of how and when to use the algorithms.
The book explains the inner workings of each method with bullet points and summarization. The summarization uses words, not pseudocodes. This helps readers to understand the concepts without getting lost.
Math is still provided for those who want to understands the math behind the algorithms but just enough so that you could understand the inner workings of the algorithms.
Compare and List Pros and Cons
There are many similar machine learning techniques to solve one problem. Without knowing the pros and cons of each method, it is difficult for you to know which one to use in a particular problem. So it is wise for you to ask: “Yes I know this is a great algorithm but why should I use this one instead of another?”
This book provides the advantages and disadvantages of each technique so you don’t need to take extra effort to find the answer yourself.
Python Code and Visualization
The algorithms are not implemented from scratch but implemented with scikit-learn, a popular Python machine learning library. Thus, you know how to use the algorithms for your dataset.
Visualization also makes it easy to compare different algorithms. The codes to reproduce these visualizations are also provided.
You Can Jump between Different Sections without Getting Lost
Most of the time when you read the book, you are interested in some concepts more than the others. But you may be afraid to get lost at the chapter you are reading because you haven’t read the previous chapters.
A great thing about this book is that each section requires minimal knowledge from previous chapters to follow along. So you can just use the book as the dictionary to look up unknown or interesting concepts without the obligation of reading the entire book. In fact, this is how I suggest you should read the book.
How to Efficiently Read the Book
Technical books are often drier than other kinds of books. So it is important to read them in the right way so that you stay engaged and actually learn and apply the concepts you learn from the book. I will share some techniques that work for me when reading this book:
- Skim over the book or look at the table of contents to see what interests you. Then jump to the topic you are interested in and get a brief understanding of what that section is about. Skip many sections and just explore a few concepts that you are passionate about. That will keep you engaged in the book.
- In each section, you will find the theory, math, and code. If you don’t care about the math so much, you could read briefly through the math or omit it completely.
- Apply what you learned from the book with your own dataset. This will help you understand in-depth the algorithms and know how to use them.
Conclusion
I hope this article is helpful for you to know what the book Python Machine Learning is about and to decide whether it should be in your reading list. Machine learning is not easy and it is impossible to memorize all concepts of machine learning.
If you decide to move to a new country that uses different language from your country, do you need to know every single word of that language? No, you will never be able to move to that country if that is your approach. Learn enough vocabulary to have a simple conversation with native speakers then look up in the dictionary the vocabulary that you don’t know. That is how you should treat this book: a dictionary to help you with your project and improve your skills when you need it.
Find more about this book here.
I like to write about basic data science concepts and play with different algorithms and data science tools. You could connect with me on LinkedIn and Twitter.
Star this repo if you want to check out the codes for all of the articles I have written. Follow me on Medium to stay informed with my latest data science articles like these:
