Mineração de itemsets e regras de associação. Prof. Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

Tamanho: px
Começar a partir da página:

Download "Mineração de itemsets e regras de associação. Prof. Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia"

Transcrição

1 Mineração de itemsets e regras de associação Prof. Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

2 Conteúdo Itemsets, Tidsets, Base binária, Base Vertical Suporte e confiança Regras de associação Força bruta A-priori Eclat FP-Growth Ler capítulos 8 e 9 de Zaki e Meira 2/93

3 Problema: análise de cestas de compras Uma cadeia de supermercados vende itens diferentes Compras contém diferentes variações de itens Como identificar quais são os produtos mais frequentemente associados? Linguiça e carvão Fralda e cerveja 3/93

4 Exemplos Sugestão de itens para grávidas: link Market Basket Analysis: quais itens são comprados juntos em supermercado? Análise de sites/interfaces: quais conjuntos de páginas/janelas são acessadas na mesma sessão? Análise de tópicos: quais palavras são usadas juntas em documentos? Detecção de plágio: quais sentenças são usadas em documentos diferentes? 4/93

5 5/93 Exemplo: Market Basket Analysis Conjunto de itens: I pode ser todos produtos vendidos no supermercado Itemset: qualquer combinação de produtos em I: {carne, cerveja, fralda, leite}

6 6/93 Exemplo: análise de sites/interfaces Conjunto de itens: I = {x 1, x 2,..., x m } = {todas as páginas do site} Itemsets X I: Usuário que visita páginas main, laptop e desconto também visita carrinho-de-compra e pagamento. X = {main, laptop, carrinhodecompra, pagamento, desconto}

7 7/93 Exemplo: análise de tópicos Conjunto de itens: I = todas as palavras de todos os documentos em análise Itemset = conjunto de palavras em um documento em análise

8 8/93 Exemplo: detecção de plágio Conjunto de itens: I = todas as sentenças de todos os documentos em análise Itemsets = conjunto de sentenças em um documento em análise

9 Mineração de conjuntos de itens - Itemsets Análise de cesta de itens ( = itemset) Objetivo: obter regras de associação Exemplos de regras: Fralda Cerveja Poĺıtica, Imigrantes Trump, Mexicanos 9/93

10 Exemplo: MovieLens.org Avaliações sobre filmes ml-latest-small.zip Cada usuário avalia diversos filmes Pré-processamento: ratings.csv filtrar avaliações de usuários movies.csv filmes duplicados Objetivo: descobrir associações interessantes entre filmes 10/93

11 11/93 Exemplo MovieLens.org: Pré-processamento require(arules) # códigos de Borgelt require(dplyr) movies <- read.csv("ml-latest-small/movies.csv") titles <- as.character(movies$title) for (t in which(duplicated(titles))) { titles[t] = paste(titles[t],"(dup)",sep="") } movies$title <- titles # 2 titulos s~ao deduplicados

12 12/93 Exemplo MovieLens.org: Pré-processamento ratings <- read.csv("ml-latest-small/ratings.csv") ratings5 <- filter(ratings, rating ==5) %>% select(userid, movieid) # filtra os titulos de filmes com rating == 5 movies5 <- filter(movies, movieid %in% ratings5$movieid) tableratings5 <- table(ratings5) colnames(tableratings5) <- as.character(movies5$title) # tipo "transactions" é usado para representar base transacoes5 <- as(tableratings5 > 0, "transactions")

13 13/93 Transações Transação t, X é um registro de um id t, ou tid, com um itemset X na base O conjunto T contém todos os id de transações Um conjunto T T é um tidset A função i(tid) = {x tid T, t contém x} retorna o conjunto de cada item x que a transação com id t possue tid i(tid) 1 ABDE 2 BCE 3 ABDE 4 ABCE 5 ABCDE 6 BCD

14 14/93 Tidsets Um subconjunto de tids T T de transações é um tidset A função t(x ) = {t t T e t contém X } retorna o conjunto de tids de transações que contém todos os itens no itemset X t({x}) x A B C D E t({a}) = {1, 3, 4, 5} t({a, B}) = {1, 3, 4, 5} t({b, C}) = {2, 4, 5} t({a, B, C, D, E}) = {5}

15 15/93 Representação de bases de dados Uma base binária é uma relação de itens e transações D T I Uma transação t tem um item x se (t, x) D D A B C D E t i(t) 1 ABDE 2 BCE 3 ABDE 4 ABCE 5 ABCDE 6 BCD t({x}) x A B C D E Base binária Transações Tidsets Base vertical

16 16/93 Definições: Itemset k-itemset : conjunto com k itens (cardinalidade k) X = {fralda, cerveja} é um 2-itemset X = {poĺıtica, imigrantes, trump, mexicanos} é um 4-itemset I : conjunto de todos itemsets I (k) : conjunto de todos k-itemsets

17 Avaliação de Itemsets Suporte: número de transações contendo um itemset X sup(x ) = {tid X i(tid)} = t(x ) Suporte relativo: rsup(x ) = sup(x ) D onde D é o número de transações na base Limiar de Suporte Mínimo: minsup Se sup(x ) minsup então X é frequente! F é o conjunto de todos itemsets frequentes F (k) é o conjunto dos k-itemsets frequentes 17/93

18 k-itemsets frequentes: F (k) tid i(tid) 1 ABDE 2 BCE 3 ABDE 4 ABCE 5 ABCDE 6 BCD suporte mínimo minsup = 3 18/93

19 19/93 Itemsets frequentes com suporte mínimo minsup = 3 tid i(tid) 1 ABDE 2 BCE 3 ABDE 4 ABCE 5 ABCDE 6 BCD

20 20/93 Regra de associação X Y, com X e Y sendo itemsets disjuntos X Y = Exemplos de regras: Fralda Cerveja Poĺıtica, Imigrantes Trump, Mexicanos

21 21/93 Suporte de uma regra de associação Uma regra de associação X Y tem suporte sup(x Y ) = t(xy ) = sup(x Y ) = sup(xy ) E tem suporte relativo rsup(x Y ) = sup(xy ) D Usuário pode definir um suporte mínimo minsup para as regras desejadas.

22 22/93 Confiança de uma regra de associação conf (X Y ) = sup(xy ) sup(x ) Regra é forte se tem no mínimo confiança de minconf

23 23/93 tid i(tid) 1 ABDE 2 BCE 3 ABDE 4 ABCE 5 ABCDE 6 BCD s = sup(bc E) = sup(bce) = 3 c = conf (BC E) = sup(bce) sup(bc) = 3/4

24 I é o conjunto de itens que formam itemsets D é a base binária i(tid) é o conjunto de itens da transação tid 24/93

25 Força bruta explora todo o grafo. 25/93

26 Avaliação do algoritmo de força bruta Geração dos candidatos: O(2 I ) Avaliar todas as combinações de itens Computação do suporte: O( I D ) Comparar cada itemset candidato com cada transação Total de tempo: O( I D 2 I ) Total de I/O: O(2 I ) 26/93

27 Busca em largura: algoritmo Apriori Propriedades para reduzir espaço de busca Se X Y I, então sup(x ) sup(y ) sup({a, B, C}) sup({a, B, C, D}) Se Y é frequente, então X Y são frequentes Se X não é frequente, então Y X não são frequentes Exploração de árvore de prefixos em nível (busca em largura) Evita (poda) ramos de regras infrequentes Encontra todos k-itemsets usando árvore até altura k 27/93

28 28/93

29 29/93 Algoritmo Apriori Manutenção de uma árvore de prefixos para buscar subconjuntos mais frequentes Algoritmo em três partes Algoritmo com árvore de prefixos para achar itemsets mais frequentes Sub-algoritmo para computar o suporte de regras Sub-algoritmo para extender a árvore de prefixos Dois k-itemsets X a e X b com prefixo em comum de tamanho k 1 dão origem a um k + 1-itemset X ab = X a X b X ab é mantido se nenhum subconjunto nele é infrequente X a e X b são removidos

30 30/93 //itemsets frequentes //prefixo inicial da árvore //denota o nível atual

31 Objetivo: Computar o suporte de cada k-itemset candidato em C (k) Como: obter todos os k-itemsets possíveis para cada itemset na base D e contar repetições/suporte de cada k-itemset em C (k) 31/93

32 32/93

33 33/93

34 34/93 itemfrequencyplot(transacoes5,support=0.1,cex.names=1.2) item frequency (relative) Usual Suspects, The (1995) Braveheart (1995) Star Wars: Episode IV A New Hope (1977) Pulp Fiction (1994) Shawshank Redemption, The (1994) Forrest Gump (1994) Schindler's List (1993) Terminator 2: Judgment Day (1991) Silence of the Lambs, The (1991) Fargo (1996) Godfather, The (1972) Star Wars: Episode V The Empire Strikes Back (1980) Raiders of the Lost Ark (Indiana Jones and the Raiders of the Lost Ark) (1981) Star Wars: Episode VI Return of the Jedi (1983) Godfather: Part II, The (1974) Matrix, The (1999) American Beauty (1999) Fight Club (1999) Lord of the Rings: The Fellowship of the Ring, The (2001)

35 35/93 Exemplo MovieLens.org regras <-apriori(transacoes5, par=list(supp=0.10, conf=.2, target="rules"), control=list(verbose=false))

36 summary(regras) ## set of 4 rules ## ## rule length distribution (lhs + rhs):sizes ## 1 2 ## 2 2 ## ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## ## ## summary of quality measures: ## support confidence lift ## Min. : Min. : Min. :1.000 ## 1st Qu.: st Qu.: st Qu.:1.000 ## Median : Median : Median :2.437 ## Mean : Mean : Mean :2.437 ## 3rd Qu.: rd Qu.: rd Qu.:3.875 ## Max. : Max. : Max. : /93

37 37/93 inspect(regras) ## lhs ## [1] {} ## [2] {} ## [3] {Star Wars: Episode V - The Empire Strikes Back (198 ## [4] {Star Wars: Episode IV - A New Hope (1977)}

38 Custo algoritmo Apriori Custo computacional é O( I D 2 I ) Pois todos itemsets podem ser frequentes Com a poda, custo computacional costuma ser mais baixo Custo de I/O do Apriori é O( I ) e força-bruta é O(2 I ) Custo de I/O é dependente do comprimento da sequência mais longa na base de dados 38/93

39 39/93 Exemplo MovieLens.org: custo Apriori titles <- filter(movies, movieid %in% ratings$movieid) tableratings <- table(select(ratings,userid, movieid)) colnames(tableratings) <- as.character(titles$title) transacoes <- as(tableratings > 0, "transactions") # demora muito e n~ao consegue completar # time(apriori(transacoes,par=list(sup=0.05, conf=0.9)))

40 Melhoria do algoritmo Apriori: Algoritmo Eclat Problema do Apriori: Cada nível, para computar suporte, na linha 19, geramos subconjunto de itens de cada transação para verificar existência na árvore Mas muitos subconjuntos não existem na árvore Objetivo do Eclat: melhoria do custo de calcular o suporte de regras 40/93

41 Algoritmo Eclat tidset t(a) = conjunto de ids de transações contendo o item A Para os tidsets t(x ) e t(y ), temos t(x Y ) = t(xy ) = t(x ) t(y ) O suporte de XY é a cardinalidade de t(xy ): sup(xy ) = t(xy ) Exemplo: Se t(a) = 2345 e t(b) = 2456 então sup(xy ) = t(a) t(b) = 245 = 3 Útil na busca em profundidade na árvore de prefixos P é classe de equivalência de prefixos Exemplo: P A = {AB, AC, AD, AE} 41/93

42 Inicia recursão com os itens com suporte mínimo 42/93

43 Exemplo Eclat 43/93

44 Exemplo Eclat 44/93

45 Exemplo Eclat 45/93

46 46/93

47 47/93 Eclat: custos Complexidade computacional O( D 2 I ) Podem haver 2 I itemsets frequentes Intersecção entre tidset é O(D) I/O: O(2 I / I ), mas requer até l varreduras na base onde l é o comprimento do maior itemset

48 48/93 Exemplo MovieLens.org: custo Eclat titles <- filter(movies, movieid %in% ratings$movieid) tableratings <- table(select(ratings,userid, movieid)) colnames(tableratings) <- as.character(titles$title) transacoes <- as(tableratings > 0, "transactions") # muito melhor que apriori: #time(ruleinduction( # eclat(transacoes,par=list(sup=0.05)) #,conf=0.9))

49 49/93 Melhoria da computação de suporte: FP-Tree e FPGrowth Computação de Suporte com indexação com a frequent pattern tree: FP-Tree FP-tree Cada nó representa um item e suporte da raiz até o próprio nó

50 Construção de uma FP-tree Início: raiz contém item vazio Inserção na árvore com itens em ordem decrescente pelo suporte Em vez de ABED, inserir na ordem BEAD (pois sup(6) sup(e)) Para cada tupla (t, X ) D onde X = i(tid), inserir X na árvore incrementando contagem dos nós no caminho de X Se X compartilha prefixo com outro itemset, X vai ser mesmo caminho até formar o prefixo. Contadores iniciam com 1 Após construção da FP-tree, ela é usada como índice no lugar de D 50/93

51 51/93

52 52/93

53 53/93

54 54/93 Geração de regras de associação Gerar itemsets frequentes é o primeiro passo para obter regras de associação Regra de associação X Y onde XY deve ter suporte mínimo A regra é forte se tem confiança mínima: c = sup(x Y ) sup(x )

55 A são itemsets que formarão antecedentes de regras Elemento maximal tem o maior número de itens Y = Z\X Linha 10: poda subconjuntos contendo antecedente com baixa confiança 55/93

56 56/93 Comparação entre algoritmos (Goethals e Zaki, 2004) Total Time (sec) all-accidents cofi pie patricia eclat_borgelt apriori_bodon lcm armor apriori_brave eclat_zaki aim fpgrowth* eclat_goethals mafia afopt apriori_borgelt kdci Minimum Support (%) Figura: Accidents: I = 468, E( t(x) ) = 33.8, t(x) =

57 Sumarização de Itemsets Espaço de itemsets é grande Baixo min sup torna problema intratável Busca por representações para itemsets frequentes Itemset maximal Itemset fechado Itemset não-derivável 57/93

58 58/93 Itemsets maximais Itemset X é maximal se não existe Y X tal que sup(y ) min sup Exemplo: ABDE e BCE

59 Geradores minimais (mínimos) Todos subsets de X tem suporte maior que sup(x ). G = {X X F e Y X tal que sup(x ) = sup(y )} 59/93

60 60/93 GenMax Definição conjunto maximais: M = {X X F e Y F tal que Y X } Construir M passo a passo Usar um algoritmo para encontrar itemset frequente X e verificar: Um itemset X está contido em M? Um itemset Y M está contido em X?

61 Linha 2: se verdade, ramo inteiro junto não é maximal Linha 10: se não existem mais candidatos com X i ele pode ser maximal 61/93

62 Execução GenMax 62/93

63 Itemsets Maximais require(arulesviz) maximais <- apriori(transacoes5, par=list(target="max",sup=0.05), control=list(verbose=false)) plot(ruleinduction(maximais,transacoes5,conf=0.01)) Scatter plot for 51 rules confidence lift support 63/93

64 Itemsets fechados Itemset X é fechado se não existe Y X tal que sup(y ) = sup(x ) t(x ) = {t T t X } i(id) = {x I tid T, t x} Operador de fechamento c : 2 I 2 I : c(x ) = i t(x ) = i(t(x )) Propriedade extensivo : X c(x ) Propriedade monotônico : se X i X J então c(x i ) c(x j ) Propriedade idempotente : c(c(x )) = c(x ) Itemset X é fechado se c(x ) = X Cálculo de suporte: sup(x ) = max{sup(y ) X Y = c(x )} 64/93

65 65/93 Mineração de Itemsets Fechados: Charm Operador fechamento: c(x ) = i(t(x )) t(x i ) = t(x j ) c(x i ) = c(x j ) = c(x i X j ) Substituir X i por X i X j Podar X j pois fará itemset fechado idêntico ao de X i t(x i ) t(x j ) c(x i ) = c(x i X j ) c(x j ) Substituir X i por X i X j Não podar para X j pois fechamento será diferente t(x i ) t(x j ) Sem podas

66 66/93

67 67/93

68 Itemsets fechados data("adult") closed <- apriori(adult, # busca itemsets fechadas parameter = list(target = "closed", support = 0.4), control = list(verbose=false)) regras_closed <- ruleinduction(closed, Adult) summary(regras_closed) ## set of 165 rules ## ## rule length distribution (lhs + rhs):sizes ## ## ## ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## ## ## summary of quality measures: 68/93

69 69/93 Itemsets fechados summary(regras_closed) ## set of 165 rules ## ## rule length distribution (lhs + rhs):sizes ## ## ## ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## ## ## summary of quality measures: ## support confidence lift ## Min. : Min. : Min. : ## 1st Qu.: st Qu.: st Qu.: ## Median : Median : Median : ## Mean : Mean : Mean : ## 3rd Qu.: rd Qu.: rd Qu.: ## Max. : Max. : Max. : ## itemset ## Min. :12.00 ## 1st Qu.:47.00 ## Median :70.00 ## Mean :65.33 ## 3rd Qu.:87.00 ## Max. :99.00 ## ## mining info: ## data ntransactions support confidence ## Adult

70 70/93 Itemsets fechados ## items ## [1] {relationship=husband} ## items ## [1] {marital-status=married-civ-spouse} ## support confidence lift itemset ##

71 Itemsets Fechados fechados <- apriori(transacoes5, par=list(target="closed",sup=0.05), control=list(verbose=false)) plot(ruleinduction(fechados,transacoes5,conf=0.01)) ## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter. Scatter plot for 67 rules 0.9 confidence /93

72 72/93 Relação entre tipos de itemsets Geradores mínimos Fechados Maximais

73 73/93 Outras medidas de avaliação de itemsets e regras Às vezes, há muitos itemsets com suporte e confiança altos rsup(x Y ) Opção: lift(x Y ) = rsup(x )rsup(y ) Mede dependência entre X e Y : quanto maior, maior dependência, maior interesse Desvio do suporte da regra inteira em relação ao suporte de cada parte

74 Ordenação por lift closed <- eclat(transacoes5, par=list(target="closed", sup=0.01), control=list(verbose=f)) rclosed <- ruleinduction(closed, transacoes5, conf=0.01) as(rclosed,"data.frame") %>% arrange(lift) %>% head() ## ## 1 ## 2 ## 3 {Star Wars: Episode IV - A New Hope (1977),Star Wars: ## 4 {Lord of the Rings: Th ## 5 {Silence of the Lambs, ## 6 ## support confidence lift itemset ## ## /93

75 75/93 Ordenação por tamanho da regra as(rclosed,"data.frame") %>% arrange(desc(size(fechados)[itemset])) %>% head(2) ## ## 1 {Office Space (1999)} => {Shawshank Redemption, The (1 ## 2 {Shawshank Redemption, The (1994)} => {Office Space (1 ## support confidence lift itemset ## ##

76 Outra medida de qualidade: leverage Medida de surpresa de uma regra leverage(x Y ) = P(XY ) P(X ) P(Y ) = rsup(xy ) rsup(x ) rsup(y ) pxy <- support(rclosed,transacoes5) px <- support(lhs(rclosed), transacoes5) py <- support(rhs(rclosed), transacoes5) leverage <- pxy - px * py as(rclosed,"data.frame") %>% arrange(desc(leverage[itemset])) %>% head(5) ## 4 {Saving Private Ryan (1998),Matrix, The (1999)} => {St ## 5 {Star Wars: Episode IV - A New Hope (1977),Matrix, The ## ## 1 {Saving Private Ryan (1998),Matrix, The (1999 ## 2 {Shawshank Redemption, The (1994),Matrix, The ## 3 {Shawshank Redemption, The (1994),Saving Priv 76/93

77 itemsetsfreq = eclat(transacoes5, par=list(support=0.01), control=list(verbose=false)) summary(itemsetsfreq) ## set of itemsets ## ## most frequent items: ## Godfather, The (1972) ## 2892 ## Pulp Fiction (1994) ## 2163 ## Godfather: Part II, The (1974) ## 1704 ## Fargo (1996) ## 1587 ## Star Wars: Episode IV - A New Hope (1977) ## 1460 ## (Other) 77/93

78 itemsetsfreq = eclat(transacoes5, par=list(sup=0.02)) ## set transactions...[3127 item(s), 644 transaction(s)] d ## sorting and recoding items... [259 item(s)] done [0.00s ## Eclat ## ## parameter specification: ## tidlists support minlen maxlen target ## FALSE frequent itemsets ## ext ## FALSE ## ## algorithmic control: ## sparse sort verbose ## 7-2 TRUE ## ## Absolute minimum support count: 12 ## ## create itemset... 78/93

79 79/93 plot(maisregras) ## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter. Scatter plot for 38 rules confidence lift support

80 80/93 plot(subset(maisregras,lhs %pin% "\\(200")) ## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter. Scatter plot for 5 rules confidence support lift

81 81/93 plot(subset(maisregras,rhs %pin% "\\(200")) Scatter plot for 2 rules confidence support lift

82 plot(subset(maisregras, (lhs %pin% "20") (rhs %pin% "20"))) ## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter. Scatter plot for 5 rules confidence support lift 82/93

83 83/93 lift4<- subset(maisregras, lift > 4) inspect(lift4[1:2],itemsep="+", setstart="\n",setend="\n") ## Lord of the Rings: The Fellowship of the Ring, The (2001 ## Raiders of the Lost Ark (Indiana Jones and the Raiders o ## lhs ## [1] ## Shrek (2001)+ ## Lord of the Rings: The Two Towers, The (2002) ## => ## ## [2] ## Indiana Jones and the Last Crusade (1989)+ ## Lord of the Rings: The Fellowship of the Ring, The ## => ##

84 Ordenação de regras inspect(sort(maisregras,by=c("lift","conf"))) ## lhs ## [1] {Schindler's List (1993), ## Citizen Kane (1941)} ## [2] {Star Wars: Episode IV - A New Hope (1977), ## Star Wars: Episode V - The Empire Strikes Back (19 ## Men in Black (a.k.a. MIB) (1997)} ## [3] {Star Wars: Episode V - The Empire Strikes Back (19 ## Men in Black (a.k.a. MIB) (1997)} ## [4] {Godfather, The (1972), ## Butch Cassidy and the Sundance Kid (1969)} ## [5] {Shrek (2001), ## Lord of the Rings: The Two Towers, The (2002)} ## [6] {Indiana Jones and the Last Crusade (1989), ## Lord of the Rings: The Fellowship of the Ring, The ## [7] {Princess Bride, The (1987), 84/93

85 85/93 Visualização de regras plot(lift4,measure=c("support", "lift"), shading="confidence") ## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter. Scatter plot for 38 rules lift support confidence = 1

86 86/93 Visualização de regras plot(maisregras,measure=c("support", "lift"), shading="order") ## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter. Scatter plot for 38 rules lift order 5 order order support

87 87/93 r <- ruleinduction(eclat(transacoes5,par=list(sup=0.03), control=list(verbose=false)), conf=0.9) plot(r,method="graph") Graph for 15 rules size: support ( ) color: lift ( ) One Flew Over the Cuckoo's Nest (1975) Pulp Fiction (1994) Chinatown (1974) Godfather, The (1972) Fargo (1996) Godfather: Part II, The (1974) Usual Suspects, The (1995) Shawshank Redemption, The (1994) Raiders of the Lost Ark (Indiana Jones and the Raiders of the Lost Ark) (1981) Goodfellas (1990) Back to the Future (1985) Star Wars: Episode VI Return of the Jedi (1983) Star Wars: Episode IV A New Hope (1977) Star Wars: Episode V The Empire Strikes Back (1980) Matrix, The (1999)

88 ## [10] "{Raiders of the Lost Ark (Indiana Jones and the Ra ## [11] "{Star Wars: Episode IV - A New Hope (1977),Termina ## Itemsets in Antecedent (LHS) ## [1] "{Lord of the Rings: The Fellowship of the Ring, Th ## [2] "{Godfather, The (1972),Chinatown (1974)}" ## [3] "{Lord of the Rings: The Fellowship of the Ring, Th ## [4] "{Godfather, The (1972),Goodfellas (1990)}" ## [5] "{Indiana Jones and the Last Crusade (1989)}" ## [6] "{Star Wars: Episode VI - Return of the Jedi (1983) ## [7] "{Lord of the Rings: The Two Towers, The (2002),Lor ## [8] "{Star Wars: Episode IV - A New Hope (1977),Star Wa ## [9] "{Star Wars: Episode IV - A New Hope (1977),Raiders 88/93 is <- eclat(transacoes5,par=list(sup=0.03), control=list(verbose=false)) r<-ruleinduction(is,transacoes5) #Testar interatividade plot(r,method="matrix",measure="lift",interactive=true)

89 89/93 plot(sample(r,15),method="paracoord") Parallel coordinates plot for 15 rules Lord of the Rings: The Return of the King, The (2003) Lord of the Rings: The Two Towers, The (2002) Lord of the Rings: The Fellowship of the Ring, The (2001) Godfather, The (1972) Back to the Future (1985) Pulp Fiction (1994) Matrix, The (1999) One Flew Over the Cuckoo's Nest (1975) Goodfellas (1990) Fargo (1996) Chinatown (1974) Star Wars: Episode IV A New Hope (1977) Usual Suspects, The (1995) Star Wars: Episode VI Return of the Jedi (1983) Godfather: Part II, The (1974) Star Wars: Episode V The Empire Strikes Back (1980) 2 1 rhs Position

90 90/93 Exercícios Encontrar conjuntos de regras interessantes para as substâncias cuja exploração foram concedidadas para uma mesma empresa (usar Cessoes de Direitos.csv [link] do trabalho 1)

91 91/93 Outros assuntos relacionados a mineração de regras 2 ln(c) Mineração usando amostragem: n = para suporte τɛ 2 mínimo τ, acurácia de suporte 1 ɛ e nível de confiança 1 c [Zaki et al., 1997] Amostragem progressiva até acurácia desejada para estimativa do suporte [Parthasarathy, 2002] Para bases em memória secundária, usar uma amostra com um limiar de suporte mais baixo para selecionar candidatos para verificar suporte mínimo em uma passada na memória secundária [Toivonen et al., 1996]

92 Softwares de mineração de regras Mineração de regras de sequências: pacote arulessequences Mineração de subgrafos: pacote subgraphmining [link] ELKI - [link] APriori, Eclat, FPGrowth de Christian Borgelt - [link] 92/93

93 Datasets disponíveis para testes /93

94 93/93 Parthasarathy, S. (2002). Efficient progressive sampling for association rules. In Data Mining, ICDM Proceedings IEEE International Conference on, pages IEEE. Toivonen, H. et al. (1996). Sampling large databases for association rules. In VLDB, volume 96, pages Zaki, M. J., Parthasarathy, S., Li, W., and Ogihara, M. (1997). Evaluation of sampling for data mining of association rules. In Research Issues in Data Engineering, Proceedings. Seventh International Workshop on, pages IEEE.

Mineração de itemsets e regras de associação

Mineração de itemsets e regras de associação Mineração de itemsets e regras de associação Marcelo K. Albertini 3 de Novembro de 2015 2/46 Conteúdo Regras de associação A-priori FP-Tree 3/46 Análise de cestas de compras Uma cadeia de supermercados

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 14 Regras de Associação Max Pereira Regras de Associação Motivação O que é geralmente comprado junto com o produto x? Que pares de produtos são comprados juntos?

Leia mais

Exemplo: vendas casadas Sei que quem compra A também compra B. Mineração de Dados. Técnicas de Associação. prof. Luis Otavio Alvares

Exemplo: vendas casadas Sei que quem compra A também compra B. Mineração de Dados. Técnicas de Associação. prof. Luis Otavio Alvares Mineração de Dados Técnicas de Associação Exemplo: vendas casadas Sei que quem compra A também compra B. Apresentação adaptada do material do livro: Introduction to Data Mining Tan, Steinbach e Kumar PRODUTO

Leia mais

Mineração de Dados em Biologia Molecular

Mineração de Dados em Biologia Molecular Mineração de Dados em Biologia Molecular Análise de associação Principais tópicos Análise de associação Itens frequentes Conjunto de itens frequentes de associação Avaliação de regras de associação Docente:

Leia mais

Regras de Associação. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP

Regras de Associação. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP Regras de Associação A compra de um produto quando um outro produto é comprado representa uma Regra de Associação Regras de Associação são frequentemente utilizadas para apoiar campanhas de marketing e

Leia mais

Inteligência Artificial

Inteligência Artificial UFRGS 2 Inteligência Artificial Técnicas de Mineração de Dados Árvores de Decisão Regras de Associação Árvores de Decisão As árvores de decisão (AD) são ferramentas poderosas para classificação cuja maior

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Descoberta de Conhecimento em Bases de Dados Mineração de Dados Descobertas de regras de associação Descoberta de Conhecimento em Bases de Dados DCBD (Descoberta de Conhecimento

Leia mais

Associações & Freqüentes

Associações & Freqüentes Associações & Análises de Itens Freqüentes Eduardo R. Hruschka Baseado no curso de Gregory Piatetsky-Shapiro, disponível no sítio http://www.kdnuggets.com Visão Geral: Transações Itens freqüentes Regras

Leia mais

Aula 13: Regras de Associação. Rafael Izbicki

Aula 13: Regras de Associação. Rafael Izbicki Mineração de Dados Aula 13: Regras de Associação Rafael Izbicki 1 / 6 O Problema Imagine que temos um banco de dados em que cada linha representa a ida de uma pessoa a um supermercado, e cada coluna representa

Leia mais

Explorando a Técnica de Indexação de Conjuntos Candidatos na Mineração de Conjuntos Freqüentes. Adriana Bechara Prado

Explorando a Técnica de Indexação de Conjuntos Candidatos na Mineração de Conjuntos Freqüentes. Adriana Bechara Prado Explorando a Técnica de Indexação de Conjuntos Candidatos na Mineração de Conjuntos Freqüentes Adriana Bechara Prado Dissertação de Mestrado submetida ao Programa de Pós-Graduação em Ciência da Computação

Leia mais

CEFET/RJ. Aprendizado de Máquina - Trabalho 03

CEFET/RJ. Aprendizado de Máquina - Trabalho 03 CEFET/RJ Programa de Pós-graduação em Ciência da Computação Aprendizado de Máquina - Trabalho 03 Prof. Eduardo Bezerra (ebezerra@cefet-rj.br) Agosto/2018 Conteúdo 1 Introdução 3 2 Sistemas de Recomendação

Leia mais

PPGCA/UTFPR câmpus Curitiba -- CAIA003 - Mineração de Dados -- Profs. Celso Kaestner e Heitor Lopes Trabalho #2 Regras de Associação

PPGCA/UTFPR câmpus Curitiba -- CAIA003 - Mineração de Dados -- Profs. Celso Kaestner e Heitor Lopes Trabalho #2 Regras de Associação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ (UTFPR) Mineração de Dados 2016/3 Professores Celso e Heitor Jean Avila Rangel 1801317 - PPGCA PPGCA/UTFPR câmpus Curitiba -- CAIA003 - Mineração de Dados --

Leia mais

Aula 20: Regras de Associação

Aula 20: Regras de Associação Aula 20: Regras de Associação Profa. Ms. Rosângela da Silva Nunes 1 de 22 Motivação 2 de 22 Market Basket Aplicações 43% das pessoas que compram computadores também compram software de gestão financeira

Leia mais

Minerando regras de associação

Minerando regras de associação Minerando regras de associação Proposto por Rakesh Agrawal em 1993. É o modelo de mineração de dados mais estudado pela comunidade de banco de dados. Utiliza dados categóricos. Não há bons algoritmos para

Leia mais

Número: Nome:

Número: Nome: Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Sistemas de Apoio à Decisão Exame 1 20 junho 2006

Leia mais

Inteligência nos Negócios (Business Inteligente)

Inteligência nos Negócios (Business Inteligente) Inteligência nos Negócios (Business Inteligente) Sistemas de Informação Sistemas de Apoio a Decisão Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 5) Fundamentação da disciplina Analise de dados Decisões

Leia mais

Universidade Federal de Uberlândia - Mestrado em Ciência da Computação. Profa. Sandra A. de Amo

Universidade Federal de Uberlândia - Mestrado em Ciência da Computação. Profa. Sandra A. de Amo Universidade Federal de Uberlândia - Mestrado em Ciência da Computação Lista de Exercícios n 0 1 - Data Mining : REGRAS DE ASSOCIAÇÃO 1 0 Semestre de 2003 Profa. Sandra A. de Amo Nesta lista, alguns exercícios

Leia mais

UNIVERSIDADE DE SÃO PAULO

UNIVERSIDADE DE SÃO PAULO UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação ISSN 0103-2569 Descrição de um Algoritmo para Generalização de Regras de Associação Marcos Aurélio Domingues Solange Oliveira

Leia mais

Mineração de padrões frequentes

Mineração de padrões frequentes Mineração de padrões frequentes Fabrício J. Barth fabricio.barth@gmail.com Setembro de 2016 Objetivos Os objetivos desta aula são: Apresentar e discutir métodos para identificar associações úteis em grandes

Leia mais

Descoberta direta e eficiente de regras de associação ótimas. Alinson Sousa de Assunção

Descoberta direta e eficiente de regras de associação ótimas. Alinson Sousa de Assunção Descoberta direta e eficiente de regras de associação ótimas Alinson Sousa de Assunção SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP Data de Depósito: Assinatura: Descoberta direta e eficiente de regras de associação

Leia mais

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Análise de Associação. Mineração de Regras de Associação

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Análise de Associação. Mineração de Regras de Associação SCC0173 Mineração de Dados Biológicos Mineração de Regras de Associação Prof. Ricardo J. G. B. Campello Créditos Parte deste material consiste de adaptações e extensões dos originais: gentilmente cedidos

Leia mais

Mineração de Dados (Regras de associação)

Mineração de Dados (Regras de associação) Aplicações Mineração de Dados (Regras de associação) Perfis de clientes ( Market basket analysis ) Merchandizing Detecção de fraudes em seguros de saúde Organização de produtos em vitrines de lojas M.

Leia mais

Introdução a Sistemas Inteligentes

Introdução a Sistemas Inteligentes Introdução a Sistemas Inteligentes Noções de Preparação de Dados e Mineração de Regras de Associação Prof. Ricardo J. G. B. Campello ICMC / USP Créditos Parte deste material consiste de adaptações e extensões

Leia mais

Sarajane M. Peres e Clodoaldo A. M. Lima. 19 de novembro de 2015

Sarajane M. Peres e Clodoaldo A. M. Lima. 19 de novembro de 2015 Sarajane M. Peres e Clodoaldo A. M. Lima 19 de novembro de 2015 Material baseado em: HAN, J. & KAMBER, M. Data Mining: Concepts and Techniques. 2nd. 2006 Sarajane M. Peres e Clodoaldo A. M. Lima Regras

Leia mais

MiRABIT: Um Novo Algoritmo para Mineração de Regras de Associação

MiRABIT: Um Novo Algoritmo para Mineração de Regras de Associação MiRABIT: Um Novo Algoritmo para Mineração de Regras de Associação Sandro da Silva Camargo Universidade da Região da Campanha (URCAMP) 96.400-101 Bagé RS Brasil scamargo@urcamp.tche.br Paulo Martins Engel

Leia mais

Minerando Padrões Sequenciais para Bases de Dados de Lojas Virtuais

Minerando Padrões Sequenciais para Bases de Dados de Lojas Virtuais Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação Minerando Padrões Sequenciais para Bases de Dados de Lojas Virtuais Cecília Henriques Devêza ceciliadeveza@gmail.com

Leia mais

Sistema de mineração de dados para descoberta de padrões em dados médicos

Sistema de mineração de dados para descoberta de padrões em dados médicos Sistema de mineração de dados para descoberta de padrões em dados médicos Matheus Felipe MIRANDA¹; Marcos Roberto RIBEIRO² ¹ Estudante do curso de Tecnologia em Análise e Desenvolvimento de Sistemas e

Leia mais

MINERAÇÃO DE DADOS EM ARQUIVOS DE LOG GERADOS POR SERVIDORES DE PÁGINAS WEB

MINERAÇÃO DE DADOS EM ARQUIVOS DE LOG GERADOS POR SERVIDORES DE PÁGINAS WEB MINERAÇÃO DE DADOS EM ARQUIVOS DE LOG GERADOS POR SERVIDORES DE PÁGINAS WEB Acadêmico: Leonardo José Correia Orientador: Prof. Ricardo Alencar Azambuja Blumenau, Julho/2004 1 Roteiro Introdução Objetivo

Leia mais

partir da navegação de usuários em sites Web

partir da navegação de usuários em sites Web Criação de regras de associação a partir da navegação de usuários em sites Web Fabrício J. Barth Faculdades BandTec e VAGAS Tecnologia Junho de 2013 Processo de mineração de padrões na Web Pré processamento

Leia mais

Mineração de Dados. Arthur Emanuel de O. Carosia Cristina Dutra de Aguiar Ciferri

Mineração de Dados. Arthur Emanuel de O. Carosia Cristina Dutra de Aguiar Ciferri Mineração de Dados Arthur Emanuel de O. Carosia Cristina Dutra de Aguiar Ciferri 1 Motivação Aumento da capacidade de processamento e de armazenamento de dados; Baixo custo; Grande quantidade de dados

Leia mais

UNIVERSIDADE DE SÃO PAULO

UNIVERSIDADE DE SÃO PAULO UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação ISSN 0103-2569 AprioriGen: Uma extensão do algoritmo Apriori para obtenção de Regras de Associação Generalizadas André Roberto

Leia mais

Curso de Data Mining. Sandra de Amo. Aula 18 - Mineração de padrões em caminhos percorridos por usuários da Internet

Curso de Data Mining. Sandra de Amo. Aula 18 - Mineração de padrões em caminhos percorridos por usuários da Internet Curso de Data Mining Sandra de Amo Aula 18 - Mineração de padrões em caminhos percorridos por usuários da Internet Nesta aula vamos tratar do problema de mineração de caminhos percorridos por usuários

Leia mais

KDD, Mineração de Dados e Algoritmo Apriori

KDD, Mineração de Dados e Algoritmo Apriori Universidade Federal de São Carlos - UFSCar Departamento de Computação - DC Programa de Pós-Graduação em Ciência da Computação - PPGCC KDD, Mineração de Dados e Algoritmo Apriori Aluno: Rodrigo Moura J.

Leia mais

Algoritmos de Mineração de Dados Eficientes Quanto ao Consumo de Memória

Algoritmos de Mineração de Dados Eficientes Quanto ao Consumo de Memória Gustavo Menezes Siqueira Algoritmos de Mineração de Dados Eficientes Quanto ao Consumo de Memória Dissertação apresentada ao Curso de Pós- Graduação em Ciência da Computação da Universidade Federal de

Leia mais

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Introdução à Análise de Algoritmos Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Aula de hoje Nesta aula veremos: Sobre a disciplina Exemplo: ordenação Sobre a disciplina

Leia mais

Curso de Data Mining

Curso de Data Mining Curso de Data Mining Sandra de Amo Aula 2 - Mineração de Regras de Associação - O algoritmo APRIORI Suponha que você seja gerente de um supermercado e esteja interessado em conhecer os hábitos de compra

Leia mais

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron

Leia mais

Regras de Associação. Roteiro da Aula. Exemplos de perguntas a responder. Motivação e Relevância. Motivação e relevância. Regras de associação:

Regras de Associação. Roteiro da Aula. Exemplos de perguntas a responder. Motivação e Relevância. Motivação e relevância. Regras de associação: Roteiro da Aula Regras de Associação Stanley Robson de M. Oliveira Motivação e relevância. Regras de associação: Definição e exemplos; Conceitos básicos. Geração de regras de associação: Complexidade Problemas

Leia mais

Universidade Federal de Uberlândia. Programa de Mestrado em Ciência da Computação. Solução da Primeira Prova de Data Mining - 25/10/2006

Universidade Federal de Uberlândia. Programa de Mestrado em Ciência da Computação. Solução da Primeira Prova de Data Mining - 25/10/2006 Universidade Federal de Uberlândia Programa de Mestrado em Ciência da Computação Solução da Primeira Prova de Data Mining - 25/10/2006 Questão 1 (Valor = 2,5 pontos) Considere o seguinte banco de dados

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização

Leia mais

DAINF - Departamento de Informática

DAINF - Departamento de Informática DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.

Leia mais

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a

Leia mais

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.

Leia mais

Descoberta de Conhecimento em Bancos de Dados - KDD

Descoberta de Conhecimento em Bancos de Dados - KDD Descoberta de Conhecimento em Bancos de Dados - KDD Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Fases do processo 3. Exemplo do DMC 4. Avaliação

Leia mais

Árvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação

Árvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 Árvores Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 2 Árvore Binária de Busca Definição: uma árvore binária de busca (ABB) é uma árvore binária na qual

Leia mais

Grafos COM11087-Tópicos Especiais em Programação II

Grafos COM11087-Tópicos Especiais em Programação II Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg

Leia mais

3 Plano de Execução de Consultas

3 Plano de Execução de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática CM122 - Fundamentos de Análise Prof. Zeca Eidam.

UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática CM122 - Fundamentos de Análise Prof. Zeca Eidam. UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática CM1 - Fundamentos de Análise Prof Zeca Eidam Lista 4 Supremo e ínfimo 1 Seja X R não-vazio 1 Mostre que, caso existam,

Leia mais

Explorando Técnicas de Redução de Base de Dados na Mineração de Padrões Seqüenciais

Explorando Técnicas de Redução de Base de Dados na Mineração de Padrões Seqüenciais Universidade Federal Fluminense Ciro Bastos Barbosa Explorando Técnicas de Redução de Base de Dados na Mineração de Padrões Seqüenciais NITERÓI 2006 Ciro Bastos Barbosa Explorando Técnicas de Redução de

Leia mais

Visualização Computacional

Visualização Computacional Visualização Computacional Séries Temporais Rafael Umino Nakanishi Universidade de São Paulo Instituto de Ciências Matemáticas e Computação Novembro de 2013 Rafael Umino Nakanishi (USP-ICMC) Visualização

Leia mais

Classificação: 1R e Naïve Bayes. Eduardo Raul Hruschka

Classificação: 1R e Naïve Bayes. Eduardo Raul Hruschka Classificação: 1R e Naïve Bayes Eduardo Raul Hruschka Agenda: Conceitos de Classificação Técnicas de Classificação One Rule (1R) Naive Bayes (com seleção de atributos) Super-ajuste e validação cruzada

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro O volume de dados está crescendo sem parar Gigabytes, Petabytes, etc. Dificuldade na descoberta do conhecimento Dados disponíveis x Análise dos Dados Dados disponíveis Analisar e compreender os dados 2

Leia mais

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira. Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados

Leia mais

Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22

Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22 Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

CIC 111 Análise e Projeto de Algoritmos II CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 22 Combinatorics Binomial coefficients Catalan numbers Inclusion-exclusion Burnside

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 02 Representação dos dados Pré-processamento Max Pereira Tipo de Dados Os atributos usados para descrever objetos de dados podem ser de diferentes tipos: Quantitativos

Leia mais

Árvores Conceitos gerais

Árvores Conceitos gerais http://www.mysticfractal.com/ FractalImaginator.html Árvores Conceitos gerais 9/11 Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são

Leia mais

Regras de Associação

Regras de Associação Regras de Associação Engenharia Biomédica Programa de Aprendizagem: Professor: Heitor Silvério Lopes Aluno: Luciano Daniel Amarante Matricula: 1895753 (externo) Período: Fase III - 2016 CURITIBA - PR OUTUBRO

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Algoritmos Distribuídos. AD Algoritmos Básicos 1

Algoritmos Distribuídos. AD Algoritmos Básicos 1 Algoritmos Distribuídos Algoritmos Básicos Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro Este material está baseado no capítulo 4 do livro An Introduction to Distributed

Leia mais

Implementação de Taxonomias para Regras de Associação em um Ambiente de Pós-processamento

Implementação de Taxonomias para Regras de Associação em um Ambiente de Pós-processamento Implementação de Taxonomias para Regras de Associação em um Ambiente de Pós-processamento Marcos Aurélio Domingues Solange Oliveira Rezende Marcos Ferreira de Paula Universidade de São Paulo Instituto

Leia mais

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÂO SCC0203 - Algoritmos e Estruturas de Dados II 6ª lista de exercícios Questão 1 Explique a seguinte sentença: Árvores-B são construídas de baixo para cima, enquanto

Leia mais

Aula 21 Ordenação externa

Aula 21 Ordenação externa MC3305 Algoritmos e Estruturas de Dados II Aula 21 Ordenação externa Slides adaptados de Brian Cooper (Yahoo Research) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann

Leia mais

K-MEANS COM ÁRVORES KD

K-MEANS COM ÁRVORES KD 2 Roteiro K-MEANS COM ÁRVORES KD Rodrigo Coelho Barros Árvores KD O que são? Algoritmo de Bentley (1975) Métodos de divisão K-Means com árvores KD Algoritmo de filtragem (Kanungo et al., 2002) Exemplo

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

CIC 111 Análise e Projeto de Algoritmos II CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 27 Square root algorithms Combining algorithms Integer partitions Mo s algorithm Square

Leia mais

INF1010 Lista de Exercícios 2

INF1010 Lista de Exercícios 2 INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária

Leia mais

Algoritmos Paralelos Regras de Associação no Modelo de Memória Distribuída

Algoritmos Paralelos Regras de Associação no Modelo de Memória Distribuída Comparação de Algoritmos Paralelos para a Extração de Regras de Associação no Modelo de Memória Distribuída Marcos Alves Mariano Dissertação de Mestrado Orientação: Prof. Dr. Henrique Mongelli Área de

Leia mais

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães.

Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães. Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães. O que é mineração de dados Mineração de Dados é um passo no processo de KDD que consiste na aplicação de análise de dados e algoritmos

Leia mais

SAMiRA UMA PROPOSTA DE SISTEMA DE APOIO À MINERAÇÃO DE REGRAS DE ASSOCIAÇÃO

SAMiRA UMA PROPOSTA DE SISTEMA DE APOIO À MINERAÇÃO DE REGRAS DE ASSOCIAÇÃO UNIVERSIDADE ESTADUAL DO CEARÁ Centro de Ciências Tecnológicas - CCT INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO CEARÁ Diretoria de Pesquisa e Pós-Graduação - DIPPG SANDRO LUIZ DA PAIXÃO XAVIER

Leia mais

Técnicas Inteligência Artificial

Técnicas Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas Inteligência Artificial Aula 03 Métodos de Busca Parte 1 Prof. Max Pereira Solução de Problemas como Busca Um problema pode ser considerado

Leia mais

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:

Leia mais

Listas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro

Listas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro em Haskell Linguagem Haskell Faculdade de Computação - UFU Setembro - 2009 em Haskell 1 em Haskell Noções sobre Construção de por Compreensão Funções Sobre Processamento de Fundamentos em Haskell Noções

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo

Leia mais

Fabio G. Cozman, Thiago Martins 2017

Fabio G. Cozman, Thiago Martins 2017 Lista 1 - adendo - PMR3201 Fabio G. Cozman, Thiago Martins 2017 Exercícios 1. (P1 2016) A listagem a seguir mostra o código de uma função que converte uma cadeia de caracteres com a representação decimal

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Introdução a algoritmos geométricos e seus métodos - varredura - envoltória convexa Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde

Leia mais

Roteiro. PCC142 / BCC444 - Mineração de Dados. Cenário

Roteiro. PCC142 / BCC444 - Mineração de Dados. Cenário Roteiro PCC142 / BCC444 - Mineração de Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução Tarefas

Leia mais

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:

Leia mais

Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins

Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins 1. (25 pontos) A listagem a seguir mostra o código de uma função que converte uma cadeia de caracteres com a representação

Leia mais

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2

Leia mais

Árvores Binárias de Busca (ABB) 18/11

Árvores Binárias de Busca (ABB) 18/11 Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:

Leia mais

ESTRUTURA DE DADOS. Arvore Binária Jose. Arvore Ternaria Direção

ESTRUTURA DE DADOS. Arvore Binária Jose. Arvore Ternaria Direção ESTRUTURA DE DADOS 1. Árvores: Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas usando-se

Leia mais

Sumário. Definição do Plano de Execução

Sumário. Definição do Plano de Execução Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos de

Leia mais

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA Sumário : Merging of Adaptive Finite Intervals Elaine Ribeiro de Faria Análise de Agrupamento de Dados ICMC-USP Dezembro 2010 Introdução Visão Geral e Objetivos do Algoritmo Grid Adaptativo Algoritmo Algoritmo

Leia mais

Dependências Funcionais

Dependências Funcionais Dependências Funcionais Fernando Lobo Base de Dados, Universidade do Algarve 1 / 26 Motivação: Normalização Por vezes o esquema relacional tem falhas. Geralmente são derivadas de falhas no modelo conceptual.

Leia mais

Prof. Júlio Cesar Nievola Data Mining PPGIa PUCPR

Prof. Júlio Cesar Nievola Data Mining PPGIa PUCPR Dado um conjunto de transações, achar regras que prevejam a ocorrência de um item baseado nas ocorrências de outros itens na transação Market-Basket transactions TID Items 1 Bread, Milk 2 Bread, Diaper,

Leia mais

Métodos de Ordenação Parte 4

Métodos de Ordenação Parte 4 Métodos de Ordenação Parte 4 Introdução à Ciência de Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e Prof. Thiago A. S. Pardo 1 Ordenação por Intercalação Revisando...

Leia mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Ordenação por bolha (bubble sort)

Leia mais

Estruturas de Dados Grafos

Estruturas de Dados Grafos Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:

Leia mais

Lista 1. 9 Se 0 < x < y e n N então 0 < x n < y n.

Lista 1. 9 Se 0 < x < y e n N então 0 < x n < y n. UFPR - Universidade Federal do Paraná Departamento de Matemática CM095 - Análise I Prof. José Carlos Eidam Lista 1 Em toda a lista, K denota um corpo ordenado qualquer. Corpos ordenados 1. Verifique as

Leia mais

Árvores Binárias de Busca (ABB) 18/11

Árvores Binárias de Busca (ABB) 18/11 Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:

Leia mais

Estruturas de Dados II

Estruturas de Dados II Estruturas de Dados II Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2086 Aula 2: Árvores http://www.do.ufgd.edu.br/rodrigosacchi Árvores Definição: Árvores Uma árvore T é um conjunto

Leia mais

Teoria dos Grafos Aula 6

Teoria dos Grafos Aula 6 Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes

Leia mais

Teoria dos Grafos Aula 5

Teoria dos Grafos Aula 5 Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema

Leia mais

Programação Dinâmica. Prof. Anderson Almeida Ferreira. Adaptado do material elaborado por Andrea Iabrudi Tavares

Programação Dinâmica. Prof. Anderson Almeida Ferreira. Adaptado do material elaborado por Andrea Iabrudi Tavares Programação Dinâmica Prof. Anderson Almeida Ferreira Adaptado do material elaborado por Andrea Iabrudi Tavares Programação Dinâmica 1950, Bellman Evitar recálculos dos subproblemas em comum Menor para

Leia mais

Trabalho #2. a) Calcule o Suporte para os conjuntos de sintomas {dor de cabeça}, {tosse, fadiga, dor de cabeça}

Trabalho #2. a) Calcule o Suporte para os conjuntos de sintomas {dor de cabeça}, {tosse, fadiga, dor de cabeça} Disciplina de Mineração de Dados Aluna: Priscila Louise Leyser Santin CPGEI Trabalho #2 1) Um total de 10 pacientes estiveram em um Posto de Saúde com sintomas que sugerem gripe, mostrados na tabela abaixo.

Leia mais

Teoria dos Grafos. Árvores Geradoras

Teoria dos Grafos. Árvores Geradoras Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Preparado a partir

Leia mais