Programming Collective Intelligence

Toby Segaran, O'Reilly (2007)


Programming Collective Intelligence explains, discusses and gives example code of various algorithms that come under the broad umbrella of "doing intelligent things with data". The book covers some relatively advanced programming techniques, but unlike many other references:

The algorithms discussed generally have applications for web sites or other situations where intelligent decisions need to be made based on user-provided data. Among the most interesting material is:

If you are interested in topics such as the above, I would thoroughly recommend this book to give you a "head start" with the techniques in question. Indeed, after reading this book, you are likely to come away with new ideas for enhancing your web site or application, bearing in mind, for example, that a sophisticated search engine or product recommendation feature could well give you a competitive advantage.

A slight shortcoming of the book's approach is that some of the algorithms it discusses will likely require optimisation. Because the author gives simple code in Python without discussing more of the implementation details of certain algorithms, this may mean that you will need to read further on certain optimisations when implementing the algorithms in practice. A case in point being the matrix operations used in the text categorisation algorithm in Chapter 10: the implementation given will require a little performance tweaking.

Despite this slight niggle, Programming Collective Intelligence provides an excellent overview of various data manipulation and organisation algorithms which will have various applications in today's world of "collective" web applications. If you are at all ineterested in "doing clever things with data", then this book is a must.

Review written by Neil Coffey. Copyright © Javamex UK 2009. All information in this review is provided in good faith and believed to be correct and representative of the work under review.