Python Machine Learning by Sebastian Raschka & Vahid Mirjalili

Python Machine Learning by Sebastian Raschka & Vahid Mirjalili pdf

Python Machine Learning – Machine learning is eating the software world, and now deep learning is extending machine learning. Understand and work at the cutting edge of machine learning, neural networks, and deep learning with this second edition of Sebastian Raschka’s bestselling book, Python Machine Learning. Thoroughly updated using the latest Python open source libraries, this book offers the practical knowledge and techniques you need to create and contribute to machine learning, deep learning, and modern data analysis.

Fully extended and modernized, Python Machine Learning Second Edition now includes the popular TensorFlow deep learning library. The scikit-learn code has also been fully updated to include recent improvements and additions to this versatile machine learning library.

Sebastian Raschka and Vahid Mirjalili’s unique insight and expertise introduce you to machine learning and deep learning algorithms from scratch, and show you how to apply them to practical industry challenges using realistic and interesting examples. By the end of the book, you’ll be ready to meet the new data analysis opportunities in today’s world.

If you’ve read the first edition of this book, you’ll be delighted to find a new balance of classical ideas and modern insights into machine learning. Every chapter has been critically updated, and there are new chapters on key technologies. You’ll be able to learn and work with TensorFlow more deeply than ever before, and get essential coverage of the Keras neural network library, along with the most recent updates to scikit-learn.

What you will learn

  • Understand the key frameworks in data science, machine learning, and deep learning
  • Harness the power of the latest Python open source libraries in machine learning
  • Explore machine learning techniques using challenging real-world data
  • Master deep neural network implementation using the TensorFlow library
  • Learn the mechanics of classification algorithms to implement the best tool for the job
  • Predict continuous target outcomes using regression analysis
  • Uncover hidden patterns and structures in data with clustering
  • Delve deeper into textual and social media data using sentiment analysis

Table of Contents

  1. Giving Computers the Ability to Learn from Data
  2. Training Simple Machine Learning Algorithms for Classification
  3. A Tour of Machine Learning Classifiers Using Scikit-Learn
  4. Building Good Training Sets – Data Preprocessing
  5. Compressing Data via Dimensionality Reduction
  6. Learning Best Practices for Model Evaluation and Hyperparameter Tuning
  7. Combining Different Models for Ensemble Learning
  8. Applying Machine Learning to Sentiment Analysis
  9. Embedding a Machine Learning Model into a Web Application
  10. Predicting Continuous Target Variables with Regression Analysis
  11. Working with Unlabeled Data – Clustering Analysis
  12. Implementing a Multilayer Artificial Neural Network from Scratch
  13. Parallelizing Neural Network Training with TensorFlow
  14. Going Deeper – The Mechanics of TensorFlow
  15. Classifying Images with Deep Convolutional Neural Networks
  16. Modeling Sequential Data using Recurrent Neural Networks

What’s the key takeaway from your book?

That machine learning can be useful in almost every problem domain. I cover a lot of different subfields of machine learning in my book; by providing hands-on examples for each one of those topics, my hope is that people can find inspiration for applying these fundamental techniques to drive their research or industrial applications.

Also, using well-developed and maintained open source software makes machine learning very accessible to a broad audience of experienced programmers, as well as people who are new to programming. And by introducing the basic mathematics behind machine learning, we can appreciate machine learning being more than just black box algorithms, giving readers an intuition of the capabilities but also limitations of machine learning, and how to apply those algorithms wisely.

Book Review by SK LogW

Good balance of theory and code. Excellent for people who already have intermediate stats/ML knowledge.

This book is excellent for the following demographic:

People who already have a decent level of skill and experience in statistics who want to:
– 1) Elevate their understanding of ML techniques without absolutely breaking their skull on dense theory
– 2) Learn how to implement the algorithms in Python and gain moderate proficiency in sci-kit learn

I would say it’s not a beginner’s book, but more for intermediates. I am half-way through and find it a little challenging, but definitely attainable. This balance I consider to be putting me right in the sweet spot for learning. To judge whether you’re a good candidate for this book, you can compare your experience and skill to me :

I started this book after earning a PhD in the social sciences, which basically gave me good coverage in inferential and applied statistics (T, F distributions, p-values, confidence intervals, linear regression, one-way and factorial ANOVA, PCA, etc.). I also took a machine learning graduate course at my university and a few online courses in introductory ML for R. All of this background gave me solid grounding in statistics. With all this I still find this book somewhat challenging, but definitely not too hard. I’d say without my background I would find this book hard to get through.

There is linear algebra, concepts like minimizing cost functions, bias/variance tradeoff, learning from errors, etc. So, if you are just starting out or reading the previous sentence and don’t know what I’m talking about, I would recommend learning more stats fundamentals before starting this.

After you gain some proficiency in stats, come learn this book and elevate your understanding of the algorithms, add nuance to them, integrate them into your mental conceptual structures more fully (e.g. you’ll know more nuances of ML, e.g. which subsets of algorithms are preferred for controlling more of the bias, variance, how random forest is basically bagging with a twist, how adaboost’s treatment of classification errors has kind of an element of perceptron implementation, and many more).

Editorial Reviews


“I bought the first version of this book, and now also the second. The new version is very comprehensive. If you are using Python – it’s almost a reference. I also like the emphasis on neural networks (and TensorFlow) – which (in my view) is where the Python community is heading.

I am also planning to use this book in my teaching at Oxford University. The data pre-processing sections are also good. I found the sequence flow slightly unusual – but for an expert level audience, it’s not a major issue.”–Ajit Jaokar, Data Science for IoT Course Creator and Lead Tutor at the University of Oxford / Principal Data Scientist

We also Recommend

About the Author

Sebastian Raschka, author of the bestselling book, Python Machine Learning, has many years of experience with coding in Python, and he has given several seminars on the practical applications of data science, machine learning, and deep learning, including a machine learning tutorial at SciPy – the leading conference for scientific computing in Python.

While Sebastian’s academic research projects are mainly centered around problem-solving in computational biology, he loves to write and talk about data science, machine learning, and Python in general, and he is motivated to help people develop data-driven solutions without necessarily requiring a machine learning background.

Vahid Mirjalili obtained his PhD in mechanical engineering working on novel methods for large-scale, computational simulations of molecular structures. Currently, he is focusing his research efforts on applications of machine learning in various computer vision projects at the Department of Computer Science and Engineering at Michigan State University.

Vahid picked Python as his number-one choice of programming language, and throughout his academic and research career he has gained tremendous experience with coding in Python. He taught Python programming to the engineering class at Michigan State University, which gave him a chance to help students understand different data structures and develop efficient code in Python.