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
- Format: Paperback
- Pages: 362 pages, 1, black & white illustrations
- Publisher: O'Reilly Media, Inc, USA
- Publication Date: 04/09/2007
- Category: Computer programming / software development
- ISBN: 9780596529321
Showing 1 - 3 of 3 reviews.
Review by customersurveys
Amazing piece of work. Makes much sense of the power of software and algorithms in predicting customer preferences and behavior based on aggregate data. Very well done with concise examples in Python programming language. Entire book is quite focused on modern web sites and web technology.
Review by halabelson
This is a terrific resource for anyone interested in modern methods of data aggregation and statistics because it provides actual working code that you can copy and modify. You can get all the source files online from the author's web site.
Review by jmones
This book does a good job making an introduction of machine learning technologies to the average programmer. This is its main merit. Having said that, the introduction to the subjects is very simplified, so you'll need further reference to actually implement anything at all. It's full of Python code snippets only work to make the subject appear accessible to the programmer, and look like waffle to me. Mathematical formulas in which code snippets are based can only be found (without further explanation) on an annex. Algorithm alternatives or optimizations for real-life operations are not described. But in the end, this is the objective of this book. My main criticism would be that the book doesn't fully succeed at explaining exactly what you should use each technique for and which are their pros and cons.To sum up, read this book if you are a programmer, you have no previous knowledge on machine learning topics and you want a math-free introduction on the subject.