Machine learning 在数据/集群中查找公共组

Machine learning 在数据/集群中查找公共组,machine-learning,cluster-analysis,Machine Learning,Cluster Analysis,分组数据 我有一组项目,我想根据它们通常一起出现的方式将它们分割成簇。例如,如果我有以下数据: {a:1, b:1, c:0, d:0} {a:1, b:1, c:0, d:0} {a:1, b:1, c:1, d:0} {a:0, b:0, c:1, d:1} 我们可以将a和b分组在一起,因为它们的值总是相同的。C和D将分别位于各自的集群中,因此我们将得到3个集群,它们可以100%准确地表示这些数据 此外,我想牺牲准确性来减少子组的数量。例如,使用上述数据集,我们可以将A和B分组到一个集群中

分组数据

我有一组项目,我想根据它们通常一起出现的方式将它们分割成簇。例如,如果我有以下数据:

{a:1, b:1, c:0, d:0}
{a:1, b:1, c:0, d:0}
{a:1, b:1, c:1, d:0}
{a:0, b:0, c:1, d:1}
我们可以将a和b分组在一起,因为它们的值总是相同的。C和D将分别位于各自的集群中,因此我们将得到3个集群,它们可以100%准确地表示这些数据

此外,我想牺牲准确性来减少子组的数量。例如,使用上述数据集,我们可以将A和B分组到一个集群中,而不损失准确度,将C和D分组到一个集群中,而稍微损失准确度

基本上,我希望将数据分组到给定数量的最佳集群中,并能够通过这样做来计算精度损失

最初的想法


几年前我上了一堂机器学习课,所以我知道这很危险,但我不知道从哪里开始,例如,混合模型或层次聚类似乎是正确的方向?

您正在寻找的通常称为项目集挖掘、关联规则学习或关联分析

(名称不详)是用于此类分析的较早且最常用的算法之一,包括“牺牲准确性”以减少子组数量的方法


现在您已经掌握了适当的词汇表,您应该能够找到APriori的许多教程和实现,因为它是一种“经典”算法/解决方案,以及用于此类工作的更多算法

你可能会发现这个社区有些有用@Leo是的,我认为它在那里看起来更相关。我应该转贴吗?我相信你会在那里找到答案的。Stackoverflow通常能更好地解决特定的编程问题。可能的重复情况认为您正在寻找主成分分析。你可以用很多语言来做这些琐碎的事情谢谢,这看起来绝对是正确的方向。对于其他发现此问题的人,这里有另一个有用的链接: