If you are just starting up you can pick this book. It has everything you need to explore which problems are solved by which algorithms. However, if you already have some idea on Machine Learning you can read this book as well. It kind of fills in the missing pieces. I really liked the explanation on preprocessing stage and why you should do that. He takes special effort to make your comfortable in working with categoric, nominal as well as Boolean data.