Machine learning is a combination of techniques which creates systems that can learn from the data in the environment and make predictions accordingly. This emerging technology is extremely strong in some of the fields like modern mathematics, probability theory, sets theory, calculus of variations and also dynamic systems. The algorithms of this technology cannot be fixed in advance, as the solution might vary depending on the situation. Hence programmer, in this case, has to select a broad family of an algorithm such that machine becomes capable of providing an appropriate answer to user concerns