Fast Discovery of Sequential Patterns through Memory Indexing and Database Partitioning
|
|
|
- Shonda Tucker
- 10 years ago
- Views:
Transcription
1 JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 21, (2005) Fast Discovery of Sequential Patterns through Memory Indexing and Database Partitioning MING-YEN LIN AND SUH-YIN LEE * * Department of Computer Science and Information Engineering National Chiao Tung University Hsinchu, 300 Taiwan [email protected] Department of Information Engineering and Computer Science Feng Chia University Taichung, 407 Taiwan [email protected] Sequential pattern mining is a challenging issue because of the high complexity of temporal pattern discovering from numerous sequences. Current mining approaches either require frequent database scanning or the generation of several intermediate databases. As databases may fit into the ever-increasing main memory, efficient memory-based discovery of sequential patterns is becoming possible. In this paper, we propose a memory indexing approach for fast sequential pattern mining, named MEMISP. During the whole process, MEMISP scans the sequence database only once to read data sequences into memory. The find-then-index technique is recursively used to find the items that constitute a frequent sequence and constructs a compact index set which indicates the set of data sequences for further exploration. As a result of effective index advancing, fewer and shorter data sequences need to be processed in MEMISP as the discovered patterns get longer. Moreover, we can estimate the maximum size of the total memory required, which is independent of the minimum support threshold, in MEMISP. Experimental results indicate that MEMISP outperforms both GSP and PrefixSpan (general version) without the need for either candidate generation or database projection. When the database is too large to fit into memory in a batch, we partition the database, mine patterns in each partition, and validate the true patterns in the second pass of database scanning. Experiments performed on extra-large databases demonstrate the good performance and scalability of MEMISP, even with very low minimum support. Therefore, MEMISP can efficiently mine sequence databases of any size, for any minimum support values. Keywords: data mining, sequential patterns, memory indexing, find-then-index, database partitioning 1. INTRODUCTION A complicated issue in data mining is the discovery of sequential patterns, which involves finding frequent sub-sequences in a sequence database. For example, in the transactional database of an electronic store, each record may correspond to a sequence of a customer s transactions ordered by transaction time. An example sequential pattern might be one in which customers typically bought a PC and printer, followed by the pur- Received December 12, 2002; revised June 25 & December 24, 2003; accepted April 27, Communicated by Ming-Syan Chen. 109
2 110 MING-YEN LIN AND SUH-YIN LEE chase of a scanner and graphics software, and then a digital camera. The mining technique is useful for many applications, including the analysis of Web traversal patterns, telecommunication alarms, and DNA sequences to name a few. Sequential pattern mining is more difficult than association rule mining because the patterns are formed not only by combining items but also by permuting item-sets. Enormous patterns can be formed as the length of a sequence is not limited and the items in a sequence are not necessarily distinct. Let the size of a sequence be the total number of items in that sequence. Given 100 possible items in a sequence database, the number of potential patterns of size two is (100 99)/2, that of size three is [(100 99)/2] 2 + ( )/(2 3), and so on. Owing to the challenge posed by exponential possible combinations, improving the efficiency of sequential pattern mining has been the focus of recent research in data mining [2, 3, 7, 9, 11, 13, 17, 18, 20, 21]. In general, the mining approaches are either of the generate-and-test framework or pattern-growth types for sequence databases with horizontal layouts. Typifying the former approaches [2, 8, 16], the GSP (Generalized Sequential Pattern) algorithm [16] generates potential patterns (called candidates), scans each data sequence in the database to compute the frequencies of candidates (called supports), and then identifies candidates having enough supports as sequential patterns. The sequential patterns in the current database pass become seeds for generating candidates in the next pass. This generate-and-test process is repeated until no more new candidates are generated. When candidates cannot fit into memory in a batch, GSP re-scans the database to test the remaining candidates that have not been loaded into memory. Consequently, GSP scans the on-disk database at least k times if the maximum size of the discovered patterns is k, and this incurs much disk reading. Despite the fact that GSP was good at candidate pruning, the number of candidates is still huge, which might reduce mining efficiency. The PrefixSpan (Prefix-projected Sequential pattern mining) algorithm [11], representing the pattern-growth methodology [4, 6, 11], finds the frequent items after scanning the sequence database once. The database is then projected, according to the frequent items, into several smaller databases. Finally, the complete set of sequential patterns is found by recursively growing subsequence fragments in each projected database. Two optimizations for minimizing disk projections were described in [11]. The bi-level projection technique, for huge databases scans each data sequence twice in the (projected) database so that fewer and smaller projected databases are generated. The pseudoprojection technique, while avoiding physical projections, maintains the sequencepostfix of each data sequence in a projection by means of a pointer-offset pair. However, according to [11], the maximum mining performance can be achieved only when the database size is reduced to the size accommodable by the main memory by employing pseudo-projection after using bi-level optimization. Although PrefixSpan successfully discovers patterns employing the divide-and-conquer strategy, the cost of disk I/O might be high due to the creation and processing of the projected sub-databases. Besides the horizontal layout, the sequence database can be transformed into a vertical format consisting of items id-lists [10, 21]. The id-list of an item is a list of (sequence-id, timestamp) pairs indicating the occurring timestamps of the item in that sequence. Searching in the lattice formed by id-list intersections, the SPADE (Sequential PAttern Discovery using Equivalence classes) algorithm [21] completes mining in three
3 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING 111 passes of database scanning. Nevertheless, additional computation time is required to transform a database with a horizontal layout into one with a vertical format, which will also require several times more storage space than the original sequence database. With costs falling and installed memory increasing in size, many small or medium sized databases can now fit into main memory. For example, a platform with 256MB of memory can hold a database with one million sequences and a total size of 189MB. Pattern mining performed directly in memory is now possible. However, current approaches discover patterns either through multiple scans of the database or by means of iterative database projections, thereby requiring a huge number of disk operations. The mining efficiency can be improved if the excessive disk I/O is reduced by enhancing memory utilization in the discovery process. Here, we propose a memory-indexing approach for fast discovery of sequential patterns, called MEMISP (MEMory Indexing for Sequential Pattern mining). With MEMISP, there is neither candidate generation nor database projection, and both CPU and memory utilization are high. MEMISP reads data sequences into memory in the first pass, which is also the sole pass, of database scanning. Through index advancement within an index set composed of pointers and position indices to data sequences, MEMISP discovers patterns by using a recursive find-then-index technique. When the database is too large to fit into the main memory, we can still mine patterns efficiently in two database scans by running MEMISP using a partition-and-validation technique discussed in section 3.3. The experiments we conducted show that MEMISP runs faster than both the GSP and PrefixSpan (without pseudo-projection optimization) algorithms for databases of any size. The rest of the paper is organized as follows. The problem is formulated and related works are reviewed in section 2. Section 3 presents the MEMISP algorithm. The experimental results of mining memory-accommodable databases and extra-large databases are described in section 4. We discuss the performance factors of MEMISP in section 5 and conclude the study in section Problem Statement 2. PROBLEM STATEMENT AND RELATED WORK A sequence s, denoted by <e 1 e 2 e n >, is an ordered set of n elements, where each element e i is an itemset. An itemset, denoted by (x 1, x 2,, x q ), is a nonempty set of q items, where each item x j is represented by a literal. Without loss of generality, items in an element are assumed to be in lexicographic order. The size of sequence s, written as s, is the total number of items in all the elements in s. Sequence s is a k-sequence if s = k. For example, <(a)(c)(a)>, <(a, c)(a)>, and <(b)(a, e)> are all 3-sequences. A sequence s = <e 1 e 2 e n > is a subsequence of another sequence s' = <e 1 'e 2 ' e m '> if there exist 1 i 1 < i 2 < < i n m such that e 1 e i 1 ', e 2 e i 2 ',, and e n e i n '. Sequence s' contains sequence s if s is a subsequence of s'. For example, <(b, c)(c)(a, c, e)> contains <(b)(a, e)>. Each sequence in the sequence database DB is referred to as a data sequence. The support of sequence s, denoted as s.sup, is the number of data sequences containing s divided by the total number of data sequences in DB. Minsup is the user specified mini-
4 112 MING-YEN LIN AND SUH-YIN LEE mum support threshold. A sequence s is a frequent sequence, also called a sequential pattern, if s.sup minsup. Given minsup and the sequence database DB, the problem of sequential pattern mining is to discover the set of all sequential patterns. An example database DB having 6 data sequences is listed in the first column in Table 1. Take the data sequence C6 as an example. It has three elements (i.e., three itemsets), the first having items b and c, the second having item c, and the third having items a, c, and e. The support of <(b)(a)> is 4/6 since all the data sequences, except C2 and C3, contain <(b)(a)>. <(a, d)(a)> is a subsequence of both C1 and C4; thus, <(a, d)(a)>.sup = 2/6. Given minsup = 50%, <(b)(a)> is a sequential pattern while <(a, d)(a)> is not. The set of all sequential patterns is shown in the second column of Table 1. Table 1. Example sequence database DB and the sequential patterns. Sequence C1 = <(a, d)(b, c)(a, e)> C2 = <(d, g)(c, f)(b, d)> C3 = <(a, c)(d)(f)(b)> C4 = <(a, b, c, d)(a)(b)> C5 = <(b, c, d)(a, c, e)(a)> C6 = <(b, c)(c)(a, c, e)> Sequential patterns (minsup=50%) <(a)>, <(a)(a) >, <(a)(b)>, <(a, c)>, <(a, e)>, <(b)>, <(b)(a)>, <(b)(a, e)>, <(b)(e)>, <(b, c)>, <(b, c)(a)>, <(b, c)(a, e)>, <(b, c)(e)>, <(b, d)>, <(c)>, <(c)(a)>, <(c)(a, e)>, <(c)(b)>, <(c)(e)>, <(d)>, <(d)(a)>, <(d)(b)>, <(d)(c)>, <(e)> 2.2 Related Works The problem of sequential pattern mining was first described and solved in [2] with the AprioriAll algorithm. In a subsequent work, the same authors proposed the GSP algorithm [16], which outperformed AprioriAll. The GSP algorithm makes multiple passes over the database and finds frequent k-sequences at the k-th database scan. Initially, each item is a candidate 1-sequence for the first pass. Frequent 1-sequences are determined after all the data sequences in the database are checked. In succeeding passes, frequent (k 1)-sequences are self-joined to generate candidate k-sequences, and then any candidate k-sequence having a non-frequent sub-sequence is deleted. Again, the supports of candidate k-sequences are counted by examining all the data sequences, and then those candidates having the minimum supports become frequent sequences. This process terminates when there are no more candidate sequences. Owing to the generate-and-test nature of this approach, the number of candidates often dominates the overall mining time. However, the total number of candidates increases exponentially as minsup decreases, even when effective pruning techniques are used. The PSP (Prefix Sequential Pattern) algorithm [8] is similar to GSP except that the placement of candidates is improved through a prefix tree arrangement to speed up discovery. The FreeSpan (Frequent pattern-projected Sequential Pattern Mining) algorithm was proposed to mine sequential patterns using a database projection technique [4]. FreeSpan first finds the frequent items after scanning the database once. The sequence database is then projected, according to the frequent items, into several smaller databases. Finally, all sequential patterns are found by recursively growing subsequence fragments
5 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING 113 in each database. Based on a similar projection technique, the authors proposed the PrefixSpan algorithm [11]. PrefixSpan outperforms FreeSpan in that only effective postfixes are projected. The bi-level and pseudo-projection techniques further enhance PrefixSpan by enabling it to project fewer sub-databases. However, the combined total size of the projected databases might be several times larger than the size of the original database. In addition, the SPADE algorithm finds sequential patterns using a vertical database layout and join-operations [21]. The vertical database layout transforms data sequences into items id-lists. The id-list of an item is a list of (sequence-id, timestamp) pairs indicating the occurring timestamps of the item in that sequence-id. The list pairs are joined to form a sequence lattice, in which SPADE searches and discovers patterns [21]. However, transforming the naturally horizontal database into vertical requires additional space since a sequence-id is repeated in several items id-lists. The gain achieved by using the vertical approach might be diminished owing to the additional space and transforming time required while mining large databases. In order to boost the mining performance, memory utilization should be increased to minimize the required number of disk operations, especially when dealing ever-larger sequence databases. Therefore, we propose the MEMISP algorithm, which will be described next. 3. MEMISP: MEMORY INDEXING FOR SEQUENTIAL PATTERN MINING In this section, the proposed method for sequential pattern mining, named MEMISP, is described. MEMISP uses a recursive find-then-index strategy to discover all the sequential patterns from in-memory data sequences. MEMISP first reads all the data sequences into memory and counts the supports of 1-sequences (i.e., sequences having only one item). Next, an index set for each frequent 1-sequence is constructed and then frequent sequences are found using the data sequences indicated by the index set. In section 3.1, the mining of an example database is use to explain how the algorithm works. Section 3.2 will present the algorithm. The procedure for dealing with extra-large databases that can not fit into to the main memory space is described in section 3.3. Section 3.4 discusses the differences between MEMISP and PrefixSpan. Some implementation issues are discussed in section Mining Sequential Patterns with MEMISP: an Example Definition (Type-1 pattern, type-2 pattern, stem, P-pat) Given a pattern ρ and a frequent item x in the sequence database DB, ρ is a type-1 pattern if it can be formed by appending the itemset (x) as a new element to ρ, and is a type-2 pattern if it can be formed by extending the last element of ρ with x. The frequent item x is called the stem-item (abbreviated as stem) of the sequential pattern ρ, and ρ is the prefix pattern (abbreviated as P-pat) of ρ. For example, given a pattern <(a)> and the frequent item b, we obtain the type-1 pattern <(a)(b)> by appending (b) to <(a)> and the type-2 pattern <(a, b)> by extending <(a)> with b. <(a)> is the P-pat, and b is the stem of both <(a)(b)> and <(a, b)>. As for a
6 114 MING-YEN LIN AND SUH-YIN LEE type-2 pattern <(c)(a, d)>, its P-pat is <(c)(a)>, and its stem is d. Note that the null sequence, denoted as <>, is the P-pat of any frequent 1-sequence. Clearly, any frequent k-sequence is either a type-1 pattern or a type-2 pattern of a frequent (k 1)-sequence. Example 1: Given minsup = 50% and the DB shown in Table 1, MEMISP mines the patterns through the following steps. Step 1: Read DB into memory and find frequent 1-sequences. We accumulate the count of every item while reading data sequences from DB into memory. The in-memory DB will be referred to as MDB hereafter. Hence, we have frequent items a (count = 5 for appearing in 5 data sequences C1, C3, C4, C5, C6), b (count = 6), c (count = 6), d (count = 5), and e (count = 3). All these frequent items are stems of the type-1 patterns with respect to the P-pat = <>. Loop steps 2 and 3 on each stem to find all the sequential patterns. Step 2: Output the sequential pattern ρ formed by the current P-pat and stem x, and construct the index set ρ-idx. We output a sequential pattern ρ generated by the current P-pat and stem x. Next, we allocate a (ptr_ds, pos) pair for each data sequence ds in MDB if and only if ds contains x, where ptr_ds is a pointer to ds and pos is the first occurring position of x in ds. The set of these (ptr_ds, pos) pairs is called index set ρ-idx. Take stem x = a as an example. Now, the P-pat is <>. We output the type-1 sequential pattern ρ = <(a)> and construct the index set <(a)>-idx as shown in Fig. 1-(1). For instance, the pos is 1 for C1 = <(a, d)(b, c)(a, e)> and 4 for C6 = <(b, c)(c)(a, c, e)>. (1) <(a)>-idx (2) <(a)(a)>-idx <(a,d)(b,c)(a,e)> <(d,g)(c,f)(b,d)> <(a,c)(d)(f)(b)> <(a,b,c,d)(a)(b)> <(b,c,d)(a,c,e)(a)> <(b,c)(c)(a,c,e)> <(a,d)(b,c)(a,e)> 5 <(d,g)(c,f)(b,d)> <(a,c)(d)(f)(b)> 5 <(a,b,c,d)(a)(b)> 7 <(b,c,d)(a,c,e)(a)> <(b,c)(c)(a,c,e)> (3) <(a)(b)>-idx <(a,d)(b,c)(a,e)> <(d,g)(c,f)(b,d)> <(a,c)(d)(f)(b)> <(a,b,c,d)(a)(b)> <(b,c,d)(a,c,e)(a)> <(b,c)(c)(a,c,e)> (4) <(a,c)>-idx <(a,d)(b,c)(a,e)> <(d,g)(c,f)(b,d)> <(a,c)(d)(f)(b)> <(a,b,c,d)(a)(b)> <(b,c,d)(a,c,e)(a)> <(b,c)(c)(a,c,e)> (5) <(a,c)(a)>-idx 5 7 (6) <(a,e)>-idx <(a,d)(b,c)(a,e)> <(d,g)(c,f)(b,d)> <(a,c)(d)(f)(b)> <(a,b,c,d)(a)(b)> <(b,c,d)(a,c,e)(a)> <(b,c)(c)(a,c,e)> <(a,d)(b,c)(a,e)> <(d,g)(c,f)(b,d)> <(a,c)(d)(f)(b)> <(a,b,c,d)(a)(b)> <(b,c,d)(a,c,e)(a)> <(b,c)(c)(a,c,e)> (7) <(b)>-idx <(a,d)(b,c)(a,e)> <(d,g)(c,f)(b,d)> <(a,c)(d)(f)(b)> <(a,b,c,d)(a)(b)> <(b,c,d)(a,c,e)(a)> <(b,c)(c)(a,c,e)> : index-set : MDB (the in-memory DB) Fig. 1. Some index sets and the in-memory DB.
7 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING 115 Step 3: Use index set ρ-idx and MDB to find stems with respect to P-pat = ρ. Any sequential pattern having the current pattern ρ as its P-pat will be identified in this step. Now, the ptr_ds of each (ptr_ds, pos) pair in ρ-idx points to a data sequence ds that contains ρ. Any item appearing after the pos position in ds could be a potential stem (with respect to ρ). Thus, for every ds existing in ρ-idx, we increase the count of such an item (an item appearing after the pos in ds) by one and then identify the stems having sufficiently large support counts. Let us continue with <(a)>-idx. The pos of the (ptr_ds, pos) pointing to C1 is 1. Only those items occurring after position 1 in C1 need to be counted. We increase the count of the potential stem d (for the potential type-2 pattern <(a, d)>) by one (also the potential stem e for <(a, e)>). We also increase the count of the potential stem b (also c, a, and e) for the potential type-1 pattern <(a)(b)> (<(a)(c)>, <(a)(a)>, and <(a)(e)>) by one. Analogously, items occurring after positions 1, 1, 4, and 4 for data sequences C3, C4, C5, and C6, respectively, are counted. After validating the support counts, we obtain stems a, b of type-1 patterns and stems c, e of type-2 patterns with respect to P-pat = <(a)>. Steps 2 and 3 are then recursively applied on the stems a, b, c, and e with P-pat = <(a)>. We continue the mining with stem a and P-pat = <(a)> as follows. By applying step 2, we generate and output the sequential pattern ρ = <(a)(a)>. Again, a new (ptr_ds, pos) pair for a data sequence ds is inserted into ρ-idx (<(a)(a)>-idx) if and only if ds contains ρ. While constructing <(a)(a)>-idx, we simply check the data sequences indicated by the current index set, i.e., <(a)>-idx, rather than those in MDB. Assume that a pair (ptr_ds, pos) in <(a)>-idx points to ds. The search for the occurring position of stem a (with respect to P-pat = <(a)>) starts from position pos + 1 in ds. Item a occurs at 5 in C1 and in C4, and at 7 in C5. No entry is created for C3 and C6 since item a cannot be found after positions 1 and 4, respectively. Hence, we have the new index set <(a)(a)>-idx as shown in Fig. 1-(2). Note that the current index set is pushed for later mining before the new index set becomes active. When step 3 with <(a)(a)>-idx and MDB is applied, no stems can form additional sequential patterns. Therefore, mining stops, and the previous index set, i.e., <(a)>-idx, is popped. Mining continues with stem b. Through the creation and mining of <(a)(b)>-idx, pattern <(a)(b)> is output, but no more patterns are found. Next, <(a, c)>-idx is constructed. The result of applying step 2 with <(a, c)>-idx is the generation of <(a, c)> and discovery of the next stem a. Thus, <(a, c)>-idx is pushed, and <(a, c)(a)>-idx is created. After mining with <(a, c)(a)>-idx, which stops when nothing is found and outputs the pattern <(a, c)(a)>, the pattern <(a, e)> is generated during mining with <(a, e)>-idx. All the subsequent find-then-index processes regarding stem a with P-pat = <> now finish. By collecting the patterns found in the above process, MEMISP efficiently discovers all the sequential patterns. 3.2 The MEMISP Algorithm The central idea of MEMISP is to utilize memory for both data sequences and indices in the mining process. A computer memory size of 256MB is very common nowa-
8 116 MING-YEN LIN AND SUH-YIN LEE days and can accommodate a sequence database having one million sequences and a size of 189MB as indicated by our experiments. Processing sequences in-memory is more efficient than disk-based processing with either multiple scans or iterative projections. MEMISP scans only once over the database and reads data sequences into memory during the whole mining process. Starting with sequential patterns of size one, MEMISP then discovers all the frequent sequences of larger sizes recursively by searching the set of in-memory data sequences having common sub-sequences. Fig. 2 outlines the proposed MEMISP algorithm. Algorithm MEMISP Input: DB = a sequence database; minsup = minimum support. Output: the set of all sequential patterns. Method: 1. Scan DB into MDB (the in-memory DB), find the set of all frequent items. 2. For each frequent item x, (i) form the sequential pattern ρ = <(x)> and output ρ. (ii) call IndexSet(x, <>, MDB) to construct the index set ρ-idx. (iii) call Mine(ρ, ρ-idx) to mine patterns with index set ρ-idx. Subroutine IndexSet(x, ρ, range-set) Parameters: x = a stem-item; ρ = a (P-pat) pattern; range-set = the set of data sequences for indexing. /* If range-set is an index set, then each data sequence for indexing is pointed to by the ptr_ds of the (ptr_ds, pos) entry in the index set */ Output: index set ρ'-idx, where ρ' denotes the pattern formed by stem-item x and P-pat. Method: 1. For each data sequence ds in range-set, (i) if range-set = MDB then start-pos = 0; otherwise start-pos = pos. (ii) starting from position (start-pos + 1) in ds, if the stem-item x is first found at position pos in ds, then insert a (ptr_ds, pos) pair into the index set ρ'-idx, where ptr_ds points to ds. 2. Return index set ρ'-idx. Subroutine Mine(ρ, ρ-idx) Parameter: ρ = a pattern; ρ-idx = an index set. Method: 1. For each data sequence ds pointed to by the ptr_ds of an entry (ptr_ds, pos) in ρ-idx, (i) starting from position (pose+1) to ds in ds, increase the support count of each potential stem x by one. 2. Find the set of stems x having a larger enough support count to form a sequential pattern. 3. For each stem x, (i) form the sequential pattern ρ' with P-pat ρ and stem x, output ρ'. (ii) call IndexSet(x, ρ, ρ-idx) to construct the index set ρ'-idx. (iii) call Mine(ρ', ρ'-idx) to mine patterns with index set ρ'-idx. Fig. 2. Algorithm MEMISP.
9 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING 117 In order to speed up the mining process by means of focused search, we construct a set which groups the data sequences to be checked. A data sequence ds participates in finding pattern ρ only when ds contains the P-pat (prefix-pattern) ρ of pattern ρ. Consequently, for each ds containing ρ, we create a pointer ptr_ds pointing to ds in the set used for exploring patterns ρ having P-pat ρ. The set is denoted as ρ-idx. For each data sequence ds pointed to ρ-idx, we associate ptr_ds with a position index pos indicating where (in ds) we should begin to find potential stems. That is, ρ-idx is the set of (ptr_ds, pos) pairs for discovering patterns whose P-pat = ρ. Take the data sequence C6 = <(b, c)(c)(a, c, e)> in memory as an example. We may find <(b)> occurring at position 1, <(b, c)> occurring at composite position (1, 2), and <(b, c)(a)> occurring at composite position (1, 2, 4). Assume that items b, c, and a are frequent. While mining patterns having P-pat <(b)>, we include C6 in the index set with pos = 1, suggesting that only items appearing after position 1 in C6 should engage in mining. Similarly, C6 will be included in the index set for patterns having P-pat <(b, c)> with pos = 2 or P-pat <(b, c)(a)> with pos = 4. As the discovered P-pat becomes longer, the index set will contain fewer data sequences to be processed. Moreover, the number of items in each data sequence remaining to be processed will decrease. Through recursive finding-then-indexing, the proposed MEMISP algorithm efficiently discovers sequential patterns. 3.3 Dealing with Extra-Large Databases by Means of Database Partitioning With memory sizes increasing, many databases will now fit into the main memory of computers without difficulty. Still, some databases might be too large for the main memory to accommodate in a batch. In this case, the sequential patterns are discovered by using a partition-and-validation technique, as shown in Fig. 3. DB D 1 D 2 D p... first scan apply MEMISP to find frequent sequences in each partition F 1 F 2 F p C = F i, 1 i p F i is saved on disk... compute supports of the patterns second scan True patterns found in C DB: the sequence database D i : a partition of DB which fits in memory F i : set of frequent sequences in partition D i C: set of potential patterns, C = F i, 1 i p Fig. 3. Partition the database and discover patterns for extra-large databases.
10 118 MING-YEN LIN AND SUH-YIN LEE The extra-large database DB is partitioned so that each partition can be handled in main memory by MEMISP. The number of partitions is minimized by reading as many data sequences into main memory as possible to constitute a partition. The set of potential patterns in DB is obtained by collecting the discovered patterns after running MEMISP on these partitions. The true patterns can be identified with only one extra database pass through support counting against all the data sequences in DB one at a time. Therefore, we can employ MEMISP to mine databases of any size, with any minimum support, in just two passes of database scanning. In comparison with other approaches, MEMISP reduces the total number of complete database passes to two without requiring any additional storage space. SPADE needs to scan the database three times and demands disk storage space for the transformed vertical database. GSP scans at least k times to discover the frequent k-sequences. PrefixSpan often creates and processes projected databases that are several times the original database size. 3.4 Differences between MEMISP and PrefixSpan The PrefixSpan algorithm proposed in [11] can be optimized with bi-level and pseudo-projection techniques. A pseudo-projection technique keeps redundant pieces of postfixes form being projected when the database/projected database can be held in main memory. PrefixSpan and MEMISP differ although the two algorithms both utilize memory for fast computation. The differences are illustrated by the following two cases: (1) when the database can be held in main memory; (2) when the database cannot be held in main memory. When the database can be held in main memory, the two algorithms find the patterns in a similar, but still different way. Both algorithms load the database into memory, but differ in how they process in-memory sequences. The PrefixSpan algorithm removes in-frequent items and greatly shrinks projected sequences. Example 3 in [11] clearly demonstrates such projections in that item g is not projected in Table 2 in [11]. Pseudoprojection maintains the sequence-postfix of each data sequence in memory by means of a pointer-offset pair. The detailed implementation of PrefixSpan with the pseudo-projection technique has not been reported in the literature. However, using just one pointeroffset pair to indicate the occurrence of the prefix is not enough. For example, if C1 = <(a, d)(b, c)(a, e)> to the pseudo-projected sub-database having prefix <(a)> with just one pointer-offset pair, (C1, 1), and if there is no offset specifying a in the third element (a, e), then the e could be missed in support-counting. Thus, each occurrence of the prefix should be recorded in a pointer-offset list, rather than by a pointer-offset pair. The MEMISP algorithm removes no items from the in-memory sequences. Intermediate in-memory database generation and rearrangement of sequences are not required at all. The sole in-memory sequence database originally loaded is used throughout the whole process. We shift the index without modifying any in-memory sequence to skip the in-frequent items in each iteration. The functionality of the pointer-offset list in PrefixSpan+pseudo_projection is accomplished by the (ds_ptr, pos) index pair in MEMISP. MEMISP matches the prefix from the (pos + 1)-th position of the data sequence without using variable-length lists to prevent miscounting. Fast index advancement could eliminate the need to process the in-frequent items.
11 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING 119 When the database cannot be held in main memory, MEMISP is totally different from PrefixSpan. PrefixSpan, either with or without pseudo-projection, generates and scans sub-databases that might be several times the original database size. Even with the bi-level projection technique, PrefixSpan still might suffer from a low support value when generating many projected sub-databases before pseudo-projection could help. For any support value, MEMISP scans the database only twice, and no more times, without generating any intermediate databases. Bi-level projection is proposed to reduce the number and size of projected databases, at the cost of double scanning to fill the S-matrix (see Lemma 3.3 [11]). When extra-large databases are dealt with using bi-level projection, the entire database is scanned at least twice at the beginning. Then, if each projected database can luckily fit into the available memory, then pseudo-projection can be applied. This results in the fewest scans, which is more than twice in total, PrefixSpan can do. Otherwise, re-applying bi-level projection could result increasing in the total number of scans to many more than two. Nevertheless, the current version of PrefixSpan only uses pseudo-projection optimization since bi-level projection does not always achieve the best performance [23]. MEMISP partitions an extra-large database to several sub-databases; each subdatabase can be fit into the available memory. The first scan, which mines each subdatabase independently using MEMISP, identifies the potential candidates. The second scan verifies whether each candidate has sufficient support to be frequent. MEMISP never scans the database, no matter how large it is, more than twice for any value of support. In addition, MEMISP never generates any intermediate databases during the mining process. The partition-based approach was used in [14] for association rule mining. However, MEMISP is the first algorithm that successfully adapts the partitioning technique to the mining of sequential patterns. 3.5 Implementation Issues In common implementations, a data sequence is usually represented as a linked list of itemsets in memory. Such a structure might be suitable for algorithms that access a single data sequence at a time for support counting. In order to facilitate fast index construction and speed up searching from specific positions (in data sequences), MEMISP uses variable-length arrays to hold the data sequences in memory. Data sequence C1 = <(a, d)(b, c)(a, e)>, for instance, is coded as the array = [a, d, $, b, c, $, a, e, $], where $ indicates the end of an element. Therefore, both data sequences and index sets benefit from the array representation in terms of reduced storage space. Efficient searching from specific positions in data sequences is also achieved. When extra-large databases that require partitioning are mined, a percentage of the main memory (say, 5%) must be reserved for holding variables, index sets, etc. In order to determine whether the main memory can accept any more data sequences, the amount of available physical memory is checked periodically while the database is being loaded into memory. Once the percentage of free memory space falls below a predefined value, MEMISP starts to mine the loaded in-memory partition, and the remaining data sequences are handled in subsequent loading runs.
12 120 MING-YEN LIN AND SUH-YIN LEE 4. EXPERIMENTAL RESULTS Extensive experiments were conducted to assess the performance of the MEMISP algorithm. In the experiments, we used an 866 MHz Pentium-III PC with 256MB memory running Windows NT. Like most studies on sequential pattern mining [2, 4, 11, 15, 16, 21], the synthetic datasets for these experiments were generated using the conventional procedure described in [2]. We will briefly review the generation of experimental data in section 4.1. Section 4.2 will compare the results of mining by the GSP, Prefix- Span, and MEMISP algorithms. To verify that MEMISP handles large databases as well, scale-up experiments will be presented in section Generation of Experimental Data The procedure described in [2] models a retailing environment, where each customer purchases a sequence of itemsets. Such a sequence is referred to as a potentially frequent sequence (abbreviated as PFS). Still, some customers might buy only some of the items from a PFS. A customer s data sequence may consist of items from several PFSs. The PFSs are composed of potentially frequent itemsets (abbreviated as PFIs). A table with a total of N I PFIs (denoted as Γ I ) and a table with a total of N S PFSs (denoted as Γ S ) were generated before items were picked for the transactions of customer sequences. Table 2. Parameters used in the experiments. Parameter Description Value DB Number of data sequences in database DB 200K, 500K, 1000K, 10000K C Average size (number of transactions) per customer 10, 20 T Average size (number of items) per transaction 2.5, 5, 7.5 S Average size of potentially sequential patterns 4, 8 I Average size of potentially frequent itemsets 1.25, 2.5, 5 N I Number of potentially frequent itemsets N S Number of possible sequential patterns 5000 N Number of possible items Γ S The table of potentially frequent sequences (PFSs) Γ I The table of potentially frequent itemsets (PFIs) corr S Correlation level (sequence), exponentially distributed µ corrs = 0.25 crup S Corruption level (sequence), normally distributed µ crups = 0.75, σ crups = 0.1 corr I Correlation level (itemset), exponentially distributed µ corri =0.25 crup I Corruption level (itemset), normally distributed µ crupi = 0.75, σ crupi = 0.1 Table 2 summarizes the symbols and the parameters used in the experiments. The procedure for data sequence generation [2] is reviewed here, first the generation of PFIs and PFSs, and then the customer sequences. The number of itemsets in a PFS was generated by picking from a Poisson distribution with mean equal to S. The itemsets in a PFS
13 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING 121 are picked from table Γ I. In order to model that there were common itemsets in frequent sequences, subsequent PFSs in Γ S were related. In the subsequent PFS, a fraction of the itemsets were chosen from the previous PFS, and the other itemsets were picked at random from Γ I. The fraction corr S, called correlation level, was decided by means of an exponentially distributed random variable with mean equal to µ corrs. Itemsets in the first PFS in Γ S were randomly picked. The generation of PFI and Γ I was analogous to the generation of PFS and Γ S, with parameter N items, mean I, correlation level corr I, and mean µ corri correspondingly. Customer sequences were generated as follows. The number of transactions for the next customer and the average size of the transactions for this customer were determined first. The size of the customer s data sequence was picked from a Poisson distribution with mean equal to C. The average size of the transactions was picked from a Poisson distribution with mean equal to T. Items were then assigned to the transactions of the customer. Each customer was assigned a series of PFSs from table Γ S. The assignment of PFSs was based on the weights of PFSs. The weight of a PFS, representing the probability that this PFS would be chosen, was exponentially distributed and then normalized in such a way that the sum of all the weights was equal to one. Since all the itemsets in a PFS were not always bought together, each sequence in Γ S was assigned a corruption level crup S. When itemsets were selected from a PFS for a customer sequence, an itemset was dropped if a uniformly distributed random number between 0 and 1 was less than crup S. The crup S value was a normally distributed random variable with mean µ crups and variance σ crups. The assignment of PFIs (from Γ I ) to a PFS was conducted analogously with the parameters crup I, mean µ crupi, and variance σ crupi. All the datasets used here were generated by setting N = 10000, N S = 5000, and N I = A dataset created with C = α, T = β, S = χ, and I = δ was denoted as Cα-Tβ- Sχ-Iδ. In addition, µ crups and µ crupi were both set to 0.75, and σ crups and σ crupi were both set to 0.1. µ corrs and µ corri were both set to Execution Times of the GSP, PrefixSpan, and MEMISP Algorithms The total execution times of sequence mining with various minsup values of algorithms GSP, PrefixSpan, and MEMISP using a horizontal layout were compared in the experiments. The SPADE algorithm was not implemented in the comparison because additional storage space and computation time were required to change the database to a vertical format. We have two versions of PrefixSpan: PrefixSpan-1 is a general implementation without further optimizations; PrefixSpan-2, obtained from Prof. Han [23], is optimized using the pseudo-projection technique. Dataset C10-T2.5-S4-I1.25 having 200,000 data sequences (37.6MB) was used in the first experiment. Fig. 4 shows that the total execution times of the four algorithms were nearly the same for minsup = 2% because only a few (less than 200) patterns had enough supports. In addition, the discovered patterns were all short patterns of size one. However, the performance gaps became clear as minsup decreased. In the experiment, MEMISP, PrefixSpan-1, and PrefixSpan-2 were faster than GSP for all minsup values. PrefixSpan-2 was faster than MEMISP because prefix checking in MEMISP demands more time than the offset-list operation in PrefixSpan-2. MEMISP was about 3 to 4 times faster than PrefixSpan-1 for a low minsup value.
14 122 MING-YEN LIN AND SUH-YIN LEE Total exe. time (sec.) C10 -T2.5 -S4 -I1.25, DB =200K MEMISP PrefixSpan-1 GSP PrefixSpan-2 0 minsup (%) Fig. 4. Total execution times with respect to various minsup values. Next, the characteristics of the datasets were changed. The results of execution on dataset C20-T2.5-S4-I1.25 ( DB = 200K, 76.3MB) are shown in Fig. 5. The total execution time of running GSP was too long to be shown in Fig. 5 and in the subsequent figures. For the same minsup value, the doubled C generated longer data sequences and produced more patterns, thereby requiring more execution time. The total execution time of running PrefixSpan-1 was about 5 to 7 times that of running MEMISP. The performance of MEMISP was comparable to that of PrefixSpan-2 for minsup values greater than 0.5%. The efficiency of PrefixSpan-1 decreased due to the fast growth of the projected databases. For example, the number of data sequences processed by PrefixSpan-1 was 4.9 times and 21 times the size of DB when minsup = 2% and misup = 0.75%, respectively. The execution results obtained after changing T from 2.5 to 5, S from 4 to 8, and I from 1.25 to 2.5 showed similar effects. Fig. 6 shows that MEMISP outperformed PrefixSpan-1. Fig. 7 shows that the performance achieved while running with a bigger T value and a bigger I value ( T = 7.5, I = 5) were consistent with those obtained in the previous experiments. Surprisingly, PrefixSpan-2 was slowest when minsup = 0.5%. The reason was that it used up to MB to discover a large set of patterns. The available memory was not sufficient, so disk-based pseudo-projection slowed the whole process down. In summary, MEMISP was faster than PrefixSpan-1 for various data characteristics, and the performance gain resulted from in-memory processing of the MEMISP algorithm. 4.3 Scale-up Experiments The maximum size of the datasets used the experiments described in section 4.2 was 76.3MB for the C20-T2.5-S4-I1.25 dataset with 200,000 sequences. Consequently, all the data sequences could fit into the 256MB main memory. The performance of MEMISP was very stable, even when minsup was very low for large databases if the database could fit into memory. Given minsup = 0.25%, MEMISP could perform well in processing one million data sequences of a total size of 189MB and with 256MB main memory in the experiments. Nevertheless, just for the mining of 100K sequences with minsup = 0.5%,
15 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING minsup (%) Total exe. time (sec.) C20 -T2.5 -S4 -I1.25, DB =200K MEMISP PrefixSpan-1 PrefixSpan Fig. 5. Comparison of execution times for dataset C20-T2.5-S4-I minsup (%) Total exe. time (sec.) C20 -T5 -S4 -I1.25, DB =200K MEMISP PrefixSpan-1 PrefixSpan Fig. 6. Comparison of execution times for dataset C20-T5-S4-I minsup (%) Total exe. time (sec.) C20 -T7.5 -S4 -I5, DB =200K MEMISP PrefixSpan-1 PrefixSpan Fig. 7. Comparison of execution times for dataset C20-T7.5-S4-I5.
16 124 MING-YEN LIN AND SUH-YIN LEE GSP scanned the database 4 times to test the 4.4 million candidates in pass two (more passes to go), and PrefixSpan-1 generated sub-databases that, in total, were 9.6 times the size of the original database. In order to verify the scalability of MEMISP, in the following experiments, we increased the number of data sequences from 1000K to 10,000K with C10-T2.5-S4-I1.25. As shown in Fig. 8, the total execution times are normalized with respect to the execution time for DB = 1000K. The size of the dataset having 1000K sequences was 189MB, so MEMISP discovered patterns in a single pass without partitioning. PrefixSpan-2 used seconds for DB = 1000K and seconds for DB = 2000K. In addition, PrefixSpan-2 could not finish mining in a reasonable amount of time for DB > 4000K. Although PrefixSpan-2 ran very fast when the database could fit into the main memory, its performance worsened dramatically when DB >= 2000K. That is, once the database could not fit into memory, the cost of disk-based pseudo-projection rose greatly. Note that in Fig. 8, the execution time of PrefixSpan-2 is plotted in a different scale. Given DB >= 2000K in the experiments, MEMISP mined using the partition-andvalidation technique described in section 3.3. For example, a dataset of DB = 10,000K with a size of 1.8GB was mined by means of 10 partitions. Given minsup = 0.75% with 10 million sequences, GSP could not finish mining in a reasonable amount of time. PrefixSpan-1 created the projected databases that together were 11.4 times the original database size. Though Fig. 8 shows that both PrefixSpan-1 and MEMISP were linearly scalable with the number of data sequences, MEMISP showed better scalability. Execution time ratio (relative to DB =1000K) C10 -T2.5 -S4 -I1.25, minsup = 0.75% MEMISP PrefixSpan-1 PrefixSpan DB (million sequences) Fig. 8. Linear scalability of MEMISP vs. PrefixSpan.
17 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING DISCUSSION We will summarize the factors contributing to the efficiency of the proposed MEMISP algorithm by comparing it with the well-known GSP and PrefixSpan algorithms. One pass database scanning. MEMISP reads the original database only once, except for extra-large databases as described in section 3.3. In the experiments, a database with one million data sequences could fit into a platform with 256MB memory, so the database was scanned only once by MEMISP during mining. However, GSP must read the database at least k times, assuming that the maximum size of the discovered patterns is k. PrefixSpan reads the original database once, and then writes and reads once for each projected sub-database. In some cases, such as when the minsup value is low, the total size of the sub-databases might be several times larger than the size of the original database. No candidate generation. MEMISP discovers patterns directly from data sequences in-memory by means of index advancement. In contrast to GSP, MEMISP generates no candidates, so the time needed for candidate generation and testing is reduced. Moreover, MEMISP works well with a small amount of memory since the unknown sized (and often huge) amount of space for candidate storage is not needed. No database projection. The pure and simple index advancing approach in MEMISP creates no new databases, so the intermediate storage, which PrefixSpan needs, is not needed here. Note that MEMISP and PrefixSpan can achieve similar performance in mining a memory-accommodable database if the pseudo-projection technique [11] is used in PrefixSpan. However, according to [11], pseudo-projection is not efficient if it is used for disk-based accessing and should be employed after bi-level optimization is performed [11], which reduces the database size so that it can fit into the main memory. Focused search and effective indexing. MEMISP considers only those data sequences indicated by the current index set instead of searching every data sequence in the database. Furthermore, each position index keeps moving forward along a data sequence as the discovered pattern gets longer. Consequently, fewer and fewer items in a data sequence need to be considered as a prefix pattern gets longer. Compact index storage. MEMISP requires very little storage space for index sets. In an index set, the maximum number of indices required is equal to the number of data sequences, no matter how small the minsup value is. Assume that the database has m million sequences. In a 4-byte addressing mode, MEMISP demands a maximum of (4+4) m MB for an index set. The total required memory for discovering the frequent k-sequences will be less than k (8 m) MB for any minsup value. On the other hand, the memory requirement for storing candidates in GSP can hardly be estimated without giving the minsup value. Similarly, the total size of the databases projected by Prefix- Span increases as the minsup value decreases. High CPU and memory utilization. PrefixSpan needs only a little memory space during the mining process. It solves the mining problem successfully by means of sub-database searching, though the CPU maybe idle when sub-databases are projected. MEMISP, in contrast, uses all the available memory and maximizes CPU utilization without extra disk operations.
18 126 MING-YEN LIN AND SUH-YIN LEE 6. CONCLUSIONS Speeding up the discovery of sequential patterns has been a focus of data mining research. In this paper, we have presented a memory indexing approach for fast discovery of sequential patterns, called MEMISP. MEMISP mines the set of all sequential patterns without generating candidates or sub-databases. The performance study shows that MEMISP is more efficient than both the GSP and PrefixSpan algorithms, and achieves comparable performance when PrefixSpan is optimized using the pseudo-projection technique. MEMISP has good linear scalability even under very low minimum supports. Moreover, MEMISP can estimate the total memory required, which is independent of the specified minsup value. MEMISP scans the database at most twice using the partition-and-validation technique even for extra large databases, so the slow disk I/O is minimized. The compact indexing approach and the effective find-then-index technique together make MEMISP a promising approach for fast discovery of sequential patterns in sequence databases of any size, even with a small amount of memory and low minsup values. In addition to sequential pattern mining, the technique could be extended to the discovery of maximum patterns [1], constrained/generalized sequential patterns [6, 16, 19], multi-dimensional patterns [12], and incremental sequence discovery after database updating [5, 10, 22]. It would also be interesting to integrate the proposed index sets with database systems to make queries efficient. REFERENCES 1. R. C. Agarwal, C. C. Aggarwal, and V. V. V. Prasad, Depth first generation of long patterns, in Proceedings of 6th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2000, pp R. Agrawal and R. Srikant, Mining sequential patterns, in Proceedings of 11th International Conference on Data Engineering, 1995, pp M. N. Garofalakis, R. Rastogi, and K. Shim, SPIRIT: sequential pattern mining with regular expression constraints, in Proceedings of 25th International Conference on Very Large Data Bases, 1999, pp J. Han, J. Pei, B. Mortazavi-Asl, Q. Chen, U. Dayal, and M. C. Hsu, FreeSpan: frequent pattern-projected sequential pattern mining, in Proceedings of 6th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2000, pp M. Y. Lin and S. Y. Lee, Incremental update on sequential patterns in large databases, in Proceedings of 10th IEEE International Conference on Tools with Artificial Intelligence, 1998, pp M. Y. Lin, S. Y. Lee, and S. S. Wang, DELISP: efficient discovery of generalized sequential patterns by delimited pattern-growth technology, in Proceedings of 6th Pacific-Asia Conference on Knowledge Discovery and Data Mining, 2002, pp H. Mannila, H. Toivonen, and A. I. Verkamo, Discovery of frequent episodes in event sequences, Data Mining and Knowledge Discovery, Vol. 1, 1997, pp.
19 DISCOVERY OF SEQUENTIAL PATTERNS BY MEMORY INDEXING F. Masseglia, F. Cathala, and P. Poncelet, The PSP approach for mining sequential patterns, in Proceedings of 2nd European Symposium on Principles of Data Mining and Knowledge Discovery, Vol. 1510, 1998, pp T. Oates, M. D. Schmill, D. Jensen, and P. R. Cohen, A family of algorithms for finding temporal structure in data, in Proceedings of 6th International Workshop on AI and Statistics, 1997, pp S. Parthasarathy, M. J. Zaki, M. Ogihara, and S. Dwarkadas, Incremental and interactive sequence mining, in Proceedings of 8th International Conference on Information and Knowledge Management, 1999, pp J. Pei, J. Han, H. Pinto, Q. Chen, U. Dayal, and M. C. Hsu, PrefixSpan: mining sequential patterns efficiently by prefix-projected pattern growth, in Proceedings of 2001 International Conference on Data Engineering, 2001, pp H. Pinto, J. Han, J. Pei, K. Wang, Q. Chen, and U. Dayal, Multi-dimensional sequential pattern mining, in Proceedings of 10th International Conference on Information and Knowledge Management, 2001, pp P. Rolland, FlExPat: flexible extraction of sequential patterns, in Proceedings of the IEEE International Conference on Data Mining 2001, 2001, pp A. Sarasere, E. Omiecinsky, and S. Navathe, An efficient algorithm for mining association rules in large databases, in Proceedings of 21st International Conference on Very Large Data Bases, 1995, pp T. Shintani and M. Kitsuregawa, Mining algorithms for sequential patterns in parallel: Hash based approach, in Proceedings of 2nd Pacific Asia Conference on Knowledge Discovery and Data Mining, 1998, pp R. Srikant and R. Agrawal, Mining sequential patterns: Generalizations and performance improvements, in Proceedings of 5th International Conference on Extending Database Technology, 1996, pp (An extended version is the IBM Research Report RJ 9994) 17. S. Thomas and S. Sarawagi, Mining generalized association rules and sequential patterns using SQL queries, in Proceedings of 4th International Conference on Knowledge Discovery and Data Mining, 1998, pp K. Wang, Discovering patterns from large and dynamic sequential data, Journal of Intelligent Information Systems, Vol. 9, 1997, pp M. Wojciechowski, Interactive constraint-based sequential pattern mining, in Proceedings of 5th East European Conference on Advances in Databases and Information Systems, 2001, pp P. H. Wu, W. C. Peng, and M. S. Chen, Mining sequential alarm patterns in a telecommunication database, in Proceedings of Databases in Telecommunications 2001, 2001, pp M. J. Zaki, SPADE: an efficient algorithm for mining frequent sequences, Machine Learning Journal, Vol. 42, 2001, pp M. Zhang, B. Kao, D. Cheung, and C. L. Yip, Efficient algorithms for incremental update of frequent sequences, in Proceedings of 6th Pacific-Asia Conference on Knowledge Discovery and Data Mining, 2002, pp Private communication with Prof. Jiawei Han.
20 128 MING-YEN LIN AND SUH-YIN LEE Ming-Yen Lin ( 林 明 言 ) received the B.S. degree (1988), the M.S. degree (1990), and the Ph.D. degree (2003) in Computer Science and Information Engineering, all from Department of Computer Science and Information Engineering in National Chiao Tung University, Taiwan. His research interests include data mining, data stream management systems, and bioinformatics. Suh-Yin Lee ( 李 素 瑛 ) received the B.S. degree in Electrical Engineering from National Chiao Tung University, Taiwan, in 1972, the M.S. degree in Computer Science from University of Washington, U.S.A., in 1975, and the Ph.D. degree in Computer Science from Institute of electronics, National Chiao Tung University. Her research interests include multimedia information system, mobile computing, and data mining.
MAXIMAL FREQUENT ITEMSET GENERATION USING SEGMENTATION APPROACH
MAXIMAL FREQUENT ITEMSET GENERATION USING SEGMENTATION APPROACH M.Rajalakshmi 1, Dr.T.Purusothaman 2, Dr.R.Nedunchezhian 3 1 Assistant Professor (SG), Coimbatore Institute of Technology, India, [email protected]
Comparison of Data Mining Techniques for Money Laundering Detection System
Comparison of Data Mining Techniques for Money Laundering Detection System Rafał Dreżewski, Grzegorz Dziuban, Łukasz Hernik, Michał Pączek AGH University of Science and Technology, Department of Computer
A Way to Understand Various Patterns of Data Mining Techniques for Selected Domains
A Way to Understand Various Patterns of Data Mining Techniques for Selected Domains Dr. Kanak Saxena Professor & Head, Computer Application SATI, Vidisha, [email protected] D.S. Rajpoot Registrar,
Binary Coded Web Access Pattern Tree in Education Domain
Binary Coded Web Access Pattern Tree in Education Domain C. Gomathi P.G. Department of Computer Science Kongu Arts and Science College Erode-638-107, Tamil Nadu, India E-mail: [email protected] M. Moorthi
Static Data Mining Algorithm with Progressive Approach for Mining Knowledge
Global Journal of Business Management and Information Technology. Volume 1, Number 2 (2011), pp. 85-93 Research India Publications http://www.ripublication.com Static Data Mining Algorithm with Progressive
DEVELOPMENT OF HASH TABLE BASED WEB-READY DATA MINING ENGINE
DEVELOPMENT OF HASH TABLE BASED WEB-READY DATA MINING ENGINE SK MD OBAIDULLAH Department of Computer Science & Engineering, Aliah University, Saltlake, Sector-V, Kol-900091, West Bengal, India [email protected]
A Fraud Detection Approach in Telecommunication using Cluster GA
A Fraud Detection Approach in Telecommunication using Cluster GA V.Umayaparvathi Dept of Computer Science, DDE, MKU Dr.K.Iyakutti CSIR Emeritus Scientist, School of Physics, MKU Abstract: In trend mobile
Finding Frequent Patterns Based On Quantitative Binary Attributes Using FP-Growth Algorithm
R. Sridevi et al Int. Journal of Engineering Research and Applications RESEARCH ARTICLE OPEN ACCESS Finding Frequent Patterns Based On Quantitative Binary Attributes Using FP-Growth Algorithm R. Sridevi,*
SPADE: An Efficient Algorithm for Mining Frequent Sequences
Machine Learning, 42, 31 60, 2001 c 2001 Kluwer Academic Publishers. Manufactured in The Netherlands. SPADE: An Efficient Algorithm for Mining Frequent Sequences MOHAMMED J. ZAKI Computer Science Department,
An Efficient GA-Based Algorithm for Mining Negative Sequential Patterns
An Efficient GA-Based Algorithm for Mining Negative Sequential Patterns Zhigang Zheng 1, Yanchang Zhao 1,2,ZiyeZuo 1, and Longbing Cao 1 1 Data Sciences & Knowledge Discovery Research Lab Centre for Quantum
MINING THE DATA FROM DISTRIBUTED DATABASE USING AN IMPROVED MINING ALGORITHM
MINING THE DATA FROM DISTRIBUTED DATABASE USING AN IMPROVED MINING ALGORITHM J. Arokia Renjit Asst. Professor/ CSE Department, Jeppiaar Engineering College, Chennai, TamilNadu,India 600119. Dr.K.L.Shunmuganathan
Selection of Optimal Discount of Retail Assortments with Data Mining Approach
Available online at www.interscience.in Selection of Optimal Discount of Retail Assortments with Data Mining Approach Padmalatha Eddla, Ravinder Reddy, Mamatha Computer Science Department,CBIT, Gandipet,Hyderabad,A.P,India.
Mining Frequent Patterns without Candidate Generation: A Frequent-Pattern Tree Approach
Data Mining and Knowledge Discovery, 8, 53 87, 2004 c 2004 Kluwer Academic Publishers. Manufactured in The Netherlands. Mining Frequent Patterns without Candidate Generation: A Frequent-Pattern Tree Approach
Directed Graph based Distributed Sequential Pattern Mining Using Hadoop Map Reduce
Directed Graph based Distributed Sequential Pattern Mining Using Hadoop Map Reduce Sushila S. Shelke, Suhasini A. Itkar, PES s Modern College of Engineering, Shivajinagar, Pune Abstract - Usual sequential
Supply chain management by means of FLM-rules
Supply chain management by means of FLM-rules Nicolas Le Normand, Julien Boissière, Nicolas Méger, Lionel Valet LISTIC Laboratory - Polytech Savoie Université de Savoie B.P. 80439 F-74944 Annecy-Le-Vieux,
Association Rule Mining
Association Rule Mining Association Rules and Frequent Patterns Frequent Pattern Mining Algorithms Apriori FP-growth Correlation Analysis Constraint-based Mining Using Frequent Patterns for Classification
New Matrix Approach to Improve Apriori Algorithm
New Matrix Approach to Improve Apriori Algorithm A. Rehab H. Alwa, B. Anasuya V Patil Associate Prof., IT Faculty, Majan College-University College Muscat, Oman, [email protected] Associate
Building A Smart Academic Advising System Using Association Rule Mining
Building A Smart Academic Advising System Using Association Rule Mining Raed Shatnawi +962795285056 [email protected] Qutaibah Althebyan +962796536277 [email protected] Baraq Ghalib & Mohammed
Chapter 6: Episode discovery process
Chapter 6: Episode discovery process Algorithmic Methods of Data Mining, Fall 2005, Chapter 6: Episode discovery process 1 6. Episode discovery process The knowledge discovery process KDD process of analyzing
Laboratory Module 8 Mining Frequent Itemsets Apriori Algorithm
Laboratory Module 8 Mining Frequent Itemsets Apriori Algorithm Purpose: key concepts in mining frequent itemsets understand the Apriori algorithm run Apriori in Weka GUI and in programatic way 1 Theoretical
Future Trend Prediction of Indian IT Stock Market using Association Rule Mining of Transaction data
Volume 39 No10, February 2012 Future Trend Prediction of Indian IT Stock Market using Association Rule Mining of Transaction data Rajesh V Argiddi Assit Prof Department Of Computer Science and Engineering,
SPMF: a Java Open-Source Pattern Mining Library
Journal of Machine Learning Research 1 (2014) 1-5 Submitted 4/12; Published 10/14 SPMF: a Java Open-Source Pattern Mining Library Philippe Fournier-Viger [email protected] Department
PREDICTIVE MODELING OF INTER-TRANSACTION ASSOCIATION RULES A BUSINESS PERSPECTIVE
International Journal of Computer Science and Applications, Vol. 5, No. 4, pp 57-69, 2008 Technomathematics Research Foundation PREDICTIVE MODELING OF INTER-TRANSACTION ASSOCIATION RULES A BUSINESS PERSPECTIVE
On Benchmarking Popular File Systems
On Benchmarking Popular File Systems Matti Vanninen James Z. Wang Department of Computer Science Clemson University, Clemson, SC 2963 Emails: {mvannin, jzwang}@cs.clemson.edu Abstract In recent years,
Performance Analysis of Sequential Pattern Mining Algorithms on Large Dense Datasets
Performance Analysis of Sequential Pattern Mining Algorithms on Large Dense Datasets Dr. Sunita Mahajan 1, Prajakta Pawar 2 and Alpa Reshamwala 3 1 Principal, 2 M.Tech Student, 3 Assistant Professor, 1
A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment
A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment Panagiotis D. Michailidis and Konstantinos G. Margaritis Parallel and Distributed
A Survey on Association Rule Mining in Market Basket Analysis
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 4 (2014), pp. 409-414 International Research Publications House http://www. irphouse.com /ijict.htm A Survey
2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
Approaches for Pattern Discovery Using Sequential Data Mining
Approaches for Pattern Discovery Using Sequential Data Mining Manish Gupta University of Illinois at Urbana-Champaign, USA Jiawei Han University of Illinois at Urbana-Champaign, USA ABSTRACT In this chapter
MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research
MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With
VILNIUS UNIVERSITY FREQUENT PATTERN ANALYSIS FOR DECISION MAKING IN BIG DATA
VILNIUS UNIVERSITY JULIJA PRAGARAUSKAITĖ FREQUENT PATTERN ANALYSIS FOR DECISION MAKING IN BIG DATA Doctoral Dissertation Physical Sciences, Informatics (09 P) Vilnius, 2013 Doctoral dissertation was prepared
Unique column combinations
Unique column combinations Arvid Heise Guest lecture in Data Profiling and Data Cleansing Prof. Dr. Felix Naumann Agenda 2 Introduction and problem statement Unique column combinations Exponential search
Data Mining: Partially from: Introduction to Data Mining by Tan, Steinbach, Kumar
Data Mining: Association Analysis Partially from: Introduction to Data Mining by Tan, Steinbach, Kumar Association Rule Mining Given a set of transactions, find rules that will predict the occurrence of
Efficient Integration of Data Mining Techniques in Database Management Systems
Efficient Integration of Data Mining Techniques in Database Management Systems Fadila Bentayeb Jérôme Darmont Cédric Udréa ERIC, University of Lyon 2 5 avenue Pierre Mendès-France 69676 Bron Cedex France
Data Mining and Knowledge Discovery in Databases (KDD) State of the Art. Prof. Dr. T. Nouri Computer Science Department FHNW Switzerland
Data Mining and Knowledge Discovery in Databases (KDD) State of the Art Prof. Dr. T. Nouri Computer Science Department FHNW Switzerland 1 Conference overview 1. Overview of KDD and data mining 2. Data
Seeking Fast, Durable Data Management: A Database System and Persistent Storage Benchmark
Seeking Fast, Durable Data Management: A Database System and Persistent Storage Benchmark In-memory database systems (IMDSs) eliminate much of the performance latency associated with traditional on-disk
Image Compression through DCT and Huffman Coding Technique
International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Rahul
Physical Data Organization
Physical Data Organization Database design using logical model of the database - appropriate level for users to focus on - user independence from implementation details Performance - other major factor
Performance Evaluation of some Online Association Rule Mining Algorithms for sorted and unsorted Data sets
Performance Evaluation of some Online Association Rule Mining Algorithms for sorted and unsorted Data sets Pramod S. Reader, Information Technology, M.P.Christian College of Engineering, Bhilai,C.G. INDIA.
Chapter 13: Query Processing. Basic Steps in Query Processing
Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing
Graph Mining and Social Network Analysis
Graph Mining and Social Network Analysis Data Mining and Text Mining (UIC 583 @ Politecnico di Milano) References Jiawei Han and Micheline Kamber, "Data Mining: Concepts and Techniques", The Morgan Kaufmann
File Management. Chapter 12
Chapter 12 File Management File is the basic element of most of the applications, since the input to an application, as well as its output, is usually a file. They also typically outlive the execution
Storage in Database Systems. CMPSCI 445 Fall 2010
Storage in Database Systems CMPSCI 445 Fall 2010 1 Storage Topics Architecture and Overview Disks Buffer management Files of records 2 DBMS Architecture Query Parser Query Rewriter Query Optimizer Query
International Journal of World Research, Vol: I Issue XIII, December 2008, Print ISSN: 2347-937X DATA MINING TECHNIQUES AND STOCK MARKET
DATA MINING TECHNIQUES AND STOCK MARKET Mr. Rahul Thakkar, Lecturer and HOD, Naran Lala College of Professional & Applied Sciences, Navsari ABSTRACT Without trading in a stock market we can t understand
A Comparative study of Techniques in Data Mining
A Comparative study of Techniques in Data Mining Manika Verma 1, Dr. Devarshi Mehta 2 1 Asst. Professor, Department of Computer Science, Kadi Sarva Vishwavidyalaya, Gandhinagar, India 2 Associate Professor
Storage Management for Files of Dynamic Records
Storage Management for Files of Dynamic Records Justin Zobel Department of Computer Science, RMIT, GPO Box 2476V, Melbourne 3001, Australia. [email protected] Alistair Moffat Department of Computer Science
Association Rule Mining: A Survey
Association Rule Mining: A Survey Qiankun Zhao Nanyang Technological University, Singapore and Sourav S. Bhowmick Nanyang Technological University, Singapore 1. DATA MINING OVERVIEW Data mining [Chen et
Clustering on Large Numeric Data Sets Using Hierarchical Approach Birch
Global Journal of Computer Science and Technology Software & Data Engineering Volume 12 Issue 12 Version 1.0 Year 2012 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global
A Time Efficient Algorithm for Web Log Analysis
A Time Efficient Algorithm for Web Log Analysis Santosh Shakya Anju Singh Divakar Singh Student [M.Tech.6 th sem (CSE)] Asst.Proff, Dept. of CSE BU HOD (CSE), BUIT, BUIT,BU Bhopal Barkatullah University,
Benchmarking Cassandra on Violin
Technical White Paper Report Technical Report Benchmarking Cassandra on Violin Accelerating Cassandra Performance and Reducing Read Latency With Violin Memory Flash-based Storage Arrays Version 1.0 Abstract
EFFICIENT EXTERNAL SORTING ON FLASH MEMORY EMBEDDED DEVICES
ABSTRACT EFFICIENT EXTERNAL SORTING ON FLASH MEMORY EMBEDDED DEVICES Tyler Cossentine and Ramon Lawrence Department of Computer Science, University of British Columbia Okanagan Kelowna, BC, Canada [email protected]
Evaluating HDFS I/O Performance on Virtualized Systems
Evaluating HDFS I/O Performance on Virtualized Systems Xin Tang [email protected] University of Wisconsin-Madison Department of Computer Sciences Abstract Hadoop as a Service (HaaS) has received increasing
An Efficient Frequent Item Mining using Various Hybrid Data Mining Techniques in Super Market Dataset
An Efficient Frequent Item Mining using Various Hybrid Data Mining Techniques in Super Market Dataset P.Abinaya 1, Dr. (Mrs) D.Suganyadevi 2 M.Phil. Scholar 1, Department of Computer Science,STC,Pollachi
Mining Association Rules on Grid Platforms
UNIVERSITY OF TUNIS EL MANAR FACULTY OF SCIENCES OF TUNISIA Mining Association Rules on Grid Platforms Raja Tlili [email protected] Yahya Slimani [email protected] CoreGrid 11 Plan Introduction
Mining various patterns in sequential data in an SQL-like manner *
Mining various patterns in sequential data in an SQL-like manner * Marek Wojciechowski Poznan University of Technology, Institute of Computing Science, ul. Piotrowo 3a, 60-965 Poznan, Poland [email protected]
Scoring the Data Using Association Rules
Scoring the Data Using Association Rules Bing Liu, Yiming Ma, and Ching Kian Wong School of Computing National University of Singapore 3 Science Drive 2, Singapore 117543 {liub, maym, wongck}@comp.nus.edu.sg
A Clustering Model for Mining Evolving Web User Patterns in Data Stream Environment
A Clustering Model for Mining Evolving Web User Patterns in Data Stream Environment Edmond H. Wu,MichaelK.Ng, Andy M. Yip,andTonyF.Chan Department of Mathematics, The University of Hong Kong Pokfulam Road,
Benchmarking Hadoop & HBase on Violin
Technical White Paper Report Technical Report Benchmarking Hadoop & HBase on Violin Harnessing Big Data Analytics at the Speed of Memory Version 1.0 Abstract The purpose of benchmarking is to show advantages
Preview of Oracle Database 12c In-Memory Option. Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Preview of Oracle Database 12c In-Memory Option 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any
Big Data with Rough Set Using Map- Reduce
Big Data with Rough Set Using Map- Reduce Mr.G.Lenin 1, Mr. A. Raj Ganesh 2, Mr. S. Vanarasan 3 Assistant Professor, Department of CSE, Podhigai College of Engineering & Technology, Tirupattur, Tamilnadu,
Graph Database Proof of Concept Report
Objectivity, Inc. Graph Database Proof of Concept Report Managing The Internet of Things Table of Contents Executive Summary 3 Background 3 Proof of Concept 4 Dataset 4 Process 4 Query Catalog 4 Environment
Big Data Technology Map-Reduce Motivation: Indexing in Search Engines
Big Data Technology Map-Reduce Motivation: Indexing in Search Engines Edward Bortnikov & Ronny Lempel Yahoo Labs, Haifa Indexing in Search Engines Information Retrieval s two main stages: Indexing process
Mining Binary Expressions: Applications and Algorithms
Mining Binary Expressions: Applications and Algorithms Toon Calders Jan Paredaens Universiteit Antwerpen, Departement Wiskunde-Informatica, Universiteitsplein 1, B-2610 Wilrijk, Belgium. {calders,pareda}@uia.ua.ac.be
Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University
Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications
Data Storage - II: Efficient Usage & Errors
Data Storage - II: Efficient Usage & Errors Week 10, Spring 2005 Updated by M. Naci Akkøk, 27.02.2004, 03.03.2005 based upon slides by Pål Halvorsen, 12.3.2002. Contains slides from: Hector Garcia-Molina
Optimizing Performance. Training Division New Delhi
Optimizing Performance Training Division New Delhi Performance tuning : Goals Minimize the response time for each query Maximize the throughput of the entire database server by minimizing network traffic,
Load Balancing on a Grid Using Data Characteristics
Load Balancing on a Grid Using Data Characteristics Jonathan White and Dale R. Thompson Computer Science and Computer Engineering Department University of Arkansas Fayetteville, AR 72701, USA {jlw09, drt}@uark.edu
Mining an Online Auctions Data Warehouse
Proceedings of MASPLAS'02 The Mid-Atlantic Student Workshop on Programming Languages and Systems Pace University, April 19, 2002 Mining an Online Auctions Data Warehouse David Ulmer Under the guidance
Chapter 20: Data Analysis
Chapter 20: Data Analysis Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 20: Data Analysis Decision Support Systems Data Warehousing Data Mining Classification
Operating Systems. Virtual Memory
Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page
EM Clustering Approach for Multi-Dimensional Analysis of Big Data Set
EM Clustering Approach for Multi-Dimensional Analysis of Big Data Set Amhmed A. Bhih School of Electrical and Electronic Engineering Princy Johnson School of Electrical and Electronic Engineering Martin
A Content-Based Load Balancing Algorithm for Metadata Servers in Cluster File Systems*
A Content-Based Load Balancing Algorithm for Metadata Servers in Cluster File Systems* Junho Jang, Saeyoung Han, Sungyong Park, and Jihoon Yang Department of Computer Science and Interdisciplinary Program
Design of a NAND Flash Memory File System to Improve System Boot Time
International Journal of Information Processing Systems, Vol.2, No.3, December 2006 147 Design of a NAND Flash Memory File System to Improve System Boot Time Song-Hwa Park*, Tae-Hoon Lee*, and Ki-Dong
Fuzzy Logic -based Pre-processing for Fuzzy Association Rule Mining
Fuzzy Logic -based Pre-processing for Fuzzy Association Rule Mining by Ashish Mangalampalli, Vikram Pudi Report No: IIIT/TR/2008/127 Centre for Data Engineering International Institute of Information Technology
Shareability and Locality Aware Scheduling Algorithm in Hadoop for Mobile Cloud Computing
Shareability and Locality Aware Scheduling Algorithm in Hadoop for Mobile Cloud Computing Hsin-Wen Wei 1,2, Che-Wei Hsu 2, Tin-Yu Wu 3, Wei-Tsong Lee 1 1 Department of Electrical Engineering, Tamkang University
Mining Interesting Medical Knowledge from Big Data
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 1, Ver. II (Jan Feb. 2016), PP 06-10 www.iosrjournals.org Mining Interesting Medical Knowledge from
Mining association rules with multiple minimum supports: a new mining algorithm and a support tuning mechanism
Decision Support Systems 42 (2006) 1 24 www.elsevier.com/locate/dsw Mining association rules with multiple minimum supports: a new mining algorithm and a support tuning mechanism Ya-Han Hu a, Yen-Liang
Similarity Search in a Very Large Scale Using Hadoop and HBase
Similarity Search in a Very Large Scale Using Hadoop and HBase Stanislav Barton, Vlastislav Dohnal, Philippe Rigaux LAMSADE - Universite Paris Dauphine, France Internet Memory Foundation, Paris, France
The SPSS TwoStep Cluster Component
White paper technical report The SPSS TwoStep Cluster Component A scalable component enabling more efficient customer segmentation Introduction The SPSS TwoStep Clustering Component is a scalable cluster
NEW TECHNIQUE TO DEAL WITH DYNAMIC DATA MINING IN THE DATABASE
www.arpapress.com/volumes/vol13issue3/ijrras_13_3_18.pdf NEW TECHNIQUE TO DEAL WITH DYNAMIC DATA MINING IN THE DATABASE Hebah H. O. Nasereddin Middle East University, P.O. Box: 144378, Code 11814, Amman-Jordan
A Breadth-First Algorithm for Mining Frequent Patterns from Event Logs
A Breadth-First Algorithm for Mining Frequent Patterns from Event Logs Risto Vaarandi Department of Computer Engineering, Tallinn University of Technology, Estonia [email protected] Abstract. Today,
