def setup_pos_neg_group_arrays()

in src/minmaxML.py [0:0]


def setup_pos_neg_group_arrays(numgroups, index, y):
    """
    Sets up subgroup arrays for the positive and negative classes (according to label)
    """
    groupsize_neg = np.zeros(numgroups)
    groupsize_pos = np.zeros(numgroups)
    neg_idxs = np.where(y == 0)
    pos_idxs = np.where(y == 1)
    assert np.size(neg_idxs) + np.size(pos_idxs) == np.size(y)

    index_neg = [np.array([]) for _ in range(numgroups)]
    index_pos = [np.array([]) for _ in range(numgroups)]

    for g in range(numgroups):
        index_neg[g] = np.intersect1d(index[g], neg_idxs)
        groupsize_neg[g] = np.size(index_neg[g])
        index_pos[g] = np.intersect1d(index[g], pos_idxs)
        groupsize_pos[g] = np.size(index_pos[g])

    return groupsize_pos, groupsize_neg, index_pos, index_neg