Collective Intelligence in Action
by Satnam Alag
Algorithms of the Intelligent Web
by Haralambos Marmanis; Dmitry Babenko
Building Scalable Web Sites, 1st Edition
by Cal Henderson
Head First Design Patterns
by Eric Freeman; Elisabeth Robson; Kathy Sierra; Bert Bates
Regular Expressions Cookbook
by Jan Goyvaerts; Steven Levithan
The Ruby Programming Language, 1st Edition
by David Flanagan; Yukihiro Matsumoto
Head First Object-Oriented Analysis and Design
by Brett McLaughlin; Gary Pollice; David West
Head First C#
by Andrew Stellman; Jennifer Greene
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
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 52 Ratings
Programming collective intelligence Book Review - 2009-10-18
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I was recommended to buy this one by my instructor. I wanted a book which described the approaches for building applications in web 2.0. This book exactly served my purpose. The machine learning approach was fantastic. The book was delivered on time without any issues. I received it in perfect condition.
Good broad and introductory coverage of collective intelligence - 2009-09-19
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
In the preface I think that the author minimizes the experience a reader must have to get the most out of this book. First off, I think you should be familiar with the general principles of artificial intelligence as covered in Artificial Intelligence: A Modern Approach (2nd Edition), and I think you should also be familiar with the theory of algorithms as covered in Introduction to Algorithms, Third Edition. These are both largely language agnostic books, and I think these types of books do the best job at teaching computer science theory. Finally, the author minimizes the experience you should already have with Python. As the author states, Python reads almost like pseudocode, with "almost" being the operative word here. Just using plain pseudocode or a language that most are familiar with such as C would have been better. The author does not give you enough background on Python that you can pick this book up cold and not be confused. For the task of learning Python the right way I recommend "Learning Python", which is coming out in a brand new edition next month.
On the bright side, though, this is a great introduction to recommender systems and the algorithms used in the collection and analysis of web data. The author clearly states the principles and uses of each algorithm and puts in bits of code as he goes. The illustrations are also excellent. The problem with most of the books on collective intelligence is that they are either doctoral theses - or should be - or they are very elementary books written for people using software packages that do the analysis for them, thus exposing few details. This book strikes a great balance and hits the target for the professional who needs to learn this material quickly.
The exercises are pretty good and are a combination of programming assignments and "do you think X is possible?" types of questions. Of course, what I think is possible doesn't matter, the question is answered if I am able to implement a solution or at least sketch one out. There are no answers to exercises here, so you'll never know if you are right unless you do implement a solution that answers the question.
All in all, I recommend this text for the qualified reader - a programmer already skilled in Python and knowedgeable in artificial intelligence and efficient algorithm implementation - in other words, the working professional.
Awesome! - 2009-09-13
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Tons of great ideas in this book, presented in a useful manner that builds one topic upon the other where applicable. Very easy to understand, looks like it's very easy to apply as well.
A practical introduction - 2009-08-21
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book helped me get real machine learning concepts into my code quickly. It does a good job covering a broad range of techniques, and the examples are interesting and useful. I appreciated the illustrations as a visual way to explain the concepts in the text.
On the negative side, the book's emphasis on readability prevents it from going into deep detail on the subjects covered. In particular, I would have like to see more discussion about feature selection with many examples showing good and bad choices for features used in different models. This is the flip-side of the book's strength, namely that it is very readable. Another way this comes up is that the code in the book may not be very efficient of fast. Fortunately, the author's code is written in a way to make it easy to improve. Also it's worth noting that even simple ML algorithms can be quite powerful when used with enough data, eg. Bayesian spam filtering.
Bottom line: As someone starting to write smart applications, this book was definitely worth the cost in money and time.
For more detailed coverage of machine learning, I can recommend these two books (perhaps to be read after Collective Intelligence):
Russel and Norvig's Artificial Intelligence, A Modern Approach
Hastie and Tibshirani and Friedman's The Elements of Statistical Learning
Great introductory material - 2009-07-02
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book gives perhaps the greatest introductory insight into the workings of intelligent algorithmic computation. It covers everything from page rank to neural networks and so much more. Its easy enough to understand, even for a non-math major, and the python code samples are concise, accurate and functional.
Would highly recommend this book for application and web developers who are creating or just interested in intelligent, data driven utilities.
Some information on this page was provided using data from Amazon.com®. View at Amazon >