47
A One-Pass Triclustering Approach: Is There any Room for Big Data? Dmitry V. Gnatyshak 1 Dmitry I. Ignatov 1 Sergei O. Kuznetsov 1 Lhouari Nourine 2 National Research University Higher School of Economics, Russian Federation Blaise Pascal University, LIMOS, CNRS, France 10.10.2014 Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 1 / 26

A One-Pass Triclustering Approach: Is There any Room for Big Data?

Embed Size (px)

DESCRIPTION

An efficient one-pass online algorithm for triclustering of binary data (triadic formal contexts) is proposed. This algorithm is a modifi ed version of the basic algorithm for OAC-triclustering approach, but it has linear time and memory complexities with respect to the cardinality of the underlying ternary relation and can be easily parallelized in order to be applied for the analysis of big datasets. The results of computer experiments show the efficiency of the proposed algorithm.

Citation preview

A One-Pass Triclustering Approach: Is There any Roomfor Big Data?

Dmitry V. Gnatyshak1 Dmitry I. Ignatov1 Sergei O. Kuznetsov1 LhouariNourine2

National Research University Higher School of Economics, Russian Federation

Blaise Pascal University, LIMOS, CNRS, France

10.10.2014

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 1 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 2 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 2 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 2 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 2 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 3 / 26

Motiation

Big amount of multimodal data:

Gene expression dataFolksonomies. . .

Non-binary data can be scaled (possibly increasing the dimensionality)

Increasing amount of big data: fast algorithms required (linear or sublinear,one-pass)

Existing methods — finding all p-clusters satisfying some conditions (oftenexponential number)

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 4 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 5 / 26

Prime OAC-triclusteringFormal concept analysis: triadic case

DefinitionLet G , M, B be some sets. Let the ternary relation I be a subset of their cartesianproduct: I ⊆ G ×M × B. Then the tuple K = {G ,M,B, I} is called a triadicformal context.G — a set of objects, M — a set of attributes, B — a set of conditions.

G\M m1 m2 m3 m1 m2 m3 m1 m2 m3

g1 x x x x x x x x

g2 x x x x x

g3 x x x x

g4 x x x x x x

B b1 b2 b3

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 6 / 26

Prime OAC-triclusteringFormal concept analysis: triadic case

Definition

Galois operators (prime operators) are defined the same way as in dyadic case:2G → 2M × 2B

2M → 2G × 2B

2B → 2G × 2M

2G × 2M → 2B

2G × 2B → 2M

2M × 2B → 2G

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 6 / 26

Prime OAC-triclusteringFormal concept analysis: triadic case

G\M m1 m2 m3 m1 m2 m3 m1 m2 m3

g1 x x x x x x x x

g2 x x x x x

g3 x x x x

g4 x x x x x x

B b1 b2 b3

({g1, g2}, {m1,m2})′ = {b1, b3}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 6 / 26

Prime OAC-triclusteringFormal concept analysis: triadic case

G\M m1 m2 m3 m1 m2 m3 m1 m2 m3

g1 x x x x x x x x

g2 x x x x x

g3 x x x x

g4 x x x x x x

B b1 b2 b3

m′2 = {(g1, b1), (g2, b1), (g3, b1), (g1, b2), (g1, b3), (g2, b3), (g4, b3)}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 6 / 26

Prime OAC-triclusteringFormal concept analysis: triadic case

Definition

The triple (X ,Y ,Z ) is called triadic formal concept of the contextK = (G ,M,B, I ), if X ⊆ G ,Y ⊆ M, Z ⊆ B, (X ,Y )′ = Z , (X ,Z )′ = Y ,(Y ,Z )′ = X .X is called (formal) extent, Y — (formal) intent, Z — (formal) modus.

G\M m1 m2 m3 m1 m2 m3 m1 m2 m3

g1 x x x x x x x x

g2 x x x x x

g3 x x x x

g4 x x x x x x

B b1 b2 b3

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 6 / 26

Prime OAC-triclusteringBasic algorithm

This method uses the following types of prime operators (for the contextK = (G ,M,B, I )):

(g ,m)′ = {b ∈ B | (g ,m, b) ∈ I},(g , b)′ = {m ∈ M | (g ,m, b) ∈ I},(m, b)′ = {g ∈ G | (g ,m, b) ∈ I}

Definition

Then the triple T = ((m, b)′, (g , b)′, (g ,m)′) is called prime OAC-tricluster basedon triple (g ,m, b) ∈ I . The sets of tricluster are called, respectively, extent,intent, and modus. Triple (g ,m, b) is called a generating triple of the tricluster T .

Definition

Density of a tricluster: ρ(X ,Y ,Z ) = |I∩(X×Y×Z)||X ||Y ||Z |

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 7 / 26

Prime OAC-triclusteringBasic algorithm

An example of a tricluster based on triple (g̃ , m̃, b̃):

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 8 / 26

Prime OAC-triclusteringBasic algorithm

Require: K = (G ,M,B, I ) — triadic context;ρmin — density threshold

Ensure: T = {T = (X ,Y ,Z)}1: T := ∅2: for all (g ,m) : g ∈ G ,m ∈ M do3: PrimesObjAttr [g ,m] = (g ,m)′

4: end for5: for all (g , b) : g ∈ G ,b ∈ B do6: PrimesObjCond [g , b] = (g , b)′

7: end for8: for all (m, b) : m ∈ M,b ∈ B do9: PrimesAttrCond [m, b] = (m, b)′

10: end for11: for all (g ,m, b) ∈ I do12: T = (PrimesAttrCond [m, b],PrimesObjCond [g , b],PrimesObjAttr [g ,m])13: Tkey = hash(T )14: if Tkey ̸∈ T .keys ∧ ρ(T ) ≥ ρmin then15: T [Tkey ] := T16: end if17: end for

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 9 / 26

Prime OAC-triclusteringOnline version of the algorithm

Let K = (G ,M,B, I ) be a triadic context. We do not know G , M, B, I , or theircardinalities.

Input on each iteration: {(g ,m, b)} = J ⊆ I .Goal — maintain an updated version of the results and efficiently update themwhen new triples are received.

We need to keep in memory the results of prime operators’ application (primesets):

PrimesObjAttr — dictionary with elements of type ((g ,m), {b ∈ B}), g ∈ G ,m ∈ M;

PrimesObjCond — dictionary with elements of type ((g , b), {m ∈ M}),g ∈ G , b ∈ B;

PrimesAttrCond — dictionary with elements of type ((m, b), {g ∈ G}),m ∈ M, b ∈ B.

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 10 / 26

Prime OAC-triclusteringOnline version of the algorithm

RemarkIn this case we need to consider triclusters based on different triples different, evenif their extents, intents, and modi are equal.

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 11 / 26

Prime OAC-triclusteringOnline version of the algorithm

Algorithm of triples addition (standard):

Require: J — a set of triples to add;T = {T = (∗X , ∗Y , ∗Z)} — current tricluster set;PrimesObjAttr , PrimesObjCond , PrimesAttrCond ;

Ensure: T = {T = (∗X , ∗Y , ∗Z)};PrimesObjAttr , PrimesObjCond , PrimesAttrCond ;

1: for all (g ,m, b) ∈ J do2: PrimesObjAttr [g ,m] := PrimesObjAttr [g ,m] ∪ b3: PrimesObjCond [g , b] := PrimesObjCond [g , b] ∪m4: PrimesAttrCond [m, b] := PrimesAttrCond [m, b] ∪ g5: T :=

T ∪ (&PrimesAttrCond [m, b],&PrimesObjCond [g , b],&PrimesObjAttr [g ,m])6: end for

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 12 / 26

Prime OAC-triclusteringOnline version of the algorithm

Algorithm of triples removal (optional):Triclusters must be kept in the dictionary with generating triples being keys.

Require: J — a set of triples to remove;T = {(key(T ),T = (∗X , ∗Y , ∗Z))} — current tricluster dictionary;PrimesObjAttr , PrimesObjCond , PrimesAttrCond ;

Ensure: T = {T = (∗X , ∗Y , ∗Z)};PrimesObjAttr , PrimesObjCond , PrimesAttrCond ;

1: for all (g ,m, b) ∈ J do2: T := T \ T [(g ,m, b)]3: PrimesObjAttr [g ,m] := PrimesObjAttr [g ,m] \ b4: PrimesObjCond [g , b] := PrimesObjCond [g , b] \m5: PrimesAttrCond [m, b] := PrimesAttrCond [m, b] \ g6: end for

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 13 / 26

Prime OAC-triclusteringOnline version of the algorithm

If a user have asked for an output, we may need to remove the triclusters with thesame extent, intent and modi at the post-processing stage. At this stage we canalso check various conditions (for instance, minimal density condition).

Require: T = {T = (∗X , ∗Y , ∗Z)} — current tricluster set;Ensure: T = {T = (∗X , ∗Y , ∗Z)} — processed tricluster hash-set;1: for all T ∈ T do2: Compute hash(T )3: if hash(T ) ̸∈ T then4: T := T ∪ T5: end if6: end for

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 14 / 26

Prime OAC-triclusteringOnline version of the algorithm

Remark 1To allow an efficient access to the prime sets dictionaries PrimesObjAttr ,PrimesObjCond , and PrimesAttrCond must be implemented as hash tables.

Remark 2For an efficient computation of triclusters’ hash values we can keep hash values ofprime sets along with prime sets. Then the calculation of the triclusters’ hashvalues will require to find a value of some function of the prime sets’ hash values(multiplied by non-repeating coefficients, for instance).It is important not to use LHS hash-function (Locality Sensitive Hashing).

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 15 / 26

Prime OAC-triclusteringOnline version of the algorithm

Complexities:

Time complexity: O(|I |) (as there is a constant number of operations oneach step);

More precisely: 8|I | operations in total;1 Modification of 3 prime sets (3);2 Creation of a new tricluster (1);3 Addition of pointers to its extent, intent, and modus (3);4 Addition of the tricluster to the set of all triclusters (1).

Memory complexity: O(|I |) (as we need to keep in memory only prime sets,|I | elements in each dictionary + keys).

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 16 / 26

Prime OAC-triclusteringOnline version of the algorithm

Example:

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g1,m1, b1)

1 PrimesObjAttr = {((g1,m1), {b1})}2 PrimesObjCond = {((g1, b1), {m1})}3 PrimesAttrCond = {((m1, b1), {g1})}4 T := T ∪ {PrimesAttrCond [m1, b1],PrimesObjCond [g1, b1],PrimesObjAttr [g1,m1]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g1,m2, b1)

1 PrimesObjAttr = {((g1,m1), {b1}), ((g1,m2), {b1})}2 PrimesObjCond = {((g1, b1), {m1,m2})}3 PrimesAttrCond = {((m1, b1), {g1}), ((m2, b1), {g1})}4 T := T ∪ {PrimesAttrCond [m2, b1],PrimesObjCond [g1, b1],PrimesObjAttr [g1,m2]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g2,m1, b1)

1 PrimesObjAttr = {((g1,m1), {b1}), ((g1,m2), {b1}), ((g2,m1), {b1})}2 PrimesObjCond = {((g1, b1), {m1,m2}), ((g2, b1), {m1})}3 PrimesAttrCond = {((m1, b1), {g1, g2}), ((m2, b1), {g1})}4 T := T ∪ {PrimesAttrCond [m1, b1],PrimesObjCond [g2, b1],PrimesObjAttr [g2,m1]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g2,m2, b1)

1 PrimesObjAttr = {((g1,m1), {b1}), ((g1,m2), {b1}), ((g2,m1), {b1}), ((g2,m2), {b1})}2 PrimesObjCond = {((g1, b1), {m1,m2}), ((g2, b1), {m1,m2})}3 PrimesAttrCond = {((m1, b1), {g1, g2}), ((m2, b1), {g1, g2})}4 T := T ∪ {PrimesAttrCond [m2, b1],PrimesObjCond [g2, b1],PrimesObjAttr [g2,m2]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g3,m3, b1)

1 PrimesObjAttr ={((g1,m1), {b1}), ((g1,m2), {b1}), ((g2,m1), {b1}), ((g2,m2), {b1}), ((g3,m3), {b1})}

2 PrimesObjCond = {((g1, b1), {m1,m2}), ((g2, b1), {m1,m2}), ((g3, b1), {m3})}3 PrimesAttrCond = {((m1, b1), {g1, g2}), ((m2, b1), {g1, g2}), ((m3, b1), {g3})}4 T := T ∪ {PrimesAttrCond [m3, b1],PrimesObjCond [g3, b1],PrimesObjAttr [g3,m3]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g1,m2, b2)

1 PrimesObjAttr = {((g1,m1), {b1}), ((g1,m2), {b1, b2}), ((g2,m1),{b1}), ((g2,m2), {b1}), ((g3,m3), {b1})}

2 PrimesObjCond = {((g1, b1), {m1,m2}), ((g2, b1), {m1,m2}), ((g3, b1),{m3}), ((g1, b2), {m2})}

3 PrimesAttrCond = {((m1, b1), {g1, g2}), ((m2, b1), {g1, g2}), ((m3, b1),{g3}), ((m2, b2), {g1})}

4 T := T ∪ {PrimesAttrCond [m2, b2],PrimesObjCond [g1, b2],PrimesObjAttr [g1,m2]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g2,m1, b2)

1 PrimesObjAttr = {((g1,m1), {b1}), ((g1,m2), {b1, b2}), ((g2,m1), {b1, b2}),((g2,m2), {b1}), ((g3,m3), {b1})}

2 PrimesObjCond = {((g1, b1), {m1,m2}), ((g2, b1), {m1,m2}), ((g3, b1), {m3}),((g1, b2), {m2}), ((g2, b2), {m1})}

3 PrimesAttrCond = {((m1, b1), {g1, g2}), ((m2, b1), {g1, g2}), ((m3, b1), {g3}),((m2, b2), {g1}), ((m1, b2), {g2})}

4 T := T ∪ {PrimesAttrCond [m1, b2],PrimesObjCond [g2, b2],PrimesObjAttr [g2,m1]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g2,m2, b2)

1 PrimesObjAttr = {((g1,m1), {b1}), ((g1,m2), {b1, b2}), ((g2,m1), {b1, b2}),((g2,m2), {b1, b2}), ((g3,m3), {b1})}

2 PrimesObjCond = {((g1, b1), {m1,m2}), ((g2, b1), {m1,m2}), ((g3, b1), {m3}),((g1, b2), {m2}), ((g2, b2), {m1,m2})}

3 PrimesAttrCond = {((m1, b1), {g1, g2}), ((m2, b1), {g1, g2}), ((m3, b1), {g3}),((m2, b2), {g1, g2}), ((m1, b2), {g2})}

4 T := T ∪ {PrimesAttrCond [m2, b2],PrimesObjCond [g2, b2],PrimesObjAttr [g2,m2]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

→ (g3,m3, b2)

1 PrimesObjAttr = {((g1,m1), {b1}), ((g1,m2), {b1, b2}), ((g2,m1), {b1, b2}), ((g2,m2),{b1, b2}), ((g3,m3), {b1, b2})}

2 PrimesObjCond = {((g1, b1), {m1,m2}), ((g2, b1), {m1,m2}), ((g3, b1), {m3}), ((g1, b2),{m2}), ((g2, b2), {m1,m2}), ((g3, b2), {m3})}

3 PrimesAttrCond = {((m1, b1), {g1, g2}), ((m2, b1), {g1, g2}), ((m3, b1), {g3}),((m2, b2), {g1, g2}), ((m1, b2), {g2}), ((m3, b2), {g3})}

4 T := T ∪ {PrimesAttrCond [m3, b2],PrimesObjCond [g3, b2],PrimesObjAttr [g3,m3]}

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

Postprocessing:

1 T(g1,m1,b1) = (g1, g2,m1,m2, b1)← add

2 T(g1,m2,b1) = (g1, g2,m1,m2, b1, b2)← add

3 T(g2,m1,b1) = (g1, g2,m1,m2, b1, b2)← the same as T(g1,m2,b1), skip

4 T(g2,m2,b1) = (g1, g2,m1,m2, b1, b2)← the same as T(g1,m2,b1), skip

5 T(g3,m3,b1) = (g3,m3, b1, b2)← add

6 T(g1,m2,b2) = (g1, g2,m2, b1, b2)← add

7 T(g2,m1,b2) = (g2,m1,m2, b1, b2)← add

8 T(g2,m2,b2) = (g1, g2,m1,m2, b1, b2)← the same as T(g1,m2,b1), skip

9 T(g3,m3,b2) = (g3,m3, b1, b2)← the same as T(g3,m3,b1), skip

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Prime OAC-triclusteringOnline version of the algorithm

The final output set of triclusters:

1 T1 = ({g1, g2}, {m1,m2}, {b1})2 T2 = ({g1, g2}, {m1,m2}, {b1, b2})3 T3 = ({g3}, {m3}, {b1, b2})4 T4 = ({g1, g2}, {m2}, {b1, b2})5 T5 = ({g2}, {m1,m2}, {b1, b2})

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 17 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 18 / 26

ExperimentsDescription of the experiments

Goals:

Show that the online algorithm of p-dimensional attribute clusteringoutperforms the basic algorithm

Confirm the complexity estimations

For each dataset for each version of the algorithm 11 experiments were conducted:for each there were different density threshold (from 0 to 1 with 0.1 intervals). Toevaluate the time more precisely, for each context there were 5 runs of thealgorithms with the average result recorded.Additional tests to check the performance on big datasets and confirm linearity ofthe online algorithm.

All experiments were conducted on the computer with Intel Core i7-351U 2.40GHz processor, 8 GB RAM, Windows 8 operating system.

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 19 / 26

ExperimentsDatasets

5 pseudo-random uniform contexts 50× 50× 50. Probability of eachquadruple’s presence varied from 0.02 to 0.1 with 0.02 interval

10 pseudo-random uniform contexts with average density equal to 0.001.Cardinalities of sets varied from 100 to 1000 with 100 interval

Top-250 list of IMDB (Internet Movie Database) (triples: (movie, tag,genre))

Sample of 3000 triples of the first 100 000 triples of Bibsonomy.org dataset(triples: (user, bookmark, tag))

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 20 / 26

ExperimentsDatasets

Context |G | |M| |B| # triples Density

Synthetic1, 0.02 50 50 50 2530 0.02024Synthetic1, 0.04 50 50 50 5001 0.04001Synthetic1, 0.06 50 50 50 7454 0.05963Synthetic1, 0.08 50 50 50 10046 0.08037Synthetic1, 0.1 50 50 50 12462 0.09970Synthetic2, 100 100 100 100 996 0.001Synthetic2, 200 200 200 200 7995 0.001Synthetic2, 300 300 300 300 27161 0.001Synthetic2, 400 400 400 400 63921 0.001Synthetic2, 500 500 500 500 125104 0.001Synthetic2, 600 600 600 600 216021 0.001Synthetic2, 700 700 700 700 343157 0.001Synthetic2, 800 800 800 800 512097 0.001Synthetic2, 900 900 900 900 729395 0.001Synthetic2, 1000 1000 1000 1000 1000589 0.001

IMDB 250 795 22 3818 0.00087BibSonomy 51 924 2844 3000 0.000022

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 20 / 26

ExperimentsResults

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 21 / 26

ExperimentsResults

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 21 / 26

ExperimentsResults

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 22 / 26

ExperimentsResults

Densities for the contexts:

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 23 / 26

ExperimentsResults

Densities for the contexts:

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 23 / 26

Outline

1 Motivation

2 Prime OAC-triclusteringFormal concept analysisBasic algorithmOnline version of the algorithm

3 ExperimentsDescription of the experimentsDatasetsResults

4 Conclusion

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 24 / 26

Conclusion

Prime OAC-triclustering algorithm was described

One-pass linear online version of its basic algorithm was proposed

Efficiency of the online algorithm and complexities of both algorithms wereconfirmed.

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 25 / 26

Thank you!

Questions?

Dmitry V. Gnatyshak et al. A One-Pass Triclustering Approach 10.10.2014 26 / 26