Start reading Programming Collective Intelligence on the free Kindle Reading App or on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here.
This title is not currently available for purchase
Sorry, this item is not available in
Image not available for
Image not available

Programming Collective Intelligence: Building Smart Web 2.0 Applications [Kindle Edition]

Toby Segaran
4.4 out of 5 stars  See all reviews (112 customer reviews)

Pricing information not available.

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your email address or mobile phone number.


Amazon Price New from Used from
Kindle Edition
Rent from
Paperback $26.81  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

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

Editorial Reviews

About the Author

Toby Segaran is a software developer and manager at Genstruct, a computational systems biology company. He has written free web applications for his own use and put them online for others to try, including: tasktoy, a task management system; Lazybase, an online application that lets users design, create and share databases of anything they like; and Rosetta Blog, an online tool for practicing Spanish and French by reading blogs along with their translations and lists of common words. Each of these has several hundred regular users.

Product Details

  • File Size: 1793 KB
  • Print Length: 362 pages
  • Simultaneous Device Usage: Unlimited
  • Publisher: O'Reilly Media; 1 edition (December 17, 2008)
  • Language: English
  • ASIN: B0028N4WM4
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Lending: Not Enabled
  • Amazon Best Sellers Rank: #417,948 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

Customer Reviews

Most Helpful Customer Reviews
169 of 175 people found the following review helpful
4.0 out of 5 stars Putting Theory into Practice December 18, 2007
Format:Paperback|Verified Purchase
This book is probably best for those of you who have read the theory, but are not quite sure how to turn that theory into something useful. Or for those who simply hunger for a survey of how machine learning can be applied to the web, and need a non-mathematical introduction.

My area of strength happens to be neural networks (my MS thesis topic was in the subject), so I will focus on that. In a few pages of the book, the author describes how the most popular of all neural networks, backpropagation, can be used to map a set of search terms to a URL. One might do this, for example, to try and find the page best matching the search terms. Instead of doing what nearly all other authors will do, prove the math behind the backprop training algorithm, he instead mentions what it does, and goes on to present python code that implements the stated goal.

The upside of the approach is clear -- if you know the theory of neural networks, and are not sure how to apply it (or want to see an example of how it can be applied), then this book is great for that. His example of adaptively training a backprop net using only a subset of the nodes in the network was interesting, and I learned from it. Given all the reading I have done over the years on the subject, that was a bit of a surprise for me.

However, don't take this book as being the "end all, be all" for understanding neural networks and their applications. If you need that, you will want to augment this book with writings that cover some of the other network architectures (SOM, hopfield, etc) that are out there. The same goes for the other topics that it covers.
Read more ›
Was this review helpful to you?
85 of 88 people found the following review helpful
5.0 out of 5 stars Accessible introduction to complex topics August 17, 2007
Format:Paperback|Verified Purchase
Segaran has done an excellent job of explaining complex algorithms and mathematical concepts with clear examples and code that is both easy to read and useful. His coding style in Python often reads as clearly as pseudo-code in algorithm books. The examples give real-world grounding to abstract concepts like collaborative filtering and bayesian classification.

My favorite part is how he shows us code (gives it to us!) that goes out into the world, grabs masses of data and does interesting things with it. The use of a hierarchical clustering algorithm to dig into people's intrinsic desires in life as expressed in zebo is worth the price of the book alone. The graph that shows a strong connection between "wife", "kids", and "home" but a different connection between "husband", "children", and "job" is IMHO just fascinating.

Gems like that make this book worth reading cover to cover. After that it can happily hang out on your shelf as a reference anytime you need to build something to mine user data and extract the wisdom of crowds.
Was this review helpful to you?
48 of 49 people found the following review helpful
1.0 out of 5 stars Outdated December 4, 2013
By Kyle
Format:Paperback|Verified Purchase
This is the first time I've actually taken the time to write out a review. I'm sure this book was awesome when it first came out, it is clear, concise and has a nice follow-along structure. However, it has become outdated and it is riddled with either old syntax and errors. I have gotten past most of that though. The worst part is probably that the files that are used in some of the examples are hosted on the authors blog and have been taken down. If he can't be bothered to continue hosting old files for people who may buy the book (or point us to somewhere to get them) we shouldn't be bothered to buy it.
Comment | 
Was this review helpful to you?
67 of 71 people found the following review helpful
Have you ever wondered how some of those "collective intelligence" sites work? How Amazon can suggest books that you'll like based on your browsing history? How a search engine can rank and filter results? Toby Segaran does a very good job in revealing and teaching those types of algorithms in his book Programming Collective Intelligence: Building Smart Web 2.0 Applications. While I'm not ready to run out and build my own version of Facebook now, at least I can start to understand how sites like that are designed.

Introduction to Collective Intelligence; Making Recommendations; Discovering Groups; Searching and Ranking; Optimization; Document Filtering; Modeling with Decision Trees; Building Price Models; Advanced Classification - Kernel Methods and SVMs; Finding Independent Features; Evolving Intelligence; Algorithm Summary; Third-Party Libraries; Mathematical Formulas; Index

In each of the chapters, Segaran takes a type of capability, be it decision-making or filtering, and shows how a programming language can be used to build that feature. His examples are all in Python, so it helps if you are already familiar with that language if you want to actually work with the code. But even if you don't know Python, the examples are clear and detailed enough that you can follow along and get the gist of what's happening. I personally think that it would help immensely if you had a background in mathematics and statistics. You can use the code here without having a detailed understanding of math, but I'm sure much of this would be more deeply appreciated if you already know about such things as Tanimoto similarity scores, Euclidean distances, or Pearson coefficients.
Read more ›
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Five Stars
What a great book. Good Job. Minor code updates available.
Beats many newer Python Machine Learning HowTo books.
Published 1 month ago by Jonquille
4.0 out of 5 stars however is not easy to apply to real world examples
Have a lot of techniques, however is not easy to apply to real world examples, I think is a complementary reading for after you learn some of the basics of machine learning and... Read more
Published 4 months ago by Franco Risso
2.0 out of 5 stars Typo ruin everything
Most of the part of this book are code examples. It contains a lot of typo in the code example, thus some code doesn't work at all. Read more
Published 4 months ago by s0ra
4.0 out of 5 stars Great book, but you need to know how to ...
Great book, but you need to know how to program in python to really take full advantage of the material covered.
Published 6 months ago by Raymond N. Pruett
4.0 out of 5 stars Four Stars
An easy read for beginners
Published 8 months ago by Michael C Johnson
5.0 out of 5 stars Five Stars
Very useful book. Thanks!
Published 8 months ago by Katherine Gallagher
5.0 out of 5 stars Amazing!!!
Excellent, all you need to know to get started! Very detailed and easy to use the examples. I strongly recommend this book.
Published 10 months ago by Alan Jorge Olivera Silva
4.0 out of 5 stars A Good Overview
The book is a good overview of machine learning techniques that can be easily used by the average person. Read more
Published 11 months ago by College Student
5.0 out of 5 stars Wow
This is a great book. It has some amazing algorithms and I feel like I have learned quite a bit from reading it.
Published 13 months ago by Nick
4.0 out of 5 stars Fun with Internet data
The book is a great introduction to the depths of the information available to us on the Internet. The book introduces many algorithms that are easy to follow and understand with... Read more
Published 13 months ago by Sal
Search Customer Reviews
Search these reviews only

More About the Author

Toby Segaran is the author of "Programming Collective Intelligence," one of Amazon's top-selling AI books of all time. His latest titles, "Programming the Semantic Web" and "Beautiful Data" were released in July. He speaks on the subjects of machine learning, collective intelligence and freedom of data at conferences worldwide.

He currently holds the title of Data Magnate at Metaweb Technologies, where he works on large-scale data reconciliation problems. He is also a cofounder of, a non-profit aimed at creating more financial transparency.

Prior to Metaweb he founded Incellico, a biotechbology software company acquired in 2003. He holds a B.Sc. in Computer Science from MIT and US Government deems him a "Person of Exceptional Ability."

What Other Items Do Customers Buy After Viewing This Item?


Topic From this Discussion
Whoa. Be the first to reply
Have something you'd like to share about this product?
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for Similar Items by Category