Community Detection in Networks: A Comparative study