创建个人(群体)互斥组的逻辑

时间:2019-08-21 12:38:32

标签: python-3.x logic cluster-analysis

我有每个人大约100列的调查数据。基于某些标准,例如一列包含一个人是否阅读漫画的信息,另一列包含一个人是否阅读漫画的信息。

我想验证用户是否创建了互斥的群集/组。 例如。第1组:阅读漫画的0-25岁男性,第2组:阅读漫画和报纸的20-25岁男性。在这种情况下,我要生成一个警告,指出组不是相互排斥的。

一种(低效的)方法是为每个组创建一个个人列表,然后为每个组的组合找到交集。如果存在相交,则组不是互斥的,因此是不正确的。

什么是有效的方法?

一种(低效的)方法是为每个组创建一个个人列表,然后为每个组的组合找到交集。如果存在相交,则组不是互斥的,因此是不正确的。

预期结果: 创建的组是互斥的。 要么 创建的组不是互斥的。

1 个答案:

答案 0 :(得分:0)

以相反的方式解决。

首先查找所有冲突,而不是尝试所有组合然后检查哪个冲突。

因此,如果记录在A,B和O组中,则将AB,AO和BO标记为不兼容。进行组合时,如果选择使用A等,则可以轻松地检查是否不可能添加B。