|
Personally, I approve using Python, which is not (yet) my favorite language, I consider it actually as a plus because it complements very well author's intention of simplicity which is all over behind the book design. Examples are taken from the Web domain so this text can be very useful for people interested in combining BI and AI, among others. This book seems to me like an excellent old school teacher among those ones who really take the right timing and words for carefully explaining you something probably difficult in an easy way so that you really will want to learn more about it. I am not completely finished reading it but I already think it's a great introductory book which is strongly committed with transmitting intuition and comprehension of its material (machine learning) usually hard for regular people. It focuses mainly on implementation and application but some general coverage of the underlying theory is done to motivate inexpert readers.
A must have for any software professional. I used this book to suppliment my college material and it helped me understand Gentic Algorithms, Path Finding and other algorithms by giving practicle examples of their use. This book provides good coverage of areas essential to modern web sites. Some complex topics are covered in a manner that anyone can understand.
There are some examples where a Web API is used as a source of data, and no doubt some of the algorithms in this book can be useful in such applications. The drawback is that while the book does a good job of teaching the basics, the algorithms and implementations may be too simplistic for use in a real project.Python is a good language for code examples, but the code in this book is often a bit too terse (e.g. single letter variables or lists of unnamed parameters), and there are quite a few mistakes in the code.The "collective intelligence" title and "web 2.0" connection are a bit tenuous. It's great to have an accessible algorithms book that doesn't just cover sorting algorithms. But this is clearly a book about general-purpose algorithms, and not a book about building Web 2.0 sites. For the most part the algorithms are developed from scratch, unlike e.g. This book shows how to implement basic algorithms for clustering, optimization, decision trees etc. in Manning's "Collective Intelligence in Action", which is more of a tutorial on using existing data mining libraries.
The machine learning approach was fantastic. I was recommended to buy this one by my instructor. I received it in perfect condition. The book was delivered on time without any issues. I wanted a book which described the approaches for building applications in web 2.0. This book exactly served my purpose.
These are both largely language agnostic books, and I think these types of books do the best job at teaching computer science theory. The author clearly states the principles and uses of each algorithm and puts in bits of code as he goes. 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. In the preface I think that the author minimizes the experience a reader must have to get the most out of this book. 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. 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. 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.
As the author states, Python reads almost like pseudocode, with "almost" being the operative word here. The exercises are pretty good and are a combination of programming assignments and "do you think X is possible." types of questions. This book strikes a great balance and hits the target for the professional who needs to learn this material quickly. Just using plain pseudocode or a language that most are familiar with such as C would have been better. 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.
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. The illustrations are also excellent. For the task of learning Python the right way I recommend "Learning Python", which is coming out in a brand new edition next month. Finally, the author minimizes the experience you should already have with Python. The author does not give you enough background on Python that you can pick this book up cold and not be confused.
|