Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it. Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:

  • Collaborative filtering techniques that enable online retailers to recommend products or media

  • Methods of clustering to detect groups of similar items in a large dataset

  • Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm

  • Optimization algorithms that search millions of possible solutions to a problem and choose the best one

  • Bayesian filtering, used in spam filters for classifying documents based on word types and other features

  • Using decision trees not only to make predictions, but to model the way decisions are made

  • Predicting numerical values rather than classifications to build price models

  • Support vector machines to match people in online dating sites

  • Non-negative matrix factorization to find the independent features in a dataset

  • Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game

Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you.

"Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details."

-- Dan Russell, Google

"Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths."

-- Tim Wolters, CTO, Collective Intellect

Subscriber Reviews

Average Rating: 4.625 out of 5 rating Based on 8 Ratings

"Useful book on machine learning, etc." - by Alex Ott on 20-JUL-2011
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Very good introduction into machine-learning, information retrieval & data mining related questions. Could be used to get high-order overview of corresponding topics, especially by non-CS peoples.
Report as Inappropriate

"A 'Hands On' book on Artificial Intelligence" - by Tushar Goswami on 14-MAR-2011
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
After digesting some half a dozen books over the past few years on AI & NLP, I have had enough of 'theoretical' & 'over detailed description' of AI fundamentals & algorithms. Toby's book came as pleasant surprise as it was packed with copy-pastable ready to run code, which would demonstrate every AI algorithms that Toby explained a paragraph before. Since then I have been referring Toby's book as a more 'Applied & Hands-On' AI book than others.

But its not the copy-pastable code alone, the Chapter 12 which gives a Black-&-White comparison of AI algorithms comes handy when you want to measure the shortcomings & strengths of various algorithms (by the way, you may also want to compare efficiency between algorithms by using on AI toolkit, like the Weka UI). This eagle's eye comparison of algorithms does its bit in helping you choose the direction of algorithm suitable for your needs.

Taking into account Toby's contribution in Metaweb - now part of Google (which once was considered a strong contender to come up with the first ever semantic search engine), you know that you are learning from an AI veteran through this book

One another AI book which I find pretty much hands-on is 'Collective Intelligence in Action' by Satnam Alag. Reading both of these books may significantly add to the planning & coding of your AI applications

Report as Inappropriate

"Small Bug" - by TomSmith on 06-JUL-2010
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
On pg 32, feedlist doesn't get initialised or appended with feedurl anywhere... in the

feedlist = []
for feedurl in file('feedlist.txt'):
    feedlist.append( feedurl )

Report as Inappropriate

"Quantative Analysis" - by cs96ai on 16-JAN-2011
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
If you've looking for a great book on machine learning and support vector machines this is the book to buy.  I didn't need a book that went in to the detail on the math of ML and SVM but I wanted to learn how to implement ML and SVM in my code.  Python is easy to read and the author does a great job walking through examples.
Report as Inappropriate

Table of Contents



The publisher has provided additional content related to this title.


Visit the catalog page for Programming Collective Intelligence

  • Catalog Page

Visit the errata page for Programming Collective Intelligence

  • Errata

Download the supplemental electronic content for Programming Collective Intelligence

  • Supplemental Content