Author: Sebastian Raschka and Vahid Mirjalili Publisher: Packt Pages: 622 ISBN: 9781787125933 Print: 1787125939 Kindle: B0742K7HYF Audience: Python developers interested in machine learning Rating: 4.8 Reviewer: Mike James Python and machine learning are made for each other.
Machine learning is important now and can only become more important in the future. Python is a language that is much used in data processing and scientific computing and so it is a natural for the subject of machine learning. This book introduces the ideas in a practical way using all of the standard libraries that have accumulated around Python. This second edition also has a much expanded coverage of Tensorflow, which seems to have become the most used package for this sort of computation.
This book introduces machine learning in the broad sense. Many of the techniques would have been called statistics not so long ago. It does cover neural networks and deep learning, but this isn't the only topic. If you are looking for something that focuses on deep learning then you probably need a different book.
The book assumes that you know Python and don't need any explanations of how to get a program up and running. It presents a lot of code and practical examples. You can download the code and try things out. The technical level isn't that high, but be warned there are lots of equations. This isn't a deep theory book but it isn't for the complete beginner either. The ideas are explained reasonably well and as long as you have some idea about math and programming you will get something out of it.
After the usual introductory chapter on what machine learning is and setting up the Python packages you need, the book moves on to look at the first machine learning technique  the Perceptron. You get to implement one in Python and its near neighbour, but much less well known, Adaline. It is nice to see classic datasets being used  Fisher's Iris data must have been used to teach a lot of machine learning practitioners over the years!
Chapter 3 uses scikitlearn to investigate some classical techniques  logistic regression, SVM and decision trees. Chapter 4 is about working with data  always the most difficult and specific aspect of any project. Oddly at the end of the chapter we have a discussion of L1 and L3 regularization and random forests  surely these should be in another chapter?
Chapter 5 is another classical set of techniques that so many machine learning books ignore. Dimension reduction is important but the techniques are far less well known than more recent approaches such as the autoencoder. After dealing with standard Principle Components Analysis (PCA) we have an account of Linear Discriminant Analysis (LDA) and finally kernel PCA to account for nonlinearities. LDA in particular is almost a forgotten approach, but it is a powerful technique that can give you insights into your data. There is no mention of multidimensional scaling as a dimension reduction method, but this is less important.
From here we move onto model evaluation and how to use cross validation and the various forms of performance measurement. Chapter 7 introduces the interesting idea that two or more classifiers are better than one  ensemble learning. Chapter 8 is a sort of case study on using machine learning for sentiment analysis and Chapter 9 converts this into a web application using PythonAnywhere.
Chapter 10 gets back to the main subject with a closer look at linear regression. The chapter goes into regularized regression, ridge and lasso. It also covers polynomial regression, but not stepwise regression. For some strange reason this most useful technique hardly ever seems to be covered in machine learning books. What is more there is also a stepwise version of discriminant analysis that is also ignored even though it is very useful in feature selection problems.
Chapter 11 is a basic introduction to cluster analysis. It's not very complete, but enough for you to decide if you might need to use it. If you do then my recommendation for the best book on this topic is still Cluster Analysis 5th Edition by Brian S. Everitt, et al.
Chapter 12 is the start of a block of chapters on neural networks and implementing them in TensorFlow. The usefulness of these chapters is varied. Certainly if your main interest is in TensorFlow then you probably need a different book. The best parts are the general discussion of neural networks. If you follow the examples you get to repeat some classic experiments on the MNIST dataset for example. The chapters on TensorFlow do their best to explain how it all works but it doesn't really work  you need to get to grips with TensorFlow at both a higher level and in more detail than these chapters allow. The final chapters cover convolutional networks reasonably well and introduce the topic of recurrent neural networks. The big problem with covering convolution neural networks is the connection with image processing and pattern recognition and neither topic is covered  it would have to be a much bigger book to do so. Recurrent neural networks are possbly the toughest topic in machine learning at the moment and this book will only just get you started. The final chapter is a pair of projects using recurrent networks.
This is a good book on AI if you want to work in Python. It isn't focused on neural networks and only about a third of the book is on this subject. If you want a book entirely on neural networks then this isn't it. If you want a book that covers the broader field with practical examples then this is a book you should consider. Notice that it isn't exhaustive of the traditional statistical approaches to machine learning and it isn't exhaustive on neural networks  specifically there's no coverage of autoencoders and nothing about differentiable learning, but it can be forgiven these shortcomings as these topics are not mainstream.
If you are or want to be a Python programmer working with a wide range of machine learning techniques, I can recommend Python Machine Learning.
(click cover to purchase from Packt)
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.
nginx A Practical Guide to High Performance
Author: Stephen Corona Publisher: O'Reilly Media Pages: 250 ISBN: 9781491924778 Print: 1491924772 Audience: Admins and full stack developers Rating: 4.5 Reviewer:Nikos Vaggalis
Power up your web sites with nginx

Thoughtful Machine Learning with Python
Author: Matthew Kirk Publisher: O'Reilly Pages:250 ISBN: 9781491924136 Print: 1491924136 Kindle:B01N12DLF9 Audience: Non maths oriented programmers wanting to get into machine learning. Rating: 2 Reviewer: Mike James
A book on AI in Python, what could be better?
 More Reviews 
<ASIN:0470749911> 