我有每个人大约100列的调查数据。基于某些标准,例如一列包含一个人是否阅读漫画的信息,另一列包含一个人是否阅读漫画的信息。
我想验证用户是否创建了互斥的群集/组。 例如。第1组:阅读漫画的0-25岁男性,第2组:阅读漫画和报纸的20-25岁男性。在这种情况下,我要生成一个警告,指出组不是相互排斥的。
一种(低效的)方法是为每个组创建一个个人列表,然后为每个组的组合找到交集。如果存在相交,则组不是互斥的,因此是不正确的。
什么是有效的方法?
一种(低效的)方法是为每个组创建一个个人列表,然后为每个组的组合找到交集。如果存在相交,则组不是互斥的,因此是不正确的。
预期结果: 创建的组是互斥的。 要么 创建的组不是互斥的。
答案 0 :(得分:0)
以相反的方式解决。
首先查找所有冲突,而不是尝试所有组合然后检查哪个冲突。
因此,如果记录在A,B和O组中,则将AB,AO和BO标记为不兼容。进行组合时,如果选择使用A等,则可以轻松地检查是否不可能添加B。