Skip to main content
. 2023 Jan 1;7(1):269–298. doi: 10.1162/netn_a_00283

Algorithm 1 .

IVC over all clusterings

Input: π1, …, πG, with corresponding number of clusters κ1, …, κG, respectively.
 1: loop ℓ ∈ {1, 2, …, G}
 2: π* = π with clusters V1, …, Vκ
 3: repeat
 4:  Let πj(Vk) := arg maxs |{xVk : πj(x) = s}| for j = 1, …, G and k = 1, … κ
 5:  Let Ck := (π1(Vk), …, πG(Vk)) for k = 1, …, κ.
 6:  loop i ∈ {1, 2, … n}
 7:   Let yi := 〈π1(xi), π2(xi), …, πG(xi)〉.
 8:   Calculate distance d(yi, Ck) := j=1C 𝓘(πj(xi) ≠ πj(Vk)).
 9:   Re-assign label π*(xi) to the value k that minimizes the distance d(yi, Ck).
 10:  end loop
 11: until π* converges.
 12: π := π*
 13: end loop
Output: π1, …, πG.