Prévia do material em texto
MINERAÇÃO DE DADOSMINERAÇÃO DE DADOS ALGORITMOS DEALGORITMOS DE AGRUPAMENTO E DEAGRUPAMENTO E DE ASSOCIAÇÃOASSOCIAÇÃO Autor: Esp. Wesley Soares de Souza Revisor : Bruno Roberto Nepomuceno Matheus IN IC IAR 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 1/53 introdução Introdução Estudante, o agrupamento e associação são duas etapas extremamente importantes na mineração de dados. O agrupamento ou clusterização, é utilizado com a função de separar os registros em uma base de dados, sendo que tais elementos sejam agrupados em um cluster de forma que haja uma diferenciação que distingue diferentes ‘grupos’. Diferente da classi�cação, que possui rótulos pré de�nidos, a clusterização automaticamente identi�ca grupos os quais são rotulados pelos usuários. A associação consiste na busca por itens frequentes que aparecem de forma simultânea nas transações envolvendo banco de dados. Aproveite o estudo desta unidade. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 2/53 Caro(a) aluno(a), um agrupamento hierárquico pode ser aglomerativo ou divisivo. Quando, é aglomerativo, ocorre não somente com os dados iniciais que são particionados em um grupo ou mais, porém ocorre quando cada documento pertence a um grupo, e em cada junção os pares próximos se unem até que no �m formam um único grupo. AgrupamentoAgrupamento HierárquicoHierárquico 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 3/53 Um agrupamento hierárquico agrupa os dados de modo que se dois exemplos são agrupados, em algum momento, nas próximas interações eles continuam fazendo parte do mesmo grupo, mesmo se forem agrupados em outros grupos mais gerais. [...] (DINIZ, 2009, p.15) O agrupamento hierárquico divisivo, ocorre com um grupo com todos os documentos que se dividem em grupos menores até que �que apenas um documento. Tanto o hierárquico divisivo quanto o aglomerativo resultam em uma árvore binária denominada Dendrograma conforme �gura 1.1. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 4/53 Figura 4.1 - Dendrograma Fonte: CORRÊA, MARCACINI, REZENDE (2012, P.14) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 5/53 A representação por um Dendrograma é a forma mais intuitiva de descrever os agrupamentos. Cada nó representa um grupo de documentos, a altura dos arcos unindo dois subgrupos indica a compactação entre eles. Quanto menos altura tiver mais compacto são os grupos. A distância entre os grupos também é algo importante a ser considerado, quanto maior a distância melhor é a distribuição entre os grupos. Percebemos tal característica quando temos uma considerável diferença entre a altura dos arcos e os arcos formados abaixo dele (METZ, 2006). Observamos que a pesquisa foca mais o método aglomerativo, sendo o divisivo pouco abordado. O principal aspecto veri�cado para que isso ocorra está na complexidade computacional que no método divisivo é muito maior. Os algoritmos aglomerativos são quadráticos com nível de complexidade O(N2), porém mesmo assim por vezes a técnica é interessante a ser aplicada. Por outro lado os divisivos crescem exponencialmente em relação aos parâmetros de entrada, o que torna muito difícil sua aplicação quando os dados ultrapassam as centenas. Descritores para Agrupamento Após a realização do agrupamento dos documentos que formarão a base de conhecimento devem ser selecionados os descritores que auxiliarão na interpretação dos resultados. A importância da tarefa está no fato de que essa tarefa tem como objetivo principal a atividade exploratória, tendo que ser bem claro o signi�cado de cada grupo de dados para que as interações sejam intuitivas. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 6/53 Conforme visto anteriormente, o nó raiz ou centróide, permite representar todos os documentos abaixo. Uma das estratégias utilizadas na organização dos elementos, porém muito simplista está em selecionar termos frequentes em um grupo, mas como citado pela literatura os resultados não são tão satisfatórios (CHUANG & CHIEN, 2004). Outra estratégia com fundamentação mais plausível é selecionar os termos de N documentos que se encontram mais próximos à raiz, então através de técnicas especí�cas selecionar atributos em tarefas de aprendizado de máquina os quais se aplicam aos descritores por agrupamento. Algoritmos para Agrupamento Hierárquico Podemos de�nir a distância entre os grupos de formas distintas. Os algoritmos referenciados de forma clássica pela literatura e citados aqui serão: Single-Linkage, Complete-Linkage e Ward (METZ, 2006). Single-Linkage Compõe o algoritmo mais simples, sendo que faz a ligação utilizando como parâmetro o vizinho mais próximo (Nearest Neighbor Technique), sendo que a distância entre dois grupos distintos é determinado pelo elemento mais próximo. Na �gura 2.2. demonstramos que através da distância euclidiana utilizada para obter a matriz da distância dos elementos a serem agrupados. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 7/53 Cada elemento forma um grupo o cuja similaridade entre os outro grupo é medida a distância do par de dados mais próximo. O processo segue até todos os elementos reunidos formarem um único grupo. Esse algoritmo tende a formar grupos longos se comparado a outras técnicas. O pseudo-código sugerido por DINIZ (2009): Figura 4.2 - Algoritmo Single Linkage Fonte: DINIZ (2009, P. 17) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 8/53 1. criar N grupos, cada grupo contendo 1 elemento 2. Calcular a matriz de distância (Euclidiana) 3. Combinar grupos com menor distância 4. Atualizar matriz de distâncias 5. Repetir os passos 3 e 4 até que se tenha um grupo com todos os elementos Complete-Linkage A técnica utiliza da técnica onde é abordado o vizinho mais distante (Farthest Neighbor). De forma inversa ao single-linkage é determinada a distância entre dois grupos pela maior distância entre o par de elementos, desde que pertençam a grupos distintos, como segue a �gura 2.3. tem-se a propensão a identi�cação de formações menos alongadas. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 9/53 O pseudo-código sugerido por DINIZ (2009): 1. Criar N grupos, cada grupo contendo um objeto 2. Calcular a matriz de distância (Euclidiana) 3. Combinar os grupos com maior distância Figura 4.3 - Algoritmo Complete Linkage Fonte: DINIZ (2009, P. 18) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 10/53 4. Atualizar matriz de distância 5. Repetir os passos 3 e 4 até que se tenha um grupo que inclua todos os elementos. Ward A seguinte técnica é formada por etapas que são categoricamente reduzidas considerando a união de todos os elementos e seus possíveis pares conforme a união que alcance o valor máximo para a função objetivo. Segundo WARD (1963), uma função objetivo pode fazer parte de qualquer relação funcional que o especialista re�ita o que deseja alcançar com o agrupamento. A natureza do problema estipulado, o critério na formação da base de conhecimento, de�nem a interpretação da função objetivo.. Temos um processo que se inicia com N membros a serem agrupados, cada membro forma um conjunto com apenas 1 (um) elemento. Se deve unir 2 (dois) desses subconjuntos, o quereduzirá a quantidade dos mesmos, minimizando o prejuízo do valor ótimo da função objetivo. Continua o procedimento até que todos os elementos se unirem em um grupo só, sendo mutuamente exclusivos. O pseudo-código sugerido por DINIZ (2009): 1. Criar N grupos, cada grupo contendo um vetor componente da base de dados 2. Considerar as N x N combinações e calcular o erro interno para cada combinação 3. Escolher a combinação que obtiver o menor erro interno 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 11/53 4. O número de grupos é reduzido de 1 (N=N-1) e o processamento retorna ao passo 2 (dois) até que se tenha apenas um grupo que inclua todos os objetos ou qualquer outro critério de parada seja atingido. O objetivo do algoritmo, é buscar a melhor junção possível e a soma dos erros quadrados para resolução durante o processo. praticar Vamos Praticar Diferente da tarefa de classi�cação, que tem rótulos prede�nidos, a clusterização precisa automaticamente identi�car os grupos de dados aos quais o usuário deverá atribuir rótulos. FAYYAD, U. M.; PIATETSKY-SHAPIRO, G.; SMYTH, P. From Data Mining to Knowledge Discovery: An Overview. Knowledge Discovery and Data Mining , Menlo Park: AAAI Press, 1996. Com base na a�rmação, é correto dizer referindo-se ao agrupamento de dados: 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 12/53 a) O agrupamento hierárquico pode ser de três tipo, aglomerativo, divisivo ou resultante, o que irá de�nir é a estrutura inicial dos dados gerados. Feedback: alternativa incorreta , o agrupamento hierárquico ocorre somente do tipo aglomerativo ou divisivo, não existindo a opção resultante. b) Um agrupamento, quando é aglomerativo, é realizado não somente com os dados iniciais porém ocorre até a formação de um único grupo. Feedback: alternativa correta , Quando, é aglomerativo, ocorre não somente com os dados iniciais que são particionados em um grupo ou mais, porém ocorre quando cada documento pertence a um grupo, e em cada junção os pares próximos se unem até que no �m formam um único grupo. c) A clusterização dos dados divide os documentos em grupos distintos, que forma N grupos no �nal Feedback: alternativa incorreta , cada documento pertence a um grupo, e em cada junção os pares próximos se unem até que no �m formam um único grupo. d) Ao se realizar uma determinada iteração, aonde ocorrem o agrupamentos dos elementos, podem ser reagrupados em outra iteração Feedback: alternativa incorreta , após o agrupamento ser realizado em determinada iteração, ele continua fazendo parte do mesmo grupo em iterações futuras. e) O agrupamento divisivo resulta no agrupamento de todos os documentos envolvidos na forma de grafos. Feedback: alternativa incorreta , tanto o hierárquico divisivo quanto o aglomerativo resultam em uma árvore binária denominada Dendrograma. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 13/53 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 14/53 Aluno(a), as regras de associação trazem a possibilidade de veri�cação de atributos e seus respectivos valores que ocorrem com frequência associados num conjunto de dados. Segundo BRUSSO (2000), “as regras de associação são padrões descritivos que representam a probabilidade de que um conjunto de itens apareça em uma transação visto que outro conjunto está presente”. Regras de AssociaçãoRegras de Associação 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 15/53 Para uma melhor compreensão temos como exemplo uma loja de eletrônicos com a regra de�nida conforme �gura 2.1. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 16/53 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 17/53 Sendo X a representação do cliente, indicado na regra, que entre todos os clientes pesquisados, 2% entre 20 e 29 anos de idade com renda entre R$ 1.000 a R$ 2.900 compraram um CD player. Esse é um modelo associativo multidimensional, onde temos mais de um atributo, e cada atributo representa uma dimensão, segundo terminologia sugerida. Clusterização em Associação Averso ao método de classi�cação que trabalha com análise de atributos com classes já de�nidas, ao se fazer um clustering ou agrupamento, as classes estão inde�nidas no sentido de não possuir um rótulo. Segundo GOLDSCHMIDT & PASSOS (2005) a clusterização é uma “Tarefa na qual os dados de entrada devem ser agrupados em conjuntos que agregam padrões semelhantes. ” Além, é preciso a�rmar que elementos em agrupamentos diferentes possuem alta dissimilaridade. Figura 4.4 - Regra de associação Fonte: PETERMANN (2006, p.73) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 18/53 Em mineração de dados sempre que se aplica a clusterização percebe-se que temos um extenso número de dados a serem tratados. O principal problema encontrado no entanto não vem a ser o volume de dados, porém é fazer com que a similaridade alta entre os elementos de um determinado agrupamento não tenha tenha a mesma situação com elementos em outros clusters. A quantidade de elementos que compõem cada cluster denominamos como K . O valor K pode ser de�nido como parâmetro que de�ne-se como ‘problema de k-clusterização ’ ou o valor K pode ser desconhecido e então temos um ‘problema de clusterização automática’, sendo a obtenção de K parte do processo de solução do problema. Em um problema de k-clusterização, as formas de agrupamento de N elementos em K clusters equivale a função N(n,k) conforme �gura 2.5. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 19/53 Quando o K é automático, o total de combinações tem um incremento signi�cativo, sendo que em uma hipótese de 10 elementos, é considerado 115.975 maneiras de combinar tais elementos sendo que os clusters variam entre 1 e 10. A fórmula segue na �gura 2.6. Figura 4.5 - fórmula k-clusterização Fonte: OCHI, Dias e Soares (2020, on-line, p.2.) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 20/53 No processo de clusterização na realização do particionamento os elementos são distribuídos em K subconjuntos, sendo K conhecido ou gerado automaticamente, e cada con�guração se avalia por uma função-objetivo. Caso seja avaliado como inapropriado na avaliação do modelo, o processo então realiza nova con�guração migrando elementos entre os clusters, e assim até algum critério de parada seja alcançado. As técnicas utilizadas no processo para a k-clusterização k-medoids e k-means já exempli�cado em unidades anteriores, apriori que veremos nessa unidade. A utilização do elemento centróide como sendo o representante do cluster é interessante se utilizar em atributos numéricos, com signi�cados geométricos e indo para a representação estatística. Figura 4.6 - fórmula clusterização automática Fonte: OCHI, Dias e Soaresl (2020, on-line, p.3.) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 21/53 Problemas de Escalonamento em Tarefas Multiprocessadas Dentre vários problemas encontrados na clusterização, iremos tratar as tarefas multiprocessadas, que devido a evolução tecnológica atual, pode ocorrer com frequência. Podemos de�nir um cluster alocado num determinado processador para realizar uma tarefa.Como iremos citar aqui, cada processador tem uma memória local e a comunicação entre eles por troca de mensagens, caracterizando um sistema distribuído. De forma não preemptiva, uma tarefa não pode ser interrompida por outro evento, ou seja, o processador só é liberado ao terminar a execução. Dada uma aplicação executada de forma paralela num sistema com N processadores, o problema observado é encontrar um escalonamento que trata um tempo menor para o total da execução da aplicação. Deve ocorrer, o escalonamento, de forma que a precedência entre as tarefas seja respeitado. Além disso , um processo Xi só deve ser escalonado se todos seus predecessores já tiverem passado pelo processo e estiverem disponíveis no processador Pi onde Xi será escalonado. Tais características do modelo de escalonamento são estudados pelo modelo de aplicação que diz que uma aplicação paralela pode ser executada por um Grafo Acíclico Direcionado (GAD), e pelo modelo arquitetural que de�ne o modelo de arquitetura paralela utilizada pelo sistema. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 22/53 praticar Vamos Praticar As regras de associação tem como característica a veri�cação de atributos assim como seus valores e a frequência que existe a ocorrência deles num conjunto de dados. Essas regras possuem padrões descritivos que representam a presença provável de itens em uma transação. Com essas características podemos a�rmar que, relativo a associação, é correto: a) Os modelos associativos gerados são de apenas uma dimensão, levando em consideração o resultado lógico. Feedback: alternativa incorreta , podemos veri�car modelos multidimensionais onde cada atributo representa uma dimensão. b) As regras de associação geradas em determinado problema, gera o resultado observando um valor especí�co da estrutura Feedback: alternativa incorreta , podemos ter como resultado, por exemplo, que 2% de jovens entre 20 e 29 anos possuem renda acima de R$ 1.500 e compram mais uma marca de roupa, ou seja, observa-se inúmeros valores. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 23/53 c) Podemos de�nir a tarefa da associação sendo formado por padrões descritivos para representarem a probabilidade de junção dos elementos. Feedback: alternativa correta , as regras da associação se formam por padrões descritivos que mostram a probabilidade que um conjunto de itens apareça em uma transação. d) Levando em consideração um resultado multidimensional ao cada conjunto de atributos de�nidos automaticamente geram cada dimensão. Feedback: alternativa incorreta , no modelo associativo multidimensional, cada atributo em si, representa uma dimensão em especí�co. e) Atributos podem se associar formando determinada classe mesmo que não tenham similaridade, porém pela quantidade de classes sugeridas no processo. Feedback: alternativa incorreta , a associação é de�nida automaticamente pela similaridade dos elementos distribuidos em classes rotuladas pelos usuários. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 24/53 Estudante, a extração de regras de associação em uma base de dados, é aplicado na descoberta de conjuntos de itens frequentes, e na formação de regras deste conjunto. Essas regras por vezes podem ser quantitativas ou qualitativas que serão discutidos nas regras abordadas. Algoritmos de AssociaçãoAlgoritmos de Associação 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 25/53 Algoritmo APRIORI (qualitativa) O algoritmo é tido como um clássico em se tratando de extração de regras de associação. Desenvolvido em um projeto de pesquisa da IBM denominado QUEST que deu origem ao software Intelligent Miner , (AGRAWAL & SRIKANT, 1996), sendo um algoritmo responsável por resolver problemas de itemsets frequentes. Seguindo o princípio da antimonotonicidade de suporte, segundo GOLDSCHMIDT E PASSOS (2005), “Um k-itemset somente pode ser frequente se todos os seus (k-1)-itemsets forem frequentes”. Isso sendo que, a combinação de itemsets para gerar um novo só vem a ocorrer quando eles são frequentes. Esta regra permite que o algoritmo aumente seu desempenho. Na prática, leve em consideração um banco de dados com um conjunto de N transações e um nível de suporte X , o algoritmo encontra todas as aparições frequentes com a relação N e X , para se alcançar regras de associação interessantes, considere, para cada itemset frequente Y as regras candidatas A → (Y - A) , onde A está contido em Y e testar cada regra candidata para veri�car seu grau de con�ança atendendo ao mínimo aceitável. Conforme modelo desenvolvido por PITONI (2002), o �uxograma do processo do APRIORI na �gura 2.7. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 26/53 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 27/53 Inicialmente, deve ser de�nido os valores de suporte e con�ança mínimas utilizadas pelo apriori. A medida de suporte condiz com a porcentagem de transações na base de dados contendo A e B, mostrando a relevância dos mesmos. O grau de con�ança, diz que nas transações que possuem os itens A, a mesma porcentagem também contém B, validando a regra. Consideremos para este exemplo que tenham sido de�nidos MinSup=0,3 e MinConf=0,8. No desenvolvimento do algoritmo, temos como primeiro passo uma varredura da base de dados em cada conjunto de itemsets candidatos de tamanho K e dentre cada próximo passo K, temos as operações: 1. Os itens candidatos são gerados, no tamanho K, como objetivo para os itemsets frequentes já encontrados (k - 1). 2. o suporte a cada candidato incrementado “c.count++” 3. Prossegue iterativamente até itemsets frequentes Lk gerados, sendo sua união a saída do algoritmo. Segue na Figura 3.2. o pseudocódigo do algoritmo descrito. Figura 4.7. Fluxograma do algoritmo APRIORI Fonte: CASTRO (2014, P.58) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 28/53 Figura 4.8 - Pseudocódigo APRIORI Fonte: CASTRO (2014,P.59) 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 29/53 Percebe-se a utilização de outras duas funções, apriori-gen e subset, cada uma realizando operações especí�cas (MARIANO, 2011). apriori-gen (linha 6), recebe o conjunto Lk-1 como argumento. A tarefa a ser realizada nessa função se divide em duas partes: join (junção) e prune (ajuste). Na junção são feitas combinações através de Lk-1 com Lk-1. já no ajuste são retirados os itemsets candidatos que tenham algum subajuste não frequente. subset (linha 8), recebe como parâmetro o conjunto Ck com a poda dos itemsets já realizado e uma transação t da base de dados, retornando um conjunto Ct com os itemsets presentes em t . Os itemsets de Ck são encontrados por uma hash-tree utilizado pela função em uma transação t . Dessa forma, o suporte para cada itemset c em Ck tem o propósito de retirar os itemsets não frequentes da base de entrada. Após a realização do algoritmo a próxima fase é a poda dos itens que não obtiverem uma frequência na base de dados. Regras de associação (quantitativa) AGRAWAL et al (1996), propôs um método de extração de regras de associação, porém com valores quantitativos. É proposto primeiro determinar as partições utilizadas para cada atributo quantitativo, e então mapear todos os valores de cada atributo em um conjunto discretizado de inteiros consecutivos. Em seguida os itemsets frequentes que tenham valor de suporte superiorao 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 30/53 valor mínimo de suporte de�nido pelo usuário. Com os itemsets frequentes de�nidos então são gerados as regras de associação. Na discretização dos atributos, tem como principal funcionalidade transformar elementos não quantitativos em atributos binários, que pode ocasionar um problema denominado sharp boundary, que sub-valoriza ou supervaloriza elementos que são próximos aos limites da partição. Algoritmo CBA LIU, HSU e MA (1998) propõe um algoritmo chamado CBA (Classi�cation Based on Association) que integra as técnicas de associação e classi�cação no processo de extração de dados. A classi�cação tem como funcionalidade explorar um conjunto pequeno de regras que formarão um classi�cador preciso. Na associação, a classe (target) não necessariamente estará presente, que demonstra-se em um conjunto de dados utilizando classes do tipo ataque, para a classi�cação existe um e somente um pré-determinado atributo classe. A sua construção é feita em duas etapas: A extração de um subconjunto de regras de associação, cujas regras da direita (consequente) são exclusivas a classi�cação do atributo classe. Esse subconjunto denomina-se class association rules (CARs), associação de regras em classes. E por último a construção de um classi�cador baseado nas regras CARs geradas. Para se obter um classi�cador melhor entre todas as regras geradas, o algoritmo avalia todos os possíveis subconjuntos de regras que aplicados aos dados treinamento, é então selecionado a 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 31/53 sequência de regras que fornece o menor número de erros na classi�cação. Algoritmo FUZZY APRIORI O algoritmo propõe a extração de regras de associação dos atributos com valores quantitativos. Sua estrutura se divide em duas etapas: - Os atributos quantitativos são transformados de termos linguísticos em sua respectiva variável e função de pertinência associada, logo após é selecionado um único termo linguístico com máxima cardinalidade escalar mantendo o número de regiões igual ao número de atributos da base de dados. - Encontra-se os itemsets frequentes baseado no valor de suporte mínimo, e através do valor mínimo de con�ança, extraídos das regras de associação. Analisando a lógica clássica e a lógica fuzzy, a qual não possui limites bem de�nidos, conforme apontado por SANTOS (2004). Dessa forma um elemento pode pertencer parcialmente a um outro conjunto, certa vez que a lógica fuzzy não considera somente dois valores lógicos na representação dos conjuntos, como a lógica booleana, mas o grau contido no intervalo. Dessa forma podemos notar a existência de um desempenho mais estável em processos mais complexos. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 32/53 praticar Vamos Praticar Para a realização do processo de mineração temos diversos algoritmos que podem nos auxiliar nas regras de associação, entre eles o APRIORI, que é um clássico na mineração de dados, CBA que integra técnicas de associação e classi�cação, e FUZZY APRIORI que propõe a extração de atributos com valores quantitativos. Levando em consideração que, a estrutura desses algoritmos, são semelhantes, é correto a�rmar: a) A combinação de itemsets ocorre é utilizada como método para gerar um novo itemset sempre que necessário Feedback: alternativa incorreta , um itemset através da combinação pode gerar um novo apenas se eles forem frequentes. b) A antimonotonicidade diz que um k-itemset sempre será frequente entre os seus elementos associados. Feedback: alternativa incorreta , um k-itemset só poderá ser frequente se todos os seus (k-1)- itemsets forem frequentes. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 33/53 c) Para se ter um ganho de desempenho no desenvolver do algoritmo apriori os itemsets não podem ser combinados Feedback: alternativa incorreta , pois a combinação de itemsets para gerar um novo só vem a ocorrer quando eles são frequentes. Esta regra permite que o algoritmo aumente seu desempenho. d) A classi�cação de dados associados pelo algoritmo CBA, explora um grande conjunto de dados para trazer mais precisão ao resultado. Feedback: alternativa incorreta , a classi�cação tem como funcionalidade explorar um conjunto pequeno de regras que formarão um classi�cador preciso. e) O algoritmo APRIORI foi desenvolvido em um projeto de pesquisa da IBM, responsável pela resolução de itemsets frequentes. Feedback: alternativa correta , pois foi desenvolvido em um projeto de pesquisa da IBM denominado QUEST que deu origem ao software Intelligent Miner , sendo um algoritmo responsável por resolver problemas de itemsets frequentes. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 34/53 Caro(a) aluno(a), ao de�nirmos o principal objetivo de nossa base de conhecimento, devemos montar um modelo. O modelo tem como principal função descrever as relações entre entradas e saídas do sistema. Entradas podem ser entendidas como condições correntes e saídas como predições ou consultas (BRAGA, 2005). Prototipagem, ValidaçãoPrototipagem, Validação e Desenvolvimento doe Desenvolvimento do ModeloModelo 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 35/53 Após a de�nição do modelo, o mesmo deve ser testado de forma que seja colocado à prova, para que se possa compreender: o que deu errado, o porquê e como validar o processo. Com a validação efetivada o modelo é implementado lembrando que, deve haver uma documentação técnica montada até o momento que deve ser seguida a risca. Prototipagem Na mineração de dados podemos desenvolver dois tipos de modelos. Preditivo, que consiste em prever futuros cenários baseado na análise de padrões que auxiliam em tomadas de decisão mais precisas. Descritiva, que permite ao analista compreender os eventos em tempo real, não emite julgamento no valor, mas o impacto passado e futuro. Muito utilizado em análise de crédito e na de�nição da taxa de juros. A idéia de ‘futuro’, deve ser entendido além da escala temporal, pois pode representar a receita do próximo ano, assim como a pontuação alcançada por um cliente em potencial. Suponha que o ‘problema’ de�nido seja o critério para liberação de cupons de desconto para determinados clientes. De�ne-se como ‘hipótese’ que patamares inferiores de frequência (f), recente (r) e valor monetário (v) de cada cliente não recomende o envio destes cupons. É proposto um ‘plano’ que veri�ca a necessidade de uso de 3 (três) técnicas: classi�cação supervisionada (grupo que recebe o material e não recebe), regressão logística e árvore de decisão para comparar os resultados con�rmando ou não à hipótese. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 36/53 Na mineração de dados, a execução do plano é identi�cado como sendo a mais trabalhosa, porém de forma errônea. Os dados de treinamento são utilizados nesse processo, diferente dos dados de validação. O analista de mineração de dados deve sempre ter em mente que o primeiro modelo gerado, nunca é o de�nitivo. Os passos envolvendo a prototipagem devem ser organizados, rearranjados, ajustados quanto ao seu alcance por quantas vezes for necessário. Sendo que vários modelos serão construídos até alcançar um modelo satisfatório para ser aplicado. O plano de prototipagem/modelo deve servir para especi�car quais métodos deverão ser utilizados e quais variações dos parâmetros serão testados. Validação do Modelo Apósa criação do modelo precisamos veri�car basicamente, o que deu errado, o porquê e como validar? Geralmente o que dá errado é demonstrado em dois eventos na montagem do modelo segundo BRAGA (2005). Não identi�ca padrões relevantes que realmente estão presentes nos dados que poderiam ser generalizados. Identi�ca padrões que não generalizam, não são relevantes ou não estão presentes nos dados. Esta é uma etapa crítica, pois, a rejeição de um modelo é uma importante etapa na descoberta da base de conhecimento, que por vezes leva a ter que se refazer as etapas anteriores. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 37/53 Ao se identi�car qual falha ocorreu deve-se compreender o porquê da ocorrência. Os dados geralmente pode ser um dos fatores a serem reorganizados. Os principais problemas que podem ser encontrados são arredondamentos inadequados, codi�cação de valores imprópria, atributos não encontrados ou duplicados. Outro fator recorrente referente aos ajustes são as características podem ser insu�cientes, classes de�nidas de forma desigual, por exemplo, clientes fraudadores como minoria no conjunto de clientes. E pode ainda ocorrer dependência linear na entrada, como quando a variável compra é de�nida em moedas diferentes. A seleção da técnica também pode ocasionar erros, isso demonstra, como falado anteriormente que para se encontrar as melhores técnicas, é necessário inúmeros testes. Quanto menos aderente ao modelo, maiores serão as diferenças entre os ajustes e validação. Ao conseguir encontrar os erros e o porquê dos mesmo é necessário se fazer a validação. Caso o problema seja basicamente na classi�cação dos dados, na regressão, o modelo precisa ser estimado levando em consideração diferentes amostras. Pode ser validado também a instância de resultado obtido comparando-se a predição do valor com a variável de teste. Outra forma a ser adotada é a matriz de confusão, que condiz em uma matriz bidimensional, cujas dimensões denomina-se classe verdadeira e classe predita. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 38/53 Levando em consideração o ajuste em uma regressão logística que prevê se um cliente irá responder positivamente aos cupons fornecidos. Com os dados da validação, calcula-se o valor da regressão para cada observação, ordenando cada amostra de forma crescente. Em cada momento avaliado temos a predição se a observação corresponde a um cliente que aceitou (1) ou rejeitou (0) a oferta. Com isso, é possível chegar a um valor médio do predito com o modelo e então avaliar o saiba mais Saiba mais Uma das principais formas de aplicar uma validação em mineração de dados é através da matriz de confusão. Para saber mais, leia o artigo “Matriz de Confusão-Métricas de avaliação de modelos de classi�cação/predição”. Fonte: Elaborado pelo autor ACESSAR 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 39/53 https://mineracaodedados.wordpress.com/tag/matriz-de-confusao/ ajuste realizado. havendo uma diferença de 10% entre o predito e o observado, temos um indicador que o ajuste realizado foi bom. Podemos levar em consideração duas técnicas mais usuais utilizadas para avaliação de atributos de reamostragem: Jacknife : Em N observações exclui-se 1 (uma) aleatoriamente. Faz-se a predição com base N - 1 e se compara com o valor conhecido da exclusão. Repete-se o processo enquanto que a distribuição de erros valida ou não o modelo. Quando se trata de amostras muito grandes retira-se 50% das observações. Bootstrap : Com base em N observações se extrai amostras com reposição. Seguindo o modelo anterior a predição se baseia nessas amostras as quais são comparadas com o valor conhecido. Os resultados obtidos a partir da comparação podem ser apresentados em uma matriz de confusão, conforme segue na �gura 4.1. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 40/53 Figura 4.9. - Matriz De Confusão Fonte: Braga (2005, p. 82). A reamostragem também pode ser adotada como um método em que se estima os parâmetros que não supõe uma distribuição teórica a priori . A partir das amostras do modelo se constrói uma distribuição empírica das estimativas, que permite a veri�cação dos valores encontrados em avaliação. Grupo Predito Tamanho do grupo verdadeiro Percentual de classi�cação verdadeiraGrupo verdadeiro 1 2 1 22 3 25 88 2 5 20 25 80 Tamanho do grupo predito 27 23 50 84* (número de classi�cações corretas/número total de observações) X 100 = [(22+20)/50] X 100 = 84% 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 41/53 Implementação Nessa etapa pegamos o modelo já testado de forma exaustiva eliminando possíveis falhas e vícios que venham a se apresentar nos resultados. Além da documentação técnica que deve estar presente, exemplos e benchmarks também se mostram válidos para se ter certeza que os procedimentos estão sendo realizados da maneira correta. A mineração de dados trabalha com comportamento de uma base de dados com determinados componentes de entrada. Como por exemplo avaliando cartas de crédito pode ser interessante para um bairro de classe média de determinada cidade e ser totalmente inadequado para um distrito industrial. Porém é importante ressaltar a necessidade de todo o processo para que se possa julgar a viabilidade ou não de se executar determinada ação. Quando se abrir uma agência bancária em uma favela poderia se mostrar, sem uma análise coerente, ser uma idéia absurda. Porém segundo MULLER (2014), em razão de seu desempenho positivo, ela [agência bancária] passou a ser vista pela administração central do banco como capaz de cumprir as metas que devem levar o banco a atingir seus objetivos comerciais. A alimentação dos parâmetros de entrada no modelo precisa ser criteriosa a �m de se chegar a resultados coerentes em determinado problema. Por mais complexo que pareça não existe modelo certo ou errado, assim como técnica mais correta, o que existe é se o uso que está sendo feito é o mais correto ou apresenta um número extenso de falhas. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 42/53 Fatores que tornam a inviabilidade de formação do modelo também precisam ser observados como por exemplo, a temporalidade é um fator que inviabiliza modelos envolvendo criminalidade pela di�culdade em conseguir dados diários atualizados. Inconsistências no projeto que não tem a percepção de um data warehouse o que torna a busca extremamente lenta dos dados. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 43/53 Sempre estabeleça os passos: Escopo, necessidade, custo, cronograma e equipe em todo projeto de mineração de dados a �m de avaliar a viabilidade de execução ou não do modelo. reflita Re�ita O foco principal para desenvolver um projeto de mineração de dados e�ciente, assim como projetos de desenvolvimento no geral, exigem um nível de planejamento e validação que encurtam os problemas que podem aparecer a posteriori. Por isso a importância de um custo maior no tempo gasto em planejamento e validação. Na sua opinião qual a principal importância encontrada em um bom planejamento e em uma validação e�ciente dos modelos a serem adotados? Fonte: Elaborado pelo autor. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 44/53 praticar Vamos Praticar Para que um modelo possa realmente ser e�ciente é necessário ser realizado testes exaustivos,mesmo que os algoritmos adotados sejam os mais especí�cos para determinada situação. Dessa forma montar um protótipo coerente, a validação dos parâmetros e por �m o desenvolvimento do modelo. Nessa etapa tão importante é correto a�rmar que: a) O principal objetivo em uma base de conhecimento é entender a forma lógica que serão demonstrados os resultados. Feedback: alternativa incorreta , pois ao de�nir a base de conhecimento é necessário montar o modelo de aplicação e realizar as validações necessárias para aí sim gerar os resultados esperados. b) Para a utilização de um modelo previamente validado não é necessário sua documentação utilizada somente na validação. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 45/53 Feedback: alternativa incorreta , para a efetiva utilização do modelo, devem ser seguidos todos os protocolos padrões. Documentação do algoritmo adaptado para a situação assim como teste demonstrando o que deu certo e o que deu errado e o porquê. c) A validação da base de conhecimento montada, tem como objetivo encontrar quais erros foram gerados, o porque desses erros e como surgiram. Feedback: alternativa correta , após a de�nição do modelo, o mesmo deve ser testado de forma que seja colocado à prova, para que se possa compreender: o que deu errado, o porquê e como validar o processo. d) Parâmetros de entrada são gerados pelas predições ou consultas e saída como as condições correntes. Feedback: alternativa incorreta , pois as entradas podem ser entendidas como condições correntes e saídas como predições ou consultas. e) A documentação técnica é utilizada para a validação dos erros e assim compreender o que foi utilizado de forma incorreta. Feedback: alternativa incorreta , a documentação é um protocolo padrão deve ser seguido, e complementado conforme forem realizados os testes de validação e correção de erros que podem surgir na aplicação do modelo. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 46/53 indicações Material Complementar 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 47/53 FILME The most important skills of data scientists (As mais importantes habilidades que um cientista de dados deve ter) Ano : 2017 Comentário : O diretor geral da Alto Data Analytics, Jose Miguel Cansado, desenvolveu sua carreira internacional na IBM Watson e Alcatel-Lucent, incluindo oito anos na Ásia pací�ca como chefe de comunicações multimídia e móveis. Ele é engenheiro de telecomunicações e possui mestrado em marketing pelo INSEAD, além de MBA executivo na IE Business School. Para conhecer mais sobre o documentário, acesse em: TRA ILER 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 48/53 LIVRO I ntrodução a Mineração de Dados Editora : E-Papers Serviços Editoriais Autor : Luiz Paulo Vieira Braga ISBN : 85-7650-035-3 Comentário : O maior desa�o que as empresas enfrentam hoje é o de manter uma carteira de clientes lucrativa. Não se trata mais de organizar a produção, reduzir custos e atender bem - condições necessárias mas não su�cientes para vencer no mercado global e altamente competitivo. É preciso, mediante o conhecimento adquirido sobre seus clientes, ser capaz de interpretar seus objetivos, expectativas e desejos. Isto é conseguido através da mineração de dado, ou ainda, pela mineração de dados centrada no cliente, que é uma coleção de técnicas e métodos facilitadora da aquisição e retenção da parte do mercado que cabe a uma empresa. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 49/53 conclusão Conclusão Aluno(a), o agrupamento ou clusterização assim como a associação de atributos é um procedimento que, conforme observado, é de extrema importância na mineração de dados. O agrupamento é a tarefa que procura separar elementos heterogêneos em subgrupos ou segmentos homogêneos. O agrupamento desses elementos semelhantes denomina-se classe. A associação vem com o propósito de identi�car dentro do banco de dados como que atributos e valores se relacionam. Sua principal característica é encontrar elementos que impliquem na presença de outros em uma mesma relação. O assunto abordado na unidade foi uma ponte para uma busca maior de conhecimento, esperamos tê-lo ajudado. referências 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 50/53 referências Referências Bibliográ�cas AGRAWAL, R.; SRIKANT, R. Mining quantitative association rules in large relational tables . In SIGMOD 96, 1996 BRAGA, L.P.V.; Introdução a Mineração de Dados . E-paper Serviços editoriais:Rio de Janeiro, 2005 BRUSSO, M. J. Access Miner: Uma proposta para a Extração de Regras de Associação Aplicada à Mineração do Uso da Web . Master’s thesis, PPGC da UFRGS: Porto Alegre, 2000. CASTRO, R.F.V.; Análise de desempenho dos algoritmos Apriori e Fuzzy Apriori na extração de regras de associação aplicados a um Sistema de Detecção de Intrusos . Dissertação para Mestrado. UERJ: Rio de Janeiro. 2014 CHUANG, S.L.; CHIEN, L.F.; A Pratical Web-based approach to generating topic hierarchy for text segments . In CIKM ‘04:ACM: New York, 2004. CORRÊA, G.N.; MARCACINI, R.M.; REZENDE, S.O.; Uso da Mineração de Textos na Análise Exploratória de Artigos Cientí�cos. Relatório Técnico do ICMC: São Carlos, 2012. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 51/53 DINIZ, R.B.N.; Uso de Técnicas de Mineração de Dados na Identi�cação de Áreas Hidrologicamente Homogêneas . Dissertação de Mestrado. UFPA: João Pessoa, 2009 GOLDSCHMIDT, R.; PASSOS, E. Data Mining: um guia prático . Elsevier Editora Ltda:São Paulo, 2005. LIU, B.; HSU, W.; MA, Y. Integrating Classi�cation and Association Rule Mining . In: Fourth International Conference on Knowledge Discovery and Data Mining, 80-86, 1998 MARIANO, A. M.; Comparação de Algoritmos Paralelos para a Extração de Regras de Associação no Modelo de Memória Distribuída . Dissertação - UFMS:Campo Grande. 2011. METZ, J.; Interpretação de Clusters Gerados por Algoritmos de Clustering Hierárquico . Dissertação de Mestrado. USP-ICMS. São Paulo, 2006. MULLER, L.H.A.; Bancos na favela: estudo sobre a relação entre agências bancárias e os moradores de uma região urbana alvo de políticas de “paci�cação” . 38º Encontro Anual da ANPOCS: Caxambu, 2014. disponível em: Acesso em: 29 Dez. 2019 OCHI, L.S.; DIAS, C.R.; SOARES, S.S.F.; Clusterização em Banco de Dados. IC-UFF , Universidade Federal Fluminense: Niterói, 20-?. Disponível em: Acesso em: 31 Dez. 2019 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 52/53 http://encurtador.com.br/clCOU http://www2.ic.uff.br/~satoru/conteudo/artigos/ERI-Minicurso-SATORU.pdf PETERMANN, R.J.; Modelo de Mineração de dados para classi�cação de clientes em telecomunicações . Dissertação de Mestrado. PPGEE da PUC-RS:Porto Alegre. 2006. SANTOS, J. G.; Uso de conjuntos difusos e lógica difusa para cálculo de atração e repulsão: uma aplicação em Market Basket Analysis . Tese (Doutorado em Ciência da Computação) – Universidade Federal de Santa Catarina –UFSC, Florianópolis. 2004. 30/10/2024, 10:32 Ead.br https://codely-fmu-content.s3.amazonaws.com/Moodle/EAD/Conteudo/CTI_MIDADO_20/unidade_4/ebook/index.html 53/53