lunes, 6 de enero de 2014

Machine Learning with R - Book Review

I have to admit it...I'm an R junkie...since the first time I started learning has become an addiction to me...I try to solve every problem with R...which is obviously not the best way to go...but my rule of thumb is..."Try with R first...otherwise...just use something else and then go back to R" -;)

This time I was really excited to read a new R book (well...maybe not new...but new for me) called Machine Learning with R...

For me this book should be called "The Big Book for R nerds"...with 396 pages...this book is just beautiful, amazing and one of the best R books I have ever read...

Of course...keep in mind that is not a book for need to have previous R experience to fully understand if you're not a R advocate...please help yourself and read the also awesome The R Inferno...

The book of course, contains a small introduction to R principles and most used commands like Vectors, Factors, Lists, Data Frames and data manipulation.

When the book really gets interesting is when the Machine Learning gets introduced...

It a nutshell...a Machine Learning algorithm will take input...learn something and the toss out a result that will help us make a decision...simply pure magic -:)

Some of the algorithms covered in this book...and covered in a really easy and digestible way with some of the best examples you could think of...are these...

  • Nearest Neighbor

  • naive Bayes 

  • Decision Trees 

  • Classification Rule Learners 

  • Linear Regression 

  • Regression Trees 

  • Model Trees 

  • Neural Networks 

  • Support Vector Machines 

  • Association Rules 

  • k-means Clustering

  • A little bit overwhelming, huh? Well...not really...R and it's plethora of packages makes your life easier....after reading this will be able to apply each and everything single algorithm to your real life projects...but of experience, trial and error and perseverance will be highly appreciated...

    Let's see some examples...

    Cross table for a Nearest Neighbor

    Decision Tree

    Neural Network Diagram

    Association Rules

    Random Forests

    Amazing isn't it? Of course...but the fun doesn't end there...the book helps us even more with chapters on...
    • Evaluation Model Performance
    • Improving Model Performance
    • Specialized Machine Learning Topics
    If you have played with R before and always wondered what the hell Machine Learning means and why you should learn it...this book is totally for you...I recommend it 100%...


    Developer Empowerment and Culture.

    4 comentarios:

    Salil Kalghatgi dijo...

    I know you've got a thing for R, and it's my forte too, but what are your feelings or python? have you looked at "Building Machine Learning Systems with Python" by Richert & Coelho?
    what are your opinions on the two? I figure I'll learn machine learning with R, then as my python skills develop switch.

    Alvaro "Blag" Tejada Galindo dijo...


    I haven't read that Python I can't tell you for sure...

    Python is really powerful and I love it as well...what I used to do with I do it with Python...

    In my opinion...and not getting towards R...R makes it easier to handle Machine Learning simply because it has tons of packages and data structures like data.frames and factors...

    I think it's a really good idea to learn it on R first and then move to Python...and you could figure out yourself where you feel more comfortable -:) In the's just a matter of taste -;)


    Developer Empowerment and Culture.

    Tim dijo...

    Funnily enough, I've been reading this since Christmas as well, and I love it.

    I think it's the organization and progression from one algorithm to another - clearly written, in such a way that you can pause and actually want to try out a package by hand in R, and woah, I've just done a regression decision tree in about 2 lines...

    Alvaro "Blag" Tejada Galindo dijo...


    I'm glad you like it as well :) In the attempts to build a Random Forests or a Neural Network were really hard...after reading this was all a breeze -;)


    Developer Empowerment and Culture.