Now the question is, which algorithm to use? This is a very difficult question, we do not have any accurate answer to this question. Although there are some methods but there is no hard and fast rule about which algorithm should be used to solve a particular problem. As discussed earlier, it is time-consuming for all the models to solve any particular problem. It is crucial to mention that any particular machine learning algorithm does not guarantee 100% accurate results, there is always a deviation which is known as error and it is essential for us to minimize the error as much as possible. This is where overfitting comes into the picture; wherein, we may get a desired output which might not be fully correct. In overfitting, we do have error methods. For reducing overfitting, we need to divide the data into two parts: (i) Training (ii) Testing and Validation. By use of these methods, there is no overfitting in the model.