LEADING MACHINE LEARNING PROGRAMS : A THOROUGH REVIEW