It is extremely dependent on your application: how much training data is available and what form (labeled, unlabeled, labeled with errors) it is in, what the input data looks like, what features are available, processing/memory requirements, and on and on. You shouldn't assume there's a one-size-fits-all solution.
Actually machine learning is a collection of various algorithms hence it is purely application dependent on what algorithm u are going to implement.various algorithms are available depending upon your requirement u can use.