Skip to main content
. Author manuscript; available in PMC: 2015 Dec 1.
Published in final edited form as: Knowl Inf Syst. 2013 Aug 28;41(3):667–696. doi: 10.1007/s10115-013-0684-0

Algorithm 1.

RAPOCC(D,κ,,K)

1: Input: Data matrix (D)
     No. of row clusters (κ)
     No. of column clusters (ℓ)
     No. of optimized co-clusters (K)
2: Output:: A set of K co-clusters ({X})
3: Procedure:
4: Step 1 : initialization
5: i ← 1, j ← 1
6: ρ(g) ← i, ∀[g]1m
7: γ(c) ← j, ∀[c]1n
8: while i < κ or j < ℓ do
9:  if i < κ then
10:   ii + 1
11:   αargminαj=1H(u,v):ρ(u)=α,γ(v)=l
12:   Partition α using bisecting clustering algorithm
13:  end if
14:  if j < ℓ then
15:   jj + 1
16:   βargminβi=1κH(u,v):ρ(u)=i,γ(v)=β
17:   Partition β using bisecting clustering algorithm
18:  end if
19: end while
20: Step 2 : core co_clustering
21: repeat
22:  / * Row clustering * /
23:  for a = 1 : M do
24:   ρ(a) = arg maxu∈{−κ,…,−1,0,1,…,κ} HP(ρ(a) = u, γ)
25:  end for
26:  / * Column clustering * /
27:  for b = 1 : N do
28:   γ(b) = arg maxb∈{0,1,…,ℓ} HP(ρ, γ(b) = v)
29:  end for
30: until convergence
31: Step 3 : Merging similar co_clusters and refinement
32: Step 4 : Pruning