Baixe o app para aproveitar ainda mais
Prévia do material em texto
E-book 3 Luciano Rossi MINERAÇÃO DE DADOS Neste E-Book: INTRODUÇÃO ����������������������������������������������������������� 3 AS ORIGENS DO DESENVOLVIMENTO TECNOLÓGICO ���������������������������������������������������������4 TÉCNICAS DE MINERAÇÃO ���������������������������������� 6 CLASSIFICAÇÃO������������������������������������������������������� 8 REGRESSÃO �������������������������������������������������������������12 DETECÇÃO DE AGRUPAMENTOS ���������������������16 REGRAS DE ASSOCIAÇÃO �����������������������������������21 SUMARIZAÇÃO ������������������������������������������������������24 PREPARAÇÃO DOS DADOS �������������������������������26 QUALIDADE DOS DADOS ����������������������������������� 35 CONSIDERAÇÕES FINAIS �����������������������������������38 REFERÊNCIAS BIBLIOGRÁFICAS & CONSULTADAS �������������������������������������������������������39 2 INTRODUÇÃO Neste e-book vamos discutir as técnicas de minera- ção de dados sob um olhar mais prático. Para cada tarefa, escolhida de acordo com suas características e objetivos, teremos exemplos práticos de aplica- ção com uma abordagem de análise gráfica. Assim, vamos aplicar os conceitos por meio de exemplos ilustrativos. A área de mineração de dados apresenta interse- ção com áreas correlatas, como a de aprendizado de máquina, à qual pertencem as tarefas que serão apresentadas aqui e que compartilha suas técnicas e conhecimento para que possamos realizar a análise de dados complexos. Assim, vamos iniciar com um breve relato sobre a área de aprendizado de máquina, de modo a conhe- cermos a respeito de sua origem e seus objetivos. Além disso, evidenciaremos a correlação existen- te entre outras áreas do conhecimento que contri- buem, também, com ferramentas e técnicas para a Mineração de Dados. 3 AS ORIGENS DO DESENVOLVIMENTO TECNOLÓGICO Nesta seção, vamos analisar a evolução, do ponto de vista histórico, que a sociedade tem vivenciado ao longo do tempo. A primeira grande mudança, propiciada pela tecnologia, foi originada a partir da Revolução Industrial. Antes disso, a economia era baseada na produção artesanal de bens de consumo. As pessoas fabricavam, manualmente, tudo aqui- lo que era demandado e, por meio do escambo de produtos, negociava a aquisição daquilo que não produzia. Nesse contexto, a revolução industrial foi respon- sável pela produção em série de bens de consumo, surgindo assim as primeiras linhas de produção para a manufatura de diferentes itens. Esse evento possibilitou a produção em massa de produtos e foi responsável pela especialização da mão de obra disponível na época. A evolução tecnológica avança no sentido de desen- volver formas para a automatização de processos que, em um primeiro momento, sejam realizados a partir de tarefas repetitivas. Assim, a substituição da mão de obra humana por máquinas, que sejam capazes de realizar tais tarefas, impacta no volu- me, qualidade e custos de produção dos bens de consumo. 4 Atualmente, vivemos a era da informação, na qual os contínuos avanços, principalmente na área da computação, têm sido responsáveis por possibilitar a automatização de tarefas não repetitivas e que reque- rem alguma forma de aprendizagem. Nesse contexto, as técnicas preconizadas pela área de aprendizagem de máquina têm papel fundamental para subsidiar o desenvolvimento tecnológico. 5 TÉCNICAS DE MINERAÇÃO Conforme discutido anteriormente, as tarefas utili- zadas para a exploração de dados complexos são compartilhadas com diferentes áreas, além da mine- ração de dados. Nesse contexto, podemos destacar particularmente a área de aprendizado de máquina, que descreve grande parte das técnicas que são em- pregadas para a exploração de dados. O aprendizado de máquina é uma área de pesquisa que investiga técnicas computacionais que são capa- zes de adquirir, automaticamente, novas habilidades e conhecimentos. Além disso, estuda novas formas de organizar o conhecimento existente. Podemos, também, classificar o aprendizado de má- quina como a área de pesquisa que provê aos compu- tadores a capacidade de aprenderem sem que sejam explicitamente programados, utilizando técnicas que promovem a melhoria do seu desempenho a partir da utilização de experiências prévias ou, muitas vezes, pela exploração de conjuntos de dados. Assim como em outras áreas, o aprendizado de má- quina é uma área interdisciplinar que considera, além da computação, a estatística, a lógica matemática, a álgebra linear e a otimização. No campo da apli- cação, além das possibilidades na exploração de dados, o aprendizado de máquina avança sobre o desenvolvimento de capacidades computacionais 6 no âmbito da aprendizagem de linguagem natural, condução de automóvel e, também, na área de jogos. Nas próximas seções faremos uma imersão em diferentes aplicações, considerando as principais técnicas que são comuns às áreas de mineração de dados e aprendizagem de máquina. 7 CLASSIFICAÇÃO Podemos classificar as tarefas de aprendizado au- tomático em duas categorias principais: as tarefas preditivas e as descritivas. As tarefas preditivas são aquelas que têm por objetivo induzir modelos ou funções que possibilitem predizer (prever) classes ou valores contínuos para novos dados. Dizemos que uma função ou modelo é resultado de um processo de indução a partir de conjuntos de dados de treinamento. Assim, os algoritmos são res- ponsáveis pela obtenção desses modelos de modo que se possa classificar um novo registro ou predizer um atributo ausente. Por outro lado, dizemos que um novo registro pode ter sua classe ou atributos deduzidos a partir da aplicação do modelo ou função. A classificação é uma tarefa preditiva que tem por objetivo aprender uma função ou modelo que possa ser útil para associar um rótulo ou descrição de um exemplo a uma classe específica. Saudável Doente Figura 1: Exemplo de classificação simples. Fonte: Elaboração Própria. 8 A Figura 1 apresenta um exemplo simples de classi- ficação. Nesse exemplo, temos um grupo de regis- tros que representam pessoas. Cada registro está rotulado como saudável ou doente e, além disso, temos um único atributo temperatura que, também, está associado aos registros. Observe que a Figura 1 apresenta os registros distribuídos ao longo do único eixo que descreve os valores do atributo temperatura e os rótulos (doente ou saudável) estão representa- dos nas cores verde e vermelha, respectivamente. A tarefa de classificação consiste em encontrar um valor , onde para o atribu- to temperatura que possa separar os registros em dois grupos, de modo que os registros de pessoas doentes e saudáveis fiquem em grupos diferentes. Esse é um exemplo bastante simples, que descreve a tarefa de classificação, porém na maioria dos casos teremos muitos outros atributos, que definem o que chamamos de dados multidimensionais, e a identifi- cação dos grupos pode não ser tão trivial. O processo de classificação está baseado em duas etapas principais. Primeiro, a partir de um conjunto de dados rotulados, é feita uma divisão de modo que tenhamos um conjunto de dados para treinamento e outro para teste. A etapa de treinamento busca identificar um padrão que descreva a classificação dos dados. A segunda etapa consiste em submeter o conjunto de dados de teste ao modelo obtido e verificar a efetividade do modelo, ou seja, se ele é capaz de rotular, corretamente, os novos dados que não foram utilizados no treinamento. 9 A aplicação do modelo obtido é feita sobre novos registros que não possuem rótulo, ou seja, não se sabe se a pessoa está ou não doente. Desse modo, utilizamos o valor do atributo temperatura do novo registro para que possamos classificá-lo em uma das classes pretendidas. A tarefa de classificação pode não ser simples de ser realizada se considerarmos somente a identifica- ção de uma função que separe os grupos rotulados. Mesmo uma função polinomial pode nãoser sufi- ciente para se estabelecer os limites para os grupos. Considere a Figura 2, nesse caso estamos inserindo um pouco mais de complexidade. Perceba que temos outro atributo, que se refere ao número de batimentos cardíacos da pessoa. Além disso, o padrão da dis- tribuição dos registros no plano cartesiano também não é evidente. Ba tim en to s Temperatura Saudável Doente Figura 2: Exemplo de distribuição de difícil classificação. Fonte: Elaboração Própria. 10 A distribuição da Figura 2 é difícil de ser classificada por meio de uma função que defina uma curva. Esse exemplo deixa claro que a tarefa de classificação pode demandar outras estratégias para a obtenção de um padrão que possa ser utilizado para a classifi- cação de novos registros não rotulados. Além disso, a utilização de apenas dois atributos, no caso tempe- ratura e batimentos cardíacos, pode não resultar em um bom preditor. No entanto, dados multidimensio- nais podem ser difíceis de serem explorados, assim, métodos mais sofisticados são necessários para que possamos realizar a tarefa de classificação. 11 REGRESSÃO A regressão é uma tarefa preditiva, assim como a clas- sificação, e tem o objetivo de aprender uma função que seja efetiva paras se mapear um novo registro, cujo atributo dependente seja ausente. A diferença entre as tarefas de classificação e de regressão é que a primeira busca inferir uma classe, ou seja, um valor discreto e, por outro lado, a regressão busca inferir um valor contínuo para um determinado atributo. A tarefa de regressão pode ser útil para prever o valor de mercado de um imóvel a partir de seus atributos, como área construída, área do terreno, número de quartos e localização, dentre outros. Podemos ainda utilizar a regressão para prever o lucro de um em- préstimo bancário ou prever o tempo de internação de um paciente. O processo da tarefa de regressão também considera um conjunto de dados de treinamento e um conjunto de dados de teste. O primeiro é utilizado para apren- der a função, enquanto o segundo é utilizado para aferir a capacidade preditiva do modelo. A tarefa de regressão pode ser feita a partir do apren- dizado de uma função linear, assim denominamos essa tarefa de regressão linear. Considerando-se um conjunto de dados em que haja, por exemplo, os valores das notas das disciplinas de Matemática e Estatística queremos estimar uma função que re- presenta a correlação entre as duas variáveis e que, 12 assim, possa ser utilizada para a predição de uma dessas variáveis. Supondo as notas de Matemática representadas pela variável x e as notas de Estatística representadas pela variável y , nosso modelo terá a seguinte forma geral: O problema consiste em encontrar os valores dos coeficientes a e b , de modo que possamos calcular y , que é denominada de variável dependente, a partir de x , que é a variável independente. Os coeficien- tes podem ser encontrados utilizando as seguintes equações: onde: ● x é a variável independente; ● y é a variável dependente; ● n é o número de observações; ● é a média dos valores de ; ● é a média dos valores de . Para ilustrar a tarefa de regressão, considere a Figura 3, na qual o padrão foi extraído por meio de uma função polinomial que sumariza os pontos. Assim, 13 os pontos azuis na figura representam as notas de Matemática e Estatística e correspondem ao con- junto de treinamento. Figura 3: Exemplo de regressão polinomial. Fonte: Elaboração Própria. A função polinomial derivada a partir dos dados é representada pela linha vermelha na Figura 3. Note que a curva captura a tendência dos dados, de modo que ela representa o comportamento observado para o conjunto de dados. A partir da função é possível que um valor desconhecido seja obtido. Suponha uma nova nota de Matemática (x 1) a partir da pro- jeção do ponto de interseção na curva da função no eixo vertical, o valor da nota de Estatística pode ser predito (y 1). O ajustamento da curva aos dados é uma questão importante que deve ser observada. Atente-se à cur- va verde na Figura 3, ela apresenta poucos ajustes aos dados e essa função não será capaz de inferir 14 com precisão a variável dependente. Esse fenômeno de pouco ajuste da curva aos dados é chamado de Underfitting. Por outro lado, um ajuste extremo da curva da função aos dados também representa um problema. Perceba a curva laranja na Figura 3, ela está perfeitamente ajustada a cada ponto de dado. Dessa forma, a pre- dição de um valor desconhecido será comprometida, visto que a curva não captura a tendência dos dados. Esse fenômeno de muito ajuste da curva aos dados é chamado de Overfitting. Existem outras técnicas que podemos utilizar para a tarefa de regressão, além da regressão linear ou polinomial. Dentre as diferentes técnicas, podemos destacar as árvores de regressão, as redes neurais artificiais e as máquinas de vetores de suporte. 15 DETECÇÃO DE AGRUPAMENTOS A detecção de agrupamentos é uma tarefa de apren- dizado descritiva também conhecida como cluste- ring. Nesse caso, as técnicas utilizadas são, comu- mente, relativas ao aprendizado não supervisionado, ou seja, o conjunto de dados não possui rótulos e o aprendizado usa apenas os atributos preditivos. Os algoritmos para tarefas descritivas produzem modelos a partir de um processo de treinamento que utiliza todo o conjunto de dados disponível. O objetivo é organizar os dados não rotulados em gru- pos de acordo com uma medida de similaridade ou correlação. A detecção de agrupamentos não conta com uma definição prévia a respeito do número de grupos existentes e, também, não considera dar significa- dos aos grupos obtidos. A caracterização posterior dos grupos obtidos pode ser feita a partir de outras técnicas pertinentes ao aprendizado de máquina. Os grupos resultantes do processo de detecção são compostos por objetos similares. Uma questão importante é a definição de quais são os atributos que devemos considerar para identificar os objetos similares. Nesse contexto, um grupo é um conjunto de objetos similares (homogêneos) e os objetos que pertencem a grupos diferentes são não similares (heterogêneos). O principal objetivo do agrupamento 16 é maximizar a homogeneidade interna nos grupos e a heterogeneidade entre os grupos. Considerando-se, por exemplo, um conjunto de objetos que variam em forma e cor, poderíamos ter diferentes agrupamen- tos, a depender da escolha do atributo. Perceba os grupos possíveis para esse exemplo na Figura 4. Conjunto Original Agrupamento por cor Agrupamento por forma Agrupamento por cor e forma Figura 4: Exemplo de agrupamento a partir de diferentes atributos. Fonte: Elaboração Própria. A Figura 4 ilustra a importância da escolha dos atri- butos que serão considerados para a detecção de grupos. Veja que, a depender do atributo selecionado, poderemos ter diferentes grupos. Nesse contexto, a detecção de agrupamentos poderá resultar em dife- rentes quantidades de grupos e em composições, também diferentes, para cada grupo obtido. Existem diferentes tipos de agrupamento. De acordo com a pertinência dos dados podemos ter os agru- pamentos do tipo crisp ou fuzzy. Quanto aos algorit- 17 mos, podemos considerar as abordagens: particional, hierárquica, baseadas em grids ou em grafos. Dentre os diferentes algoritmos particionais, podemos des- tacar o K-médias. Seja , o conjunto dos dados que serão agrupados em um dos k grupos é , com k < n . Considere ainda como a média dos objetos no grupo e d uma medida de distância. O objeto pertence ao grupo se for menor que todas as distâncias entre e , com e .Nesse contexto, o algoritmo k-médias descreve o seguinte: 1. Sugerir k centros iniciais ; 2. Enquanto as médias se alterarem faça: a) Para até n faça: I. Inserir no grupo com média mais semelhante; b) Para i = 1 até k faça: II. Substituir pela média dos objetos em ; O algoritmo k-médias assumevalores inicias alea- tórios para cada uma das k médias que serão consi- deradas. Em seguida, os objetos serão distribuídos entre os grupos que são representados pelas médias, considerando o grupo cuja média seja mais similar ao objeto. Após a distribuição de todos os objetos, a média entre eles é calculada para cada grupo e subs- tituirá o valor anterior. Feito isso, todos os objetos se- 18 rão novamente distribuídos, considerando-se a nova média de cada grupo. Quando o valor calculado da média for igual ao valor anterior, o algoritmo finaliza. Independentemente da opção feita para a tarefa de detecção de agrupamentos, há um conjunto de etapas que descrevem esse processo. A primeira etapa é a seleção de atributos, onde consideramos o contexto da análise para identificar os melhores atributos. Outras características a serem observadas aqui são a quantidade de informação que será codi- ficada pelos atributos e a redundância entre eles, a qual deve ser a menor possível. A segunda etapa consiste na escolha da medida de similaridade que será utilizada. Essas medidas têm por objetivo quantificar o quão similar ou dissimilar dois objetos são, de acordo com suas característi- cas (atributos). O ideal é que haja um equilíbrio na contribuição dos atributos no cálculo da medida. Outro ponto a ser considerado é a utilização de algum processo de normalização dos dados, de modo que não haja um atributo mais dominante que outro. O terceiro passo é a definição do critério de agrupa- mento. Aqui será definida a sensibilidade do agrupa- mento de acordo com o tipo de grupo que se espera. Assim, podemos ter grupos do tipo compacto, alon- gado ou esféricos, dentre outros tipos possíveis. Essa definição, juntamente com a definição da medida de similaridade, serão a base para a escolha do algorit- mo de agrupamento, que constitui o quarto passo. 19 O quinto e o sexto passos são, respectivamente, a validação dos resultados, que avalia por meio de testes a correção do que foi obtido, e a interpretação dos resultados, a qual é feita, em geral, em conjunto com outras técnicas. A Figura 5 descreve a taxonomia de técnicas de de- tecção de agrupamentos. Essa categorização é ba- seada nas descrições realizadas pelos professores Moscato e Von Zuben (Unicamp) em suas notas de aula sobre análise de dados em bioinformática. Essa taxonomia, descrita na Figura 5, é útil para se nortear as decisões a respeito das técnicas que devem ser adotadas e a posterior seleção do melhor algoritmo que atenda aos objetivos pretendidos. Agrupamento Complete Link K-means Expectation Maximization Mistura de Densidades Teoria dos Grafos Métrica Euclidiana Single Link Hierárquico Particional Figura 5: Taxonomia de técnicas em detecção de agrupa- mentos. Fonte: Adaptado das notas de aula dos professores Moscato & Von Zuben (Unicamp). 20 REGRAS DE ASSOCIAÇÃO A tarefa de aprendizado conhecida como regras de associação tem por objetivo encontrar um conjunto de regras que descrevam a associação entre itens de uma base de dados de transações. Essa tarefa é especialmente útil para a identificação de itens que são comprados em conjunto e de itens que são frequentes no conjunto de dados. Trataremos de um exemplo prático que pode ser muito útil para a com- pressão dessa tarefa de aprendizado de máquina. Um conjunto de dados transacionais é diferente dos conjuntos de dados que tratamos até o momento. Nesse tipo de conjunto, os registros referem-se a grupos de itens que estão associados, ou seja, per- tencem à mesma transação. Esse tipo de conjunto de dados é muito comum em supermercados, onde cada cliente gera uma transação contendo os itens que foram adquiridos por ele. Veja na tabela a seguir um exemplo de conjunto de transações: TID Itens 1 pão, leite 2 pão, fralda, cerveja, ovos 3 leite, fralda, cerveja, refrigerante 4 pão, leite, fralda, cerveja 5 pão, leite, fralda, refrigerante Tabela 1: Exemplo de conjunto de dados transacionais. Fonte: Adaptado de UFSC 21 http://www.inf.ufsc.br/~vania/teaching/INE5644/RegrasDeAssociacao.ppt Considerando-se o exemplo da Tabela 1, poderíamos extrair um conjunto de regras de associação que teriam a seguinte forma: As regras anteriores podem ser lidas como: há mui- tos clientes que comprarão fraldas e cerveja na mes- ma transação. Nesse caso, o símbolo de implicação ( ) nas regras não indica causa e sim co-ocorrência. Há algumas definições que são importantes para que possamos descrever de forma padronizada a tarefa de se extrair regras de associação. Um item- set é um conjunto de um ou mais itens, como: {pão, leite}. Nesse caso, dizemos que esse exemplo é um 2-itemset, o que se refere ao número de itens pre- sentes no conjunto. A frequência com que um item- set ocorre é denominada de suporte ( ). A notação indica que esse par de itens foi encontrado três vezes nas transações do conjunto de dados. A fração de transações que contêm um determinado itemset é denominada suporte S . Assim, a notação indica que o itemset foi iden- tificado em três das cinco transações existentes. O conjunto de transações frequentes é formado por itemsets que apresentam suporte ( ou S ) maior ou igual a um determinado limiar ( ). 22 A medida de confiança (C ) mostra a frequência com que um itemset à direita na associação aparece nas transações que contêm o itemset à esquerda na as- sociação. Considere a regra de associação genérica , a confiança C é dada por: O problema de identificar as regras de associação pode ser reduzido a identificar as regras cujo suporte seja maior ou igual a um determinado limiar e cuja confiança também seja maior ou igual a um deter- minado limiar. Nesse contexto, calcular o suporte e a confiança para todas as regras em um conjunto de dados é uma tarefa computacionalmente difícil, dado o volume de regras possíveis. Um conjunto de dados transacionais que contenha apenas quatro itens pode gerar um conjunto com 50 regras de associação, para as quais ainda teríamos de calcular o suporte e a confiança. Uma forma de tornarmos a detecção de regras de associação um processo computacionalmente vi- ável é a redução de algum elemento associado ao processo. Assim, poderíamos utilizar técnicas para a redução do número de candidatos, transações ou comparações. O algoritmo Apriori tem por objetivo reduzir o número de candidatos. Esse algoritmo é baseado em um princípio que diz: se um itemset é frequente então todos os seus subconjuntos também são frequentes. 23 SUMARIZAÇÃO A sumarização é uma tarefa descritiva de aprendiza- do que tem por objetivo encontrar descrições sim- ples e compactas para um conjunto de dados. As descrições, comumente, consideram medidas como média ou mediana para algum atributo numérico. Há ainda a possibilidade da sumarização por meio da identificação do valor mais frequente, do menor ou do maior valor para um determinado atributo. Considere o seguinte conjunto de dados para ilustrar a tarefa de sumarização: Nome Idade Gênero Altura Filhos José 30 M 180 N Pedro 28 M 170 S Márcia 42 F 165 S Antônia 21 F 150 N João 54 M 170 N Tabela 2: Exemplo de conjunto de dados para a tarefa de sumarização. Fonte: Elaboração Própria. Podemos considerar diferentes medidas ou critérios para cada atributo do conjunto de dados, de modo a descrever um padrão que represente os dados. Note que, conceitualmente, o objetivo da tarefa de sumarização é alinhado com os demais objetivos das tarefas de aprendizado de máquina e mineração de dados, ou seja, queremos extrair um padrão a partir de um conjunto de dados. Um padrão possível, dentre outros que poderiam ser considerados, que descreva o conjunto de dados é descrito por: 24 ● A idade média dos registros: 35; ● O gênero mais frequente: M; ● A maior altura: 180; ● A predominância de pessoas sem filhos: N. Perceba que esse não é o único padrão que pode ser extraído a partir do conjunto de dados. A escolha deoutras medidas ou critérios para cada atributo pode resultar em padrões diferentes. O importante aqui é que o padrão descreva, de forma simples, o conjunto de dados que queremos sumarizar. Essa tarefa pode ser utilizada, por exemplo, para se caracterizar grupos que são resultantes da tarefa de agrupamento, visto que os dados são não rotulados e pode ser interes- sante definir um padrão exclusivo para cada grupo. 25 PREPARAÇÃO DOS DADOS Até aqui tivemos a oportunidade de nos aprofundar- mos nas diferentes tarefas que são associadas às áreas de mineração de dados e aprendizado de má- quina. Exploramos as principais tarefas com ênfase em exemplos práticos e na diferenciação dos seus respectivos objetivos e características. Na mesma linha, vamos abordar as principais etapas da fase de preparação dos dados, a qual é presen- te em todas as tarefas. A preparação dos dados é importante para viabilizar cada uma das tarefas, de modo que os resultados esperados sejam atingidos. Uma classificação, referente aos dados, que foi con- sidera em todas as descrições anteriores separa os dados em duas categorias, os dados estruturados e os não estruturados. Os dados estruturados são os mais facilmente analisados a partir de algorit- mos. Esse tipo de dado apresenta uma semântica, ou seja, um significado associado à sua estrutura. São exemplos de dados estruturados as planilhas, as tabelas em bancos de dados e um arquivo XML, dentre outros exemplos possíveis. Os dados não estruturados, que correspondem à maioria dos dados disponíveis, são mais facilmen- te analisados pelos seres humanos. Esse tipo de dado não apresenta uma semântica evidente e sua interpretação depende de um conhecimento prévio. 26 Suponha um conjunto de imagens de zebras e de girafas, sem que haja qualquer indicação de qual é o tipo do animal representado. A maior parte das pessoas pode, facilmente, separar o conjunto em duas partições, uma reunindo somente as imagens de zebras e outra com as de girafas. Isso é possível pois há um conhecimento anterior a respeito das ca- racterísticas de cada animal e, a partir daí, é possível diferenciar as imagens. A tarefa descrita anteriormente pode não ser tão intui- tiva para um computador. A classificação das imagens de zebras e girafas pelo computador necessita de uma representação estruturada das imagens, de modo que seja possível diferenciá-las com a utilização de algum tipo de algoritmo. Poderíamos, por exemplo, extrair um conjunto de atributos que auxiliem na des- crição de cada imagem. Considere a Tabela 3 como um exemplo de atributos e seus respectivos valores para cada uma das imagens do conjunto. Altura Tamanho do rabo Pelagem Classe 500 110 Manchas Girafa 440 90 Manchas Girafa 240 45 Listras Zebra 520 115 Manchas Girafa 260 50 Listras Zebra 230 50 Listras Zebra Tabela 3: Exemplo de conjunto de dados estruturados. Fonte: adaptado de Carvalho (2017). 27 A extração de atributos de interesse, a partir de dados não estruturados, é uma das formas de se possi- bilitar a análise a partir de algoritmos. Na verdade, é a forma mais trivial e, quando pensamos em um grande volume, pode ser de difícil aplicação. O reco- nhecimento de imagens é uma área de pesquisa que busca, por meio da representação de determinadas características, prover uma estrutura mais sofisticada para esse tipo de dado. Outra classificação, utilizada anteriormente, particio- na os dados em rotulados e não rotulados, poden- do existir, ainda, os dados parcialmente rotulados. Dados rotulados são aqueles que apresentam uma classe explícita, como é o caso da Tabela 3. Veja que cada registro contém um atributo que define o tipo do animal, além de outros atributos que definem características específicas. Nesse caso, dizemos que a classe (zebra ou girafa) é o rótulo do registro e os demais atributos (altura, tamanho do rabo e pe- lagem) são preditivos ou de entrada. Muitas tarefas consideram esse tipo de dado para estabelecer uma relação entre os atributos preditivos e a classe do registro, ou seja, esse tipo de dado é utilizado para se aprender um padrão. Os dados não rotulados apresentam somente atri- butos preditivos, não descrevendo explicitamente a qual classe os registros pertencem. Esse tipo de dado é utilizado, por exemplo, como entrada para classificadores que farão a predição do rótulo ausen- te. Quando um conjunto de dados apresenta alguns registros com rótulo e outros registros sem rótulo, 28 dizemos que esse tipo de conjunto de dados é par- cialmente rotulado. O pré-processamento de dados tem por objetivo pre- parar o conjunto de modo que possamos obter os melhores resultados a partir das tarefas que serão aplicadas. Essa etapa considera cinco tratamentos principais; a limpeza, a integração, a redução, a trans- formação e a discretização do conjunto de dados. A limpeza dos dados consiste em atribuir valores ausentes, suavizar ruídos, identificar valores discre- pantes (anomalias) e corrigir inconsistências. A au- sência de valores pode comprometer os resultados da análise dos dados. Existem diferentes soluções possíveis para esse tipo de problema. Podemos ignorar o registro que apresenta valores ausentes, o que pode significar uma perda considerável de informação, visto que outros atributos do registro podem ter seus valores disponíveis. Outra solução possível seria atribuir manualmente os valores au- sentes, o que requer um imenso trabalho manual e pode inserir erros na base de dados. Dentre diversas possibilidades, a utilização de modelos preditivos para se estimar os valores ausentes é a forma mais adequada de se completar os valores para todos os atributos em uma base de dados. Os erros acumulados na base de dados, seja por falha de medição ou da entrada dos dados, são de- nominados de ruídos. Comumente, os algoritmos de aprendizagem devem ser capazes de identificar e desconsiderar esse tipo de dado. Um exemplo é 29 a aprendizagem de uma função para a predição de um valor, como discutimos na tarefa de regressão. Existem diferentes técnicas para a suavização dos dados, de modo a eliminar o ruído. Dentre elas po- demos destacar o encaixotamento, o agrupamento e a aproximação. A inconsistência é um problema de atribuição de valores discrepantes a atributos, ou seja, o domínio do atributo não é bem definido. Suponha, por exem- plo, o atributo idade em um conjunto de dados, seu preenchimento pode ser feito por diferentes pessoas que não sabem se esse campo deve ser preenchi- do com um valor número ou com uma descrição, por exemplo “criança”. A solução para esse tipo de problema pode estar ligada à verificação manual ou com o auxílio de rotinas automatizadas, ou, ainda, à representação gráfica dos valores dos atributos. O problema da integração dos dados é observado quan- do dispomos de diferentes fontes de dados que devem ser consideradas em conjunto. Utilizar fontes de dados distintas pode acarretar redundância, duplicidade ou conflito nos dados. A redundância ocorre quando um mesmo registro aparece em fontes de dados distintas, o que pode gerar duplicidade na integração. Por sua vez, a duplicidade pode gerar anomalias nos dados in- tegrados. Finalmente, conflitos ocorrem quando temos dados discrepantes para um mesmo objeto. Naturalmente, pensamos que um grande volume de registros que apresentem também muitos atributos resultarão sempre em análise melhores. Isso não é 30 sempre correto. Grande quantidade de registros e atributos podem gerar resultados instáveis, além de inserir mais complexidade na execução dos algorit- mos. Para se resolver esse tipo de problema, pode- mos considerar a seleção de atributos, a compressão dos atributos, a redução do número de dados ou a discretização. A seleção de atributos consiste em analisar quais atributos são importantes para a análise, conside- rando-se o contexto do problema. Menos atributos significa trabalhar com menos dimensões no con- juntode dados, o que pode simplificar o processo de análise. A compressão dos atributos reduz a di- mensionalidade dos dados por meio de processos de codificação e/ou transformação dos atributos. Além da redução do número de atributos, podemos considerar reduzir o número de dados (registros), utilizando representações menores, seja por meio de métodos paramétricos (armazenamento de parâme- tros) ou não paramétricos (agrupamento, amostra- gem, histogramas). Por fim, a discretização consiste na substituição dos valores originais dos atributos por intervalos ou níveis conceituais mais elevados, de modo a se reduzir a quantidade final dos atributos considerados. A variedade de fontes de dados pode resultar em falta de padronização dos valores dos atributos. Esse tipo de problema é o objetivo na etapa de transfor- mação dos dados. A falta de padronização pode considerar diferentes domínios. Por exemplo, pode- mos ter dados numéricos e categóricos em um único 31 registro, isso pode afetar a utilização dos algoritmos de aprendizado ou mineração. Uma técnica que pode ser utilizada na etapa de trans- formação dos dados é a padronização. O objetivo da padronização é resolver as diferenças apresentadas pelos valores no que diz respeito a unidades e escala dos dados. A capitalização visa a corrigir as discrepâncias existen- tes quanto ao formato utilizado para a representação dos dados. Principalmente no caso de valores nominais, os registros podem ser grafados em letras maiúsculas ou minúsculas, o que pode gerar problemas quando se utiliza sistemas que são case sensitive, ou seja, diferen- ciam o formato em caixa alta e caixa baixa. A solução aqui consiste em transformar todos os valores para um único formato, geralmente caixa alta. Outro problema, similar ao caso da capitalização, são os caracteres especiais. Esse caso pode ocorrer quando consideramos fontes de dados em diferen- tes idiomas. O conjunto de símbolos previstos para determinado idioma pode não ser pertinente a outro e, assim, podemos ter problemas ao integrar essas fontes de dados. A solução aqui passa pela identi- ficação e substituição de caracteres especiais que são pertinentes a um domínio específico. As datas são grafadas de maneiras diferentes a de- pender do local de pertinência do banco de dados. No Brasil utilizamos o formato dia/mês/ano para a representação de datas. Por outro lado, nos EUA o formato padrão é mês/dia/ano. Esse tipo de variação 32 na forma de grafar diferentes valores pode ser um problema na análise. Assim, a padronização de for- matos deve ser aplicada no intuito de se garantir que os valores que se referem a uma mesma entidade sejam grafados da mesma maneira. O último caso de normalização que considerare- mos é similar à padronização. Trata-se da conver- são de unidades para uma mesma escala comum. Considerando-se o mesmo exemplo anterior, no Brasil é comum descrevermos as distâncias em quilôme- tros, enquanto nos EUA a medida padrão é a milha. Veja que os valores que representam unidades de medidas diferentes podem causar muitos problemas, principalmente nos resultados das análises, que se- rão comprometidos devido à falta de uniformidade na escolha das medidas. Outro objetivo na etapa de transformação dos dados se refere às escalas. Os processos de normalização dos dados visam a obter uma escala diferente da- quela originalmente representada nos dados. Por exemplo, considere um conjunto de dados com duas dimensões que descrevem, respectivamente, valores monetários e volume de combustível. Nesse caso, podemos querer que os dados sejam representados em uma escala única, por exemplo, variando entre zero e um. Assim, a normalização dos valores consi- dera o intervalo de representação transformado, de modo que o menor valor representado seja propor- cional a zero e o maior a um. Essa normalização é chamada de Min-Max. Existem diferentes formas de 33 normalização que são mais ou menos adequadas a depender do objetivo. Finalmente, alguns algoritmos consideram somente dados categóricos, não sendo possível sua aplicação a partir de dados numéricos. Nesses casos, a técnica de discretização considera determinados intervalos de dados numéricos como categorias, possibilitando assim a utilização nesse tipo de algoritmo. Considere, por exemplo, que temos um atributo referente à al- tura da pessoa e, por algum motivo, precisamos transformar esses valores numéricos em categorias como baixo, médio e alto. Assim, poderíamos fixar intervalos da seguinte forma: pessoas com até 1,50 metros é categorizada como baixa, entre 1,50 e 1,80 pertencem à categoria média e maiores que 1,80 são consideradas pessoas altas. 34 QUALIDADE DOS DADOS As etapas de pré-processamento são importantes para que possamos resolver diferentes problemas que os conjuntos de dados podem apresentar. No entanto, não existe processo de análise que consiga produzir bons resultados a partir de dados de qua- lidade duvidosa. A mineração de dados é uma área que apresenta um processo composto por diferentes etapas bem defi- nidas. Nossos estudos focaram no aprofundamento das tarefas que são pertinentes à área da análise de dados, de modo que possamos conhecer os de- talhes relativos aos objetivos e características de cada tarefa. Além disso, conhecemos a importância da seleção da melhor alternativa a ser considerada, de acordo com as características do problema e do objetivo que se pretende. As últimas seções foram dedicadas à análise de pro- blemas que podem afetar os conjuntos de dados de entrada. Estudamos as categorias de problemas que podemos encontrar, bem como as possíveis so- luções para cada um deles. Veja na Figura 6 uma representação das etapas de pré-processamento e como elas se integram com as etapas do processo de mineração de dados. 35 Definição do problema Limpeza Integração Redução Seleção dos dados brutos Aplicação do algoritmo Definição do algoritmo Pré- processamento da base Transfor- mação Discreti- zação Figura 6: Etapas do processo de preparação dos dados de entrada Fonte: adaptado de Castro et al. (2016). Veja que, além das técnicas de pré-processamento dos dados de entrada, é importante considerarmos alguns aspectos relativos à etapa de seleção dos dados brutos que são o objeto da análise. As obser- vações sobre essa etapa são referentes à qualidade dos dados. Nesse aspecto, a elaboração, a inserção, a manipulação e o armazenamento dos dados, de modo a comporem os dados brutos, são questões importantes, que podem ser definidoras da qualidade desse conjunto. A elaboração dos dados trata das características de sua obtenção. Deve-se considerar aqui a origem dos dados e o contexto de obtenção. O conjunto de dados deve ser capaz de refletir o domínio que se quer explorar, assim a veracidade é um aspecto importante a ser questio- nado, quando da escolha do conjunto de dados. Outro ponto é a representatividade que os dados conferem à população que é representada por eles. 36 A inserção é outro aspecto importante que trata do método considerado para o armazenamento do con- junto de dados. Bases de dados que são resultados de processos manuais de inserção tendem a ter mais erros, quando comparadas a bases cuja inserção de dados é resultado de processos automáticos. A inserção de dados por meio de, por exemplo, leitura de sensores tende a ser mais assertiva, erros, nes- se contexto, podem ser resultado de problemas de leitura e não de armazenamento. Conjuntos de dados de entrada que sofreram algum tipo de manipulação prévia devem ser observados com cuidado. A manipulação sem critério pode ser responsável por resultar em problemas, como aque- les já discutidos. Por fim, a forma de armazenamento dos dados pode garantir aspectos como consistência e integridade. Além disso, o armazenamento deve garantir a pere- nidade dos dados, de modo que fatores ambientais e temporais não comprometam a possibilidade de exploraçãodos dados. As características descritas são observações a res- peito do conjunto de dados bruto, ou seja, aqueles que serão a entrada para o processo de mineração de dados. Ainda assim, não há garantias de que a observância desses aspectos possa descartar as técnicas pertinentes à fase de pré-processamento. Essas técnicas são parte importante da obtenção de dados de qualidade para a exploração por meio da mineração. 37 CONSIDERAÇÕES FINAIS Neste e-book estudamos com maior profundidade algumas das técnicas de mineração de dados e de aprendizado de máquina. Consideramos alguns exemplos de aplicação com o objetivo de ilustrar as técnicas e promover um maior entendimento sobre seu funcionamento. Além disso, discutimos, também, as etapas de pré-processamento, detalhando as eta- pas que podem ser consideradas para determinados problemas no âmbito dos dados de entrada. A qualidade dos dados é de fundamental importância para que possamos obter bons resultados a partir das tarefas de mineração. Assim, estudamos tam- bém algumas características que devem ser consi- deradas sobre os dados que serão utilizados como entrada em nossos processos de mineração. 38 Referências Bibliográficas & Consultadas CARVALHO, A. C. P. L. F. Aprendizado de Máquina: notas de aula. São Paulo: IME - USP, 2017. CASTRO, L. N.; FERRARI, D. G. Introdução à mineração de dados: conceitos básicos, algoritmos e aplica- ções. São Paulo: Saraiva, 2016. [Minha Biblioteca]. ELMASRI, R.; NAVATHE, S. B. Sistema de banco de dados. 6. ed. São Paulo: Pearson Addison Wesley, 2011. [Biblioteca Virtual]. HAND, D. J.; MANNILA, H.; SMYTH, P. Principles of data mining (adaptive computation and machine learning). Cambridge (Massachusetts): MIT Press, 2001. HEUSER, C. A. Projeto de banco de dados. 6. ed. Porto Alegre: Bookman, 2009. [Biblioteca Virtual]. MEDEIROS, L. F. Banco de dados: princípios e prática. Curitiba: Intersaberes, 2013. [Biblioteca Virtual]. PUGA, S.; FRANÇA, E.; GOYA, M.; Banco de dados: implementação em SQL, PL/SQL e Oracle 11g. São Paulo: Pearson Education do Brasil, 2013. [Biblioteca Virtual]. RAMARKRISHNAN, R. Sistemas de gerenciamento de banco de dados. 3. ed. Porto Alegre: AMGH, 2001. [Biblioteca Virtual]. REZENDE, D. A. Inteligência organizacional como modelo de gestão em organizações privadas e públicas: guia para projeto de Organizacional Business Intelligence. São Paulo: Atlas, 2015. [Minha Biblioteca]. SHEARER, C. The CRISP-DM model: the new blueprint for data mining. Journal of data warehousing, v. 5, n. 4, p. 13-22, 2000. SILBERSCHATZ, A.; SUNDARSHAN, S.; KORTH, H. F. Sistema de banco de dados. Rio de Janeiro: Elsevier Brasil, 2016. TURBAN, E. et al. Business intelligence: um enfoque gerencial para a inteligência do negócio. Porto Alegre: Bookman, 2009. [Minha Biblioteca]. Introdução As origens do desenvolvimento tecnológico Técnicas de mineração Classificação Regressão Detecção de agrupamentos Regras de associação Sumarização Preparação dos dados Qualidade dos dados Considerações finais Referências Bibliográficas & Consultadas
Compartilhar