I'll second this recommendation - I bought the printed copy, and I'm constantly going to it for reference. The fact that it's available for free is just an added bonus.
This is a great book, but it's definitely not introductory. I think Segaran's "Programming Collective Intelligence", mentioned above, is the best first bet, primarily because it's fun. And the code is good.
http://www.inference.phy.cam.ac.uk/mackay/itila/book.html