28
GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de Engenharia Universidade do Minho PORTUGAL Departamento de Informática, Universidade do Minho Braga, 27 de Março de 2005 Ronnie Alves ([email protected]) http://alfa.di.uminho.pt/~ronnie

GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Embed Size (px)

Citation preview

Page 1: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

GRIDSD

Extracção de padrões em bases de dados de grandes dimensões

Centro de Ciências e Tecnologia da ComputaçãoDepartamento de InformáticaEscola de EngenhariaUniversidade do MinhoPORTUGAL

Departamento de Informática, Universidade do Minho

Braga, 27 de Março de 2005

Ronnie Alves ([email protected])

http://alfa.di.uminho.pt/~ronnie

Page 2: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Roteiro

• DBMS, os maiores e mais pesados • Exploração dos DBMS

• Mineração de bases de dados

– Large Transactional Tables

– Fracamente acoplado

– Fortemente acoplado

• Extracção de conhecimento via Procedural Schema

– Itemset Mining

• Trabalhos Relacionados

Page 3: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

DBMS, os maiores e mais pesados

• Database Size, Decision Support Systems – All Environments & UNIX Only: Top honors went to France

Telecom for the largest database in the All Environments and UNIX Only categories. At 29.2TB, the database was three times as big as that of the 2001 winner. France Telecom runs the Oracle Database on HP Superdome servers and HP RAID storage systems.

• Rows/Records, Decision Support Systems – All Environments & UNIX Only: AT&T received two

additional Grand Prizes for most rows, All Environments and UNIX Only categories. The 496 billion-row system represents a doubling of the highest figure for this category in 2001.

» March 2004 Issue DM Review Magazine» http://www.dmreview.com/article_sub.cfm?articleId=8182

Page 4: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Exploração dos DBMS

• Buscar e Resumir dados– SQL

• SQL + funções de agregação (count, min, sum,…)» SELECT Empresa, Produto, SUM(Total) » FROM Vendas » GROUP BY Empresa, Produto » HAVING SUM(Total)>10000

• Extrair Padrões dos dados– Para além das funcionalidades do SQL ANSI.

» Para tal entra em acção os algoritmos e ferramentas de mineração

Page 5: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Mineração de bases de dados

• Actividade básica, – encontrar padrões frequentes (itemset mining)

Page 6: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Mineração de bases de dados

• Fracamente acoplado– O processo de mineração é feito fora do DBMS– Usa o DBMS apenas para buscar os dados

• Fortemente acoplado– Usa todos os recursos do DBMS para efeitos do processo

de mineração

Page 7: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Itemset Mining

• Tarefa principal e de maior custo para a geração de Regras de Associação

• Regras da Forma: “A [support s, confidence c]”.• Examples:

– buys(x, “diapers”) buys(x, “beers”) [0.5%, 60%]– age(x, “30-34”) ^ income(x ,“42K-48K”) buys(x, “high

resolution TV”) [2%,60%] – major(x, “CS”) ^ takes(x, “DB”) grade(x, “A”) [1%, 75%]

Page 8: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Itemset Mining Algoritmos

• Apriori

• FP-Growth

Page 9: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Apriori—Pseudocode

Ck: Candidate itemset of size kLk : frequent itemset of size k

L1 = {frequent items};for (k = 1; Lk !=; k++) do begin Ck+1 = candidates generated from Lk; for each transaction t in database do

increment the count of all candidates in Ck+1 that are contained in t

Lk+1 = candidates in Ck+1 with min_support endreturn k Lk;

PROBLEMA: As implementações SQL-based do Apriori geram vários joins de grande custo na medida em que K aumenta!

Page 10: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Apriori Exemplo

TID Items100 1 3 4200 2 3 5300 1 2 3 5400 2 5

Database D itemset sup.{1} 2{2} 3{3} 3{4} 1{5} 3

itemset sup.{1} 2{2} 3{3} 3{5} 3

Scan D

C1L1

itemset{1 2}{1 3}{1 5}{2 3}{2 5}{3 5}

itemset sup{1 2} 1{1 3} 2{1 5} 1{2 3} 2{2 5} 3{3 5} 2

itemset sup{1 3} 2{2 3} 2{2 5} 3{3 5} 2

L2

C2 C2

Scan D

C3 L3itemset{2 3 5}

Scan D itemset sup{2 3 5} 2

Page 11: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

FP-Growth

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

Header Table

Item frequency head f 4c 4a 3b 3m 3p 3

min_support = 0.5

TID Items bought (ordered) frequent items100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}200 {a, b, c, f, l, m, o} {f, c, a, b, m}300 {b, f, h, j, o} {f, b}400 {b, c, k, s, p} {c, b, p}500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}

Etapas:

1. Items frequentes de tamanho 1

2. Ordenar os items de forma descendente

3. Construir a FP-tree correspondente

Page 12: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

FP-Growth Conditional Pattern Base

Conditional pattern bases

item cond. pattern base

c f:3

a fc:3

b fca:1, f:1, c:1

m fca:2, fcab:1

p fcam:2, cb:1

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

Header Table

Item frequency head f 4c 4a 3b 3m 3p 3

Page 13: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

FP-Growth Construct Conditional FP-tree

m-conditional pattern base:

fca:2, fcab:1

Todos os padrões frequentes a m

m,

fm, cm, am,

fcm, fam, cam,

fcam

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

Header TableItem frequency head f 4c 4a 3b 3m 3p 3

•PROBLEMA: Tamanho da FP-tree e a memória disponível. A recursão para geração das Conditional FP-trees implica em várias reconstruções de tabelas (CONFP)!

Page 14: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Pattern Growth Mining on DBMS

• Premissas:– Não gerar joins– Não permitir reconstrução de tabelas CONFP

• Programação do DBMS para itemset mining– Store procedures– Funções UDF– Cursores(salvo cuidado!)

Page 15: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

PGS etapas

• Disponibilzar uma pattern tree

• Extrair padrões via pattern growth

Page 16: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

PGS pattern tree

1. Dado um suporte mínimo gerar os itemsets frequentes de tamanho_1

2. Gerar nova tabela de transações a partir de 1

3. Criar pattern tree

CREATE TABLE #save_time ( start_time datetime not null)INSERT #save_time VALUES ( GETDATE())exec genfitems '3' -->removes infrequent 1-L itemsexec gentransfi -->generates only transactions with frequent 1-L itemsexec genefp -->generates pattern-tree (fp)exec genpb '3' -->generates the (pb) and (confp)exec up_confp -->maintain the position control of itemsGOSELECT 'Structure, msec' = DATEDIFF(millisecond, start_time, getdate())FROM #save_timeDROP TABLE #save_timeGO

Page 17: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Pattern tree

1. PROCEDURE EFP2. DO with (EXISTS TRANSFI) 3. CREATE TABLE EFP (item, cnt, path)4. CREATE TABLE FP (item, cnt, path) 5. DECLARE6. BEGIN 7. count = 18. curpath = null9. c_transfi CURSOR for TRANSFI10. FOR each row in c_transfi11. BEGIN12. curpath = curpath + ‘:’ + c_transfi.item13. INSERT INTO EFP 14. values(c_transfi.item, count, curpath)15. END16. SELECT item, sum(cnt) as cnt, path17. INTO FP18. FROM EFP19. GROUP BY item, path20. END

Page 18: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

PGS Minerar

1. Extracção de single Patterns

2. Extracção de not single Patterns

CREATE TABLE #save_time ( start_time datetime not null)INSERT #save_time VALUES ( GETDATE())exec genspg '3' -->generates single patterns in table (patterns)exec genpg '3' -->add not single patterns in table (patterns)GOSELECT 'Mining, msec' = DATEDIFF(millisecond, start_time, getdate())FROM #save_timeDROP TABLE #save_timeGO

Page 19: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Fragment Growth

1. DECLARE pg_subPath CURSOR for2. SELECT * 3. FROM getTable_pb(@v_prefix,@v_item) order by ord4. SELECT list_pg_item = pg_subPath.item 5. FOR each row in pg_subPath6. BEGIN7. SELECT node_path = pg_subPath.item+’%’+ c_confp.item8. SELECT node_supp = 9. getNodeSupp(pg_subPath.prefix, node_path)10. SELECT pat_item = pg_subPath.item11. SELECT pat_fp = node_path+'%'+ pg_subPath.prefix12. SELECT pat_cnt = node_supp13. SELECT exist_pat = (14. SELECT count(*) FROM PATTERNS 15. WHERE item=pat_item and fp=pat_fp)16. INSERT INTO PATTERNS (item,fp,cnt)17. VALUES (pat_item, pat_fp, pat_cnt)18. SELECT list_pg_item = list_pg_item 19. +’%’+ pg_subPath.item20. END

Page 20: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Gerador de datasets

Page 21: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Comparativo

Page 22: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

PGS open questions

• Problema para portabilidade do algoritmo– Outro DBMS, outro PGS ORACLE PLSQL

• Máximo cuidado com os cursores!

Page 23: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Sites

• Jiawei Han – http://www-faculty.cs.uiuc.edu/~hanj/

• Bart Goethals – http://www.adrem.ua.ac.be/~goethals/

• Frequent Itemset Mining Implementations Repository– http://fimi.cs.helsinki.fi

• Weka 3: Data Mining Software in Java– http://www.cs.waikato.ac.nz/ml/weka/

Page 24: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Trabalhos Relacionados

• Pattern Growth Tightly Coupled on RDBMS (PKDD’05 submitted)

• Integrating Pattern Growth Mining on SQL Server (technical report)

• A Hybrid Method to Discover Inter-Transactional Rules (JISBD’05 accepted)

Page 25: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

Trabalhos Relacionados

• Ponto de partida para Mineração sobre cubos (ROLAP)– Itemset mining integrado em RDBMS– Mineração de cubos pre-computados– Mineração integrada com os cubos on-the-fly– Aplicação sobre webhouses

• Primeiras interações– When the Hunter becomes the prey... (DataGadgets’04)– Clickstreams, The basis to Establish User Navigation

Patterns (DataMining’04)– Mining Clickstream based Data Cubes (ICEIS’04)

Page 26: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

References(1)

1. Agarwal, R., Shim., R.: Developing tightly-coupled data mining application on a relational database system. In Proc.of the 2nd Int. Conf. on Knowledge Discovery in Database and Data Mining, Portland, Oregon (1996)

2. Agrawal, R., Imielinski, T., Swami, A..: Mining association rules between sets of items in large databases. In Proc. of the ACM SIGMOD Intl. Conference on Management of Data (1993) 207–216

3. Agrawal, R., Srikant., R.: Fast algorithms for mining association rules. In Proc. of the 20th Very Large Data Base Conference (1994) 487–499

4. Alves, R., Belo, O.: Integrating Pattern Growth Mining on SQL-Server RDBMS. Technical Report-003, University of Minho, Department of Informatics, May (2005) http://alfa.di.uminho.pt/~ronnie/files_files/rt/2005-RT3-Ronnie.pdf

5. Alves, R., Gabriel, P., Azevedo, P., Belo, O.: A Hybrid Method to Discover Inter-Transactional Rules. In Proceedings of the JISBD’2005, Granada (2005) to appear

6. Cheung, W., Zaïane, O. R.: Incremental Mining of Frequent Patterns Without Candidate Generation or Support Constraint, Seventh International Database Engineering and Applications Symposium (IDEAS 2003), Hong Kong, China, July 16-18 (2003) 111-116

7. El-Hajj, M., Zaïane, O.R.: Inverted Matrix: Efficient Discovery of Frequent Items in Large Datasets in the Context of Interactive Mining, in Proc. 2003 Int'l Conf. on Knowledge Discovery and Data Mining (ACM SIGKDD), Washington, DC, USA, August 24-27 (2003) 109-118

8. Han, J., Pei, J., Yin., Y.: Mining frequent patterns without candidate generation. In Proc. of ACM SIGMOD Intl. Conference on Management of Data, (2000) 1–12

Page 27: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

Departamento de Informática, Universidade do Minho

1

GRID - Grupo de Investigação e Desenvolvimento em Sistemas de Dados

References(2)

9. Hidber, C.: Online association rule mining. In A. Delis, C. Faloutsos, and S. Ghandeharizadeh, editors, Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data, volume 28(2) of SIGMOD Record. ACM Press (1999) 145–156

10. Orlando, S., Palmerini, P., Perego, R.: Enhancing the apriori algorithm for frequent set counting. In Y. Kambayashi, W. Winiwarter, and M. Arikawa, editors, Proceedings of the Third International Conference on Data Warehousing and Knowledge Discovery, volume 2114 of Lecture Notes in Computer Science (2001) 71–82

11. Orlando, S., Palmerini, P., Perego, R., Silvestri, F.: Adaptive and resource-aware mining of frequent sets. In V. Kumar, S. Tsumoto, P.S. Yu, and N.Zhong, editors, Proceedings of the 2002 IEEE International Conference on Data Mining. IEEE Computer Society (2002) To appear

12. Rantzau, R.: Processing frequent itemset discovery queries by division and set containment join operators. In DMKD03: 8th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery (2003)

13. Sarawagi, S., Thomas, S., Agrawal, R.: Integrating mining with relational database systems: alternatives and implications. In Proc. of the ACM SIGMOD Conference on Management of data, Seattle, Washington, USA (1998)

14. Shang, X., Sattler, K., Geist, I.: Sql based frequent pattern mining without candidate generation. In SAC’04 Data Mining, Nicosia, Cyprus (2004)

15. Wang, H., Zaniolo, C.: Using SQL to build new aggregates and extenders for Object-Relational systems. In Proc. Of the 26th Int. Conf. on Very Large Databases, Cairo, Egypt (2000)

16. Yoshizawa, T., Pramudiono, I., Kitsuregawa, M.: Sql based association rule mining using commercial rdbms (ibm db2 udb eee). In In Proc. DaWaK, London, UK (2000)

Page 28: GRID SD Extracção de padrões em bases de dados de grandes dimensões Centro de Ciências e Tecnologia da Computação Departamento de Informática Escola de

GRIDSD

Extracção de padrões em bases de dados de grandes dimensões

Centro de Ciências e Tecnologia da ComputaçãoDepartamento de InformáticaEscola de EngenhariaUniversidade do MinhoPORTUGAL

Ronnie Alves ([email protected])

http://alfa.di.uminho.pt/~ronnie

Departamento de Informática, Universidade do Minho

Belém, 10 de Janeiro de 2005