It is totally based on the characteristic of your input data and dataset. You may used supervised machine learning(classification,regression) or unsupervised learning(clustering). Finally you need to measure the accuracy of your result. Most widely used classification algorithms are, Naive Bayes, KNN, Support vector machine, random forest, decision tree. You may follow the below papers for your help,