我是一名刚接触机器学习的软件工程师。我已经阅读了基本的非监督技术,如 k-means 和层次聚类,现在我正试图将它们付诸实践,解决一个基本问题。
假设我有很多行数据,每行看起来像这样:
"employeesRange": "11-50",
"category": "Lobbying",
"categoryGroup": "Polication Action",
"sector": "Industrials",
"subCategory": "Direct",
"tags": [ "Progressive", "Libertarian", "PAC" ]
我想分析这些数据并寻找模式,即经常一起出现的信息集群。例如,为“进步”、“自由主义”事业寻找较小的 11-50 人游说团体可能是一种常见的模式,但“总统”或“地方政治”团体往往偏大。
或者也许在类别和部门之间可以找到另一个链接,诸如此类。
这似乎比我读过的示例更难,因为我的一些数据是标签云(“标签”字段),它是非结构化的,可以包含多个条目,并且类别和员工范围更结构化的字段。
似乎一个不错的起点是使用层次聚类(因为我不知道 k a-priori)也许遵循这里的建议:
https://stackoverflow.com/questions/23943391/how-to-cluster-users-based-on-tags
我对此有几个问题。首先,这是一个好方法吗?Mahout 是最好的工具吗?有什么明显的简化方法吗?最后,如何将标签聚类方法与行中其他更结构化的数据结合起来?