I am looking to cluster users together in a database, with each user represented by a number of features that are both discrete and continuous in nature. "Similar" users should be clustered together in a way that underlying strongly correlated features can be easily discovered. A few other requirements:
- The number of clusters is unknown
- The runtime execution time is not a concern
- The number of users can be on the order of 100,000 and number of features around 50
There are a number of clustering techniques, from KNN, k-means, matrix factorization, even PCA, but many seem to hide the underlying correlations that tie the users together. Any advice?