I'm a software engineer new to Machine Learning. I've read about basic non-supervised techniques like k-means and hierarchical clustering and now I'm trying to put them into practice with a basic problem.
Say I've got a lot of rows of data with each row looking something like this:
"employeesRange": "11-50",
"category": "Lobbying",
"categoryGroup": "Polication Action",
"sector": "Industrials",
"subCategory": "Direct",
"tags": [ "Progressive", "Libertarian", "PAC" ]
I want to analyze this data and look for patterns, i.e. clusters of information that frequently appear together. For example maybe it's a common pattern to find smaller groups of lobbyists 11-50 people for "Progressive", "Libertarian" causes but "Presidential" or "Local Politics" groups tend to skew larger.
Or maybe there's another link to be found between categories and sector, that kind of thing.
This seems a little harder then the examples I've read about because some of my data is a tag cloud (the "Tags" field) which is unstructured can contain multiple entries and the more structured fields of categories and employees range.
It seems a good place to start is using hierarchical clustering (since I don't know k a-priori) maybe following the recommendations here:
https://stackoverflow.com/questions/23943391/how-to-cluster-users-based-on-tags
I have a few questions about this. First, is this a good approach? And is Mahout the best tool for this? Any obvious ways to simplify? And finally, how can I combine the tag clustering approach with the other more structured data in the rows?