用于聚类具有相似兴趣的人的算法

时间:2013-08-23 04:16:41

标签: algorithm machine-learning data-mining cluster-analysis

我想根据他们的兴趣将人群分组。例如。喜欢机器学习和图表的人可能会被安排在一个小组中,对数学和经济学等感兴趣的人可能会被安排在不同的小组中。

该算法应该能够根据人们的兴趣决定哪些人具有最匹配的兴趣并创建集群。它还应该能够输出关于特定人员所在的组中的其他人。

4 个答案:

答案 0 :(得分:1)

这听起来不是一个特别困难的聚类问题,任何现成的聚类算法都可能运行良好。如果你知道你想要多少个簇,那么试试k-means或k-medoid聚类。如果您不知道有多少簇,那么尝试凝聚聚类。

问题的难点在于功能。您提到“兴趣”可以用作聚类的特征,但特征工程和选择将总是涉及一些试验和错误。

答案 1 :(得分:0)

如果没有更多的问题背景,我无法给出明确的答案。大多数聚类算法都可以使用,问题是你的结果“好”。我引用“好”这个词是因为你需要某种度量来衡量它(通常是群集间和群集内距离)。

当我被教导如何决定数据挖掘算法时,给我的建议是:首先尝试最简单的算法 - 通常这些算法被忽略但表现相当好(Naive Bayes用于监督学习是一个典型的例子)

为了让你开始,试试像K-means这样简单而流行的方法,你可以在这里找到更多信息http://en.wikipedia.org/wiki/K-means_clustering(如果你看一下软件部分,你也可以找到一个实现列表你可以试试。)

标准的第二部分是能够根据目标人输出组中的其他人。这在所有聚类算法中都是可行的,因为你将拥有X个子集,你只需要找到目标人所在的子集,然后迭代该子集并打印出所有人。

答案 2 :(得分:0)

我认为正确的方法是Kmeans聚类。您问题中最重要的部分是功能选择。

尝试使用您认为最重要的一些功能,只需在某些统计编程语言(如R)中应用kmeans,检查结果并通过功能修改或选择更合适的功能对其进行改进。 如果您不确定要素选择,点击和试用可以为您提供见解。

如果您可以提供一些示例数据,将有助于为您的问题提供一些具体的解决方案。

答案 3 :(得分:0)

来晚了一点,但Windows商店中确实有一个应用程序正在这样做:找到具有相似特征的配置文件 它叫做k-modo