Beginners in Machine Learning often have very optimistic ideas that Machine Learning can produce amazing insights with little to no human involvement and decision making.
The truth is that the performance of your algorithms is heavily influenced by parameters that you as a human define before the model has seen any data.
In the case of clustering, most algorithms still require you to be explicit about the number of clusters you are looking for. But not all!
Which of the following clustering algorithms determines the number of clusters on its own?