How to choose an appropriate Machine Learning algorithm?
Try as many models as you have time for and pick the best one, otherwise use your intuition to narrow the candidates. If you have no intuition, start with a simple model and move to more complex models as performance requirements dictate. Often there are reasons beyond pure performance metrics to choose a model in the real world, such as simplicity, interpretability, and speed.

You will not, however, have to pick between supervised and unsupervised learning, for these are drastically different things. If I ask you to group all similar items, how are you going to apply supervised learning?

You might like this map about choosing the right estimator.