我想从给定的二元矩阵G计算所谓的区别数。假设G的行对应于某些个体,其列对应于某些测试用例,则测试所做的区分定义为它区分的个体对的数量
我提出了一个非常简单的实现:
distinctions = np.zeros(G.shape[1])
for p in itertools.combinations(np.arange(G.shape[0]), 2):
distinctions += G[p[0], :] != G[p[1], :]
但这是为了满足我的需要。如果您能帮助我加快这段代码的速度,我将非常感激
Tags:
你不需要知道1和0的实际位置,你只需要知道它们有多少。例如,在数组中
我们看到,测试0可以区分任何人(0),测试1可以区分0和1与2,对于(2)*(1)完全区别,测试2可以区分1与0和2,对于(1)*(2)完全区别,测试3可以区分0和2与1,对于(2)*(1)完全区别,这给了我们
实际上,我们只需要计算一列中1的数量,然后乘以该列中0的数量,因为每个1都会产生(num_零)区别。IOW:
这让我
及
相关问题 更多 >
编程相关推荐