CDN$ 29.78
  • List Price: CDN$ 47.99
  • You Save: CDN$ 18.21 (38%)
Only 1 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Add to Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Machine Learning in Action Paperback – Apr 19 2012

Amazon Price New from Used from
"Please retry"
CDN$ 29.78
CDN$ 29.35 CDN$ 36.73

Join Amazon Student in Canada

Frequently Bought Together

Machine Learning in Action + Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython + SciPy and NumPy: An Overview for Developers
Price For All Three: CDN$ 69.33

Show availability and shipping details

Customers Who Viewed This Item Also Viewed


Product Details

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) 21 reviews
52 of 56 people found the following review helpful
Little on Theory, Too Much on UI June 23 2012
By Jeremy Kun - Published on
Format: Paperback Verified Purchase
I agree with other reviewers' complaints on the repetitiveness and poor flow of this book, but I want to point out some other concerns and appreciations.

In the preface Harrington emphasizes the importance of knowing the theory and being able to connect the theory to the algorithms and applications. I wholeheartedly agree with this statement, but it appears Harrington forgot this was his stated goal. The mathematics contained in the book is wishy-washy and vague, and its connections to the algorithms is at best tenuous. Harrington rarely explains why a particular formula is used, and when he does he's really explaining how it's used and not why it makes sense to use it (given, this is a common criticism of applied mathematics). He will often throw in mathematical jargon without a useable explanation. And for every paragraph spent on mathematical theory, five paragraphs are spent on how to use various third-party libraries for graphing, UI, and data collection (e.g., Tkinter, Matplotlib, Yahoo! PlaceFinder API, Google Shopping API, etc.). These are great, but they massively clutter the text. I'd much rather have a 200 page appendix than have circuitous detours sprinkled throughout the book.

One big plus is in his treatment of support vector machines. He includes (unlike many texts which are solely about support vector machines) a complete python implementation of the Sequential Minimal Optimization algorithm. That being said, it's a horrendous piece of code clearly not written for legibility. This page (page 109) is littered with at least fifteen 1-3 letter variable names and pointless statements like "if L==H: print 'L==H'; continue". Harrington is apparently afraid of using whitespace, and as the function goes on it becomes increasingly cramped and impossible to read (mostly due to the pervasive use of backslashes to denote line continuations). Instead of breaking the code into functions and explaining the pieces, Harrington uses a comment-style typeset code annotation. In my opinion this only helps to clutter the page. It's clear this piece of code (as with his other code samples) were heavily constrained by the page width. It's the author and editor's job to compensate for that; they failed.

So while this book has a lot of valuable resources in it, they should fix it in two ways. First, quit pretending this is a useful mathematical treatment. Second, reorganize.

I will say at least, that with these minor modifications, this text is *vastly* better than Marsland's attempt, "Machine Learning, an Algorithmic Perspective."
45 of 52 people found the following review helpful
Great idea, terrible execution June 15 2012
By del08751 - Published on
Format: Paperback Verified Purchase
Using Python and NumPy code to teach machine learning is a great idea. Well-written Python is so easy to understand that it's often called 'executable pseudocode', and third-party extensions such as NumPy and SciPy make it competitive with platforms like Matlab for math and science application programming. The author seems to know his subject, and he had another good idea when deciding to structure the book around the ten most popular machine learning algorithms (though he only ends up covering eight of them for reasons he explains in the introduction). Unfortunately, the book is poorly written and even more poorly edited; it reads like a very rough draft that was put once through a spell-checker and then published. The text is repetitive, confused, and often doesn't match up with the code and data sets to which it refers. Color-coded figures are published (in the print edition) in black and white. I'd hesitate to trust this author and publisher again (not to mention the reviewers who gave the book four or five stars).
24 of 26 people found the following review helpful
Good attempt but needs LOT of improvement June 16 2012
By Arun R - Published on
Format: Paperback Verified Purchase
Looking at many good reviews on amazon, I decided to purchase this book. It's a decent book, but IMO it has been edited poorly and the code has not been tested properly.

The introduction chapter got me really excited, just like other Manning's "in Action" books do. But once I started executing the code in chapter 2 "Classifying with k-nearest neighbors" I realized that the code had bugs. Though I could figure out what's wrong and fix the bugs, I did not expect this from Manning, after having read some of their excellent books like (The Quick Python Book, Second Edition, Spring in Action and Hadoop in Action).

Moreover the book has some introduction to python and numpy in appendix A. I believe the author could have pointed the reader elsewhere for learning python and those pages could have been used to explain more of numpy and matplotlib, which the author uses freely without any explanation in the text. (Yup, be ready to read some online numpy and matplotlib tutorials and documentation.)

If you don't know python, then you can do what I did: read The Quick Python Book, Second Edition and then attempt this book.

The figures in the book are not in color so you need to execute the code to understand what the author is telling. It forces you to actually run the code, which is good, but you can't read this book without a computer in front of you.

Finally, I am a big believer in following the conventions of a language. I would have been really happy had the author followed PEP8 ([...]), because along with learning machine learning, you could have learnt some good python coding practices.
8 of 10 people found the following review helpful
Good text, very bad code June 18 2012
By Felix Rabinovich - Published on
Format: Paperback
I am new to ML, and I found this book to be easy to read and easy to understand. So, from theoretical perspective it's probably a very good book. However, the code samples are just terrible. Obviously, the author is a scientist, and needs a competent developer that can help him with code samples. For some reason he feels the need to praise Python. As result, there is a code sample that says "This code is a great place to demonstrate how easy it is to process text with Python", but the example has at least three bugs in 15 lines of code - so the comment turns a compliment into embarrassment.

Unfortunately, in many cases the author doesn't explain what he is trying to achieve with his code snippets. Once that is clear, there is usually a much simpler way to accomplish the same thing; with less numpy calls and more regular Python. I get an overall feeling that the book is for mathematicians and statisticians, who will look at code snippets as illustrations - and not for programmers. This feeling is reinforced by the fact that many code snippets in my electronic copy are *images* where nothing can cut and pasted; not to mention that 'el' and 'one', 'oh' and 'zero' look the same.

Last, the book is published in 2012, but the author seems completely oblivious to the fact that there is Python 3 in the market.

In summary, if this text was accompanied by competent code - it probably would be the best book on the subject
3 of 3 people found the following review helpful
Great complement to other books Sept. 24 2013
By Ryan M. Balfanz - Published on
Format: Paperback
I first borrowed an electronic copy after losing my hardcopy of Collective Intelligence. I skimmed all of the text and read more thoroughly several sections which appealed to me during a long car trip. I did not have my laptop with me to run through any of the code while in the car, so I did not scrutinize it like some others reviewers. Actually, I didn't think much of the code in a positive or negative way at all, while reading the PDF. They may not be production-ready but they should get the meaning across.

As compared to Collective Intelligence, a book I owned for several years, I think it is a wonderful complement. Machine Learning in Action is more math-y, which is something I particularly enjoy about it. I probably won't go pick up another copy of CI now that I have a hardcopy of this, however.

I give it 5 stars because it does what I want it to do -- that is, increase my learning, give a bit more depth to some topics as compared to other texts, and be able to act as a quick reference when I need it. I would suggest to the author: additional use of libraries suck as scikit-learn. I say that because that's the first place I went to actually try and put into practice some things I picked up after reading.