Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Machine Learning in Action [Paperback]

Peter Harrington

List Price: CDN$ 47.99
Price: CDN$ 29.78 & FREE Shipping. Details
You Save: CDN$ 18.21 (38%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 4 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Tuesday, September 16? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Paperback CDN $29.78  
Save Up to 90% on Textbooks
Hit the books in Amazon.ca's Textbook Store and save up to 90% on used textbooks and 35% on new textbooks. Learn more.
Join Amazon Student in Canada


Book Description

April 19 2012 1617290181 978-1617290183 1

Summary

Machine Learning in Action is unique book that blends the foundational theories of machine learning with the practical realities of building tools for everyday data analysis. You'll use the flexible Python programming language to build programs that implement algorithms for data classification, forecasting, recommendations, and higher-level features like summarization and simplification.

About the Book

A machine is said to learn when its performance improves with experience. Learning requires algorithms and programs that capture data and ferret out the interesting or useful patterns. Once the specialized domain of analysts and mathematicians, machine learning is becoming a skill needed by many.

Machine Learning in Action is a clearly written tutorial for developers. It avoids academic language and takes you straight to the techniques you'll use in your day-to-day work. Many (Python) examples present the core algorithms of statistical data processing, data analysis, and data visualization in code you can reuse. You'll understand the concepts and how they fit in with tactical tasks like classification, forecasting, recommendations, and higher-level features like summarization and simplification.

Readers need no prior experience with machine learning or statistical processing. Familiarity with Python is helpful.

Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

What's Inside
  • A no-nonsense introduction
  • Examples showing common ML tasks
  • Everyday data analysis
  • Implementing classic algorithms like Apriori and Adaboos
Table of Contents
    PART 1 CLASSIFICATION
  1. Machine learning basics
  2. Classifying with k-Nearest Neighbors
  3. Splitting datasets one feature at a time: decision trees
  4. Classifying with probability theory: naïve Bayes
  5. Logistic regression
  6. Support vector machines
  7. Improving classification with the AdaBoost meta algorithm
  8. PART 2 FORECASTING NUMERIC VALUES WITH REGRESSION
  9. Predicting numeric values: regression
  10. Tree-based regression
  11. PART 3 UNSUPERVISED LEARNING
  12. Grouping unlabeled items using k-means clustering
  13. Association analysis with the Apriori algorithm
  14. Efficiently finding frequent itemsets with FP-growth
  15. PART 4 ADDITIONAL TOOLS
  16. Using principal component analysis to simplify data
  17. Simplifying data with the singular value decomposition
  18. Big data and MapReduce

Special Offers and Product Promotions

  • 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$ 70.07


Customers Who Viewed This Item Also Viewed


Product Details


Product Description

About the Author

Peter Harrington holds a Bachelors and a Masters Degrees in Electrical Engineering. He is a professional developer and data scientist. Peter holds five US patents and his work has been published in numerous academic journals.


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

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.6 out of 5 stars  21 reviews
54 of 58 people found the following review helpful
2.0 out of 5 stars Little on Theory, Too Much on UI June 23 2012
By Jeremy Kun - Published on Amazon.com
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
1.0 out of 5 stars Great idea, terrible execution June 15 2012
By del08751 - Published on Amazon.com
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
3.0 out of 5 stars Good attempt but needs LOT of improvement June 16 2012
By Arun R - Published on Amazon.com
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.
6 of 7 people found the following review helpful
2.0 out of 5 stars Poor Code Samples Dec 24 2012
By John Leitch - Published on Amazon.com
Format:Paperback
As a book that targets developers, I expected Machine Learning in Action to have clear and concise code samples. The author's language of choice, Python, further compounded this expectation; while I am personally not a fan of Python, it carries a well deserved reputation for being extraordinarily readable. Unfortunately, the samples suffer from serious readability issues due to violations of basic programming principles.

Since I found the violations of the Don't Repeat Yourself (DRY) principle to be both the most prolific and impactful, I will share some examples. Sorry about the lack of indentation; apparently Amazon does not like whitespace.

Page 53:
xMid = (parentPt[0]-cntrPt[0])/2.0 + cntrPt[0]
yMid = (parentPt[1]-cntrPt[1])/2.0 + cntrPt[1]

Page 70:
if trainCategory[i] == 1:
p1Num += trainMatrix[i]
p1Denom += sum(trainMatrix[i])
else:
p0Num += trainMatrix[i]
p0Denom += sum(trainMatrix[i])

Page 79:
wordList = textParse(feed1['entries'][i]['summary']
docList.append(wordList)
fullText.extend(wordList)
classList.append(1)
wordList = textParse(feed0['entries'][i]['summary']
docList.append(wordList)
fullText.extend(wordList)
classList.append(0)

Page 90:
if int(labelMat[i]) == 1:
xcord1.append(dataArr[i,1]); ycord1.append(dataArr[i, 2])
else
xcord2.append(dataArr[i,1]); ycord2.append(dataArr[i, 2])

Keep in mind these are just the examples I found by doing a cursory scan while writing this review. A few instances would have been forgivable, but the problem is widespread and it had a major impact on my ability to reason about the code. Unless a revised edition with cleaner code is released (and I hope it is, there's a lot of potential here) I cannot recommend this book.
8 of 10 people found the following review helpful
3.0 out of 5 stars Good text, very bad code June 18 2012
By Felix Rabinovich - Published on Amazon.com
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

Look for similar items by category


Feedback