|
Algorithm 3: Refine |
|
Input: A candidate CB-Pattern.Pcand., EPS, MinPts
|
Output: A set of CB-Patterns |
|
1: |
for
Ci ∈ Pcand
do
|
2: |
if
isChanged(Ci) = falsethen // Ci is unchanged |
3: |
continue; |
4: |
end if
|
5: |
CS = ST DBSCAN(Ci; EPS, MinPts); |
6: |
if
CS ≠ Ci
then // the clustering structure on Ci has changed |
7: |
for
C ∈ CS
do
|
8: |
P′cand = SplitWith(Pcand, C); // Retain the instances associated with the spot in C
|
9: |
PS′ = Refine(Pcand, EPS, MinSup); |
10: |
PS = PS ∪ PS′; |
11: |
end for
|
12: |
end if
|
13: |
return
PS; |
14: |
end for |
15: |
if
i > Pcand. L
then // each spot set in Pcand is a cluster |
16: |
return {Pcand}; |
17: |
end if |
|