At its core, this book is about machine learning. It's not yet another of those "How to use scikit-learn" type of guides. However, I will use scikit-learn heavily since its API is really great, it is really easy to learn and use, and I think it is the most commonly used library for machine learning anyway. Thus, if you want to apply machine learning to your real-world problems, scikit-learn is probably the library you want to be comfortable with.
That being said, we will also implement algorithms from scratch ourselves! There are a couple of reasons why I chose this approach.
- We will better understand the algorithm if we implement it step by step
- We will gain practice in implementing algorithms, which is a useful skill to have
- We will implement algorithms that are not implemented in libraries such as scikit-learn yet but are useful for real-world applications
Scikit-learn is just one of the "many" options to put machine learning into action once you understand the basic concepts and workflows, which are the focus areas of this book. However, you will learn almost everything there is to know about scikit-learn too so that you can immediately apply your new skills to problem-solving.
Other libraries we will learn about are SciPy, NumPy, matplotlib, pandas, seaborn, Theano, just to name a few! Basically all the essentials for machine learning and "data science" in Python!
Below is the tl;dr summary of the core libraries that you will encounter in this book -- everything is open-source and freely available of course ;)