• Nenhum resultado encontrado

Prof. Arthur Mendonça Aula 04. Aula 04. Análise da Informação para ISS Aracaju. Prof. Arthur Mendonça. 1 de 57

N/A
N/A
Protected

Academic year: 2022

Share "Prof. Arthur Mendonça Aula 04. Aula 04. Análise da Informação para ISS Aracaju. Prof. Arthur Mendonça. 1 de 57"

Copied!
57
0
0

Texto

(1)

Aula 04

Análise da Informação para ISS Aracaju

(TI)

(2)

Sumário

SUMÁRIO 2

INTRODUÇÃO 3

TEORIA DA AULA 4

INTRODUÇÃO 4

APLICAÇÕES 5

FALÁCIAS 6

CRISP-DM 7

Visão geral 8

Etapas 9

Tarefas de cada etapa 10

TÉCNICAS DE P-PROCESSAMENTO 12

Limpeza de dados 12

Integração de dados 14

Transformação de dados 15

Redução de dados 16

TÉCNICAS E TAREFAS DE MINERAÇÃO 17

Classificação 18

Análise de Agrupamentos (Clusterização) 20

Regras de Associação 24

Detecção de Anomalias 25

Modelagem Preditiva 26

APRENDIZADO DE MÁQUINA 28

MINERAÇÃO DE TEXTO 31

QUESTÕES COMENTADAS PELO PROFESSOR 33

LISTA DE QUESTÕES COMENTADAS 47

GABARITO 54

RESUMO DIRECIONADO 55

REFERÊNCIAS 57

(3)

Introdução

Bem-vindo de volta ao nosso curso de Análise da Informação para o ISS Aracaju! Continuando o estudo a respeito de ferramentas de suporte à decisão, hoje vamos falar um pouco a respeito de mineração de dados e várias das técnicas envolvidas neste processo.

Noções de mineração de dados: conceituação e características. Modelo de referência CRISP‐DM. Técnicas para pré‐

processamento de dados. Técnicas e tarefas de mineração de dados. Classificação. Regras de associação. Análise de agrupamentos (clusterização). Detecção de anomalias. Modelagem preditiva. Aprendizado de máquina. Mineração de

texto.

Esse assunto mistura alguns temas de diversas áreas, então tente estudar com bastante cuidado, principalmente na parte que diz respeito às diferentes técnicas de mineração, pois é o que costuma ser cobrado.

Espero que esteja gostando do curso até aqui.

Bons estudos!

@analisedeinformacoes

(4)

Teoria da Aula

Introdução

Você já sabe que os sistemas de Data Warehouse e Business Intelligence têm como objetivo fornecer informações para a tomada de decisão, correto? Quando falamos de mineração de dados (data mining), os objetivos são similares. A diferença maior reside nas técnicas que são utilizadas para obter as informações desejadas.

Enquanto que os sistemas analíticos (OLAP) e de DW/BI procuram agregar grandes quantidades de dados em um modelo que permita uma fácil navegação e visualização em hierarquias, séries históricas e outras estruturas, as técnicas de mineração de dados focam na busca por padrões e relacionamentos ocultos nos dados, com o objetivo de subsidiar a tomada de decisões.

A mineração faz parte do processo de descoberta do conhecimento (KDD), que é um conceito mais amplo, tendo a ver com um processo que permite extrair informações e conhecimento a partir do processamento, enriquecimento e interpretação dos dados brutos.

Esse processo passa pelas etapas de seleção dos dados, pré-processamento, transformação, mineração de dados e interpretação/avaliação dos resultados da mineração. Veja que há várias etapas em que os dados são manipulados antes que se chegue à mineração propriamente dita, o que torna esse processo um pouco similar ao que definimos como ETL e o processo dos sistemas de Business Intelligence de modo geral.

Figura: Processo de descoberta do conhecimento em bancos de dados (Fayyad, Shapiro, & Smyth, 1996).

Apesar das semelhanças em seus propósitos, a mineração de dados não se confunde com algumas técnicas que já vimos. Laudon & Laudon (2014) afirmam que a mineração de dados é mais voltada a descoberta do que OLAP. Veja o que eles dizem:

(5)

Mineração de dados fornece insights em dados corporativos que não podem ser obtidos com OLAP, ao encontrar padrões escondidos e relacionamentos em grandes bancos de dados e inferindo regras a partir deles, de modo a prever comportamento futuro.

Uma definição bastante concisa de mineração de dados pode ser vista no site da SAS, empresa pioneira em sistemas analíticos:

Mineração de dados (em inglês, data mining) é o processo de encontrar anomalias, padrões e correlações em grandes conjuntos de dados [...].i

Veja que um detalhe crucial é que as informações úteis eventualmente encontradas estavam ocultas em meio a um grande volume de dados, não são trivialmente obtidas. As técnicas de mineração de dados não se confundem com uma simples interpretação de um relatório gerencial realizada por um especialista, por exemplo.

Portanto, não é um exemplo de mineração de dados o que ocorre quando um executivo recebe um relatório que contém um gráfico de vendas em uma descendente e conclui que os negócios vão mal.

Um último detalhe a respeito dessa nossa introdução é que a mineração de dados é uma atividade multidisciplinar, envolve diversas áreas da computação (aprendizado de máquina, banco de dados) e da estatística (estatística descritiva, modelos preditivos) e matemática. Só não esqueça que a mineração é realizada em arquivos armazenados em meio digital, não é possível realizar mineração de dados em um arquivo físico.

Aplicações

“Legal, professor. Agora eu tenho uma noção do que é mineração de dados. Mas para que serve isso?”

Mineração de dados tem inúmeras aplicações. É até um pouco difícil para o examinador citar um campo de negócio em que a mineração não é aplicável. Há alguns exemplos interessantes:

• Marketing: Talvez o campo mais fértil para a descoberta de padrões. Nesse sentido, uma área que tem progredido bastante nos últimos anos é a análise de sentimentos, que utiliza os posts em mídias sociais para descobrir como os potenciais clientes se sentem a respeito de determinado produto ou serviço. Isso traz amplas possibilidades para a criação de campanhas publicitárias direcionadas e de possíveis ajustes no negócio para melhorar a satisfação do consumidor.

Detecção de fraudes: mineração de dados pode ser utilizada para identificar padrões de transações bancárias fraudulentas. Os bancos utilizam essas técnicas para bloquear transações suspeitas e prevenir danos às contas dos clientes.

• Saúde: A mineração, com o auxílio de modelos estatísticos, pode ajudar no campo da medicina preventiva, dando subsídios para que os especialistas, baseados em fatores de risco, prevejam as

(6)

• Sistemas de Recomendação: Serviços como a Netflix fazem grandes investimentos em mineração de dados. As técnicas são usadas para melhorar suas recomendações (sabe aquelas sugestões no estilo “filmes que você talvez goste?”) e até mesmo para desenvolver novos filmes e séries baseados nas preferências dos usuários.

Falácias

Às vezes as questões a respeito de mineração de dados tentam confundir o candidato aplicando alguns conceitos que parecem verdadeiros, mas não o são.

Podemos citar quatro falácias interessantes que podem ser alvo de cobrança na sua prova, elas foram retiradas de (Larose, 2005).

Falácia 1: Existem ferramentas de data mining que podemos “soltar” em cima dos conjuntos de dados que elas irão encontrar soluções para os nossos problemas.

Realidade: Não há ferramenta de mineração de dados completamente automática. A mineração de dados é um processo.

Como veremos a seguir, há a necessidade da ação humana nas diferentes etapas desse processo.

Falácia 2: O processo de mineração é autônomo, precisando de pouca ou nenhuma supervisão.

Realidade: Como acabamos de citar, a intervenção humana acontece em diversas partes do processo, como no monitoramento de qualidade, atualizações no modelo, etc.

Falácia 3: Soluções de Data Mining se pagam muito rapidamente.

Realidade: Os retornos obtidos vão variar bastante, tudo depende da aplicação específica e da estrutura de implantação

Falácia 4: Sistemas de mineração de dados são intuitivos e fáceis de usar.

Realidade: Infelizmente muitas vezes a mineração é um processo complexo, que requer especialistas que tenham não somente conhecimento sobre as técnicas de mineração, como também um bom entendimento do negócio.

(CESPE – PF – 2018) Julgue o item que segue, relativo a noções de mineração de dados, big data e aprendizado de máquina.

Pode-se definir mineração de dados como o processo de identificar, em dados, padrões válidos, novos, potencialmente úteis e, ao final, compreensíveis.

RESOLUÇÃO:

É isso mesmo. Para que possam ser úteis à tomada de decisão, os padrões descobertos devem ser válidos, novos (já que eram previamente ocultos) e compreensíveis.

Gabarito: C

(7)

(CESPE – STJ – 2018) Julgue o item que se segue, a respeito de arquitetura e tecnologias de sistemas de informação.

A descoberta de novas regras e padrões em conjuntos de dados fornecidos, ou aquisição de conhecimento indutivo, é um dos objetivos de data mining.

RESOLUÇÃO:

Novamente uma boa definição para os objetivos de data mining. O propósito é a descoberta de regras e padrões previamente ocultos. O conhecimento indutivo é aquele obtido através da generalização de ocorrências particulares.

Por exemplo, quando verificamos que um determinado conjunto de clientes de um banco com as mesmas características está sempre associado a um alto risco de inadimplência, podemos então induzir que os demais clientes que seguem aquele perfil também terão um alto risco de não pagar suas contas.

Veremos mais a respeito das técnicas de mineração mais a seguir, mas saiba que, realmente, o conhecimento obtido tem tudo a ver com o método indutivo.

Gabarito: C

Com o fim desta conceituação, aprendemos algumas características gerais de mineração de dados. A partir de agora, vamos focar em como esse processo acontece.

CRISP-DM

Em 1996, quatro empresas líderes no mercado emergente de mineração de dados enxergaram uma necessidade de se definir um padrão para a indústria. Ali foi a concepção do processo CRISP-DM (Cross Industry Standard Process for Data Mining), que se propunha a ajudar as organizações a criarem seus próprios projetos de mineração de dados de uma maneira mais eficiente.

Esse processo foi criado para ser neutro em termos de aplicação, indústria e ferramenta. Isso quer dizer que não importa qual o setor do mercado da empresa, qual a natureza do sistema que ele está criando ou que ferramentas está usando para isso, o processo pode ser seguido do mesmo jeito. O CRISP-DM é um processo aberto, ou seja, não requer qualquer licenciamento para ser utilizado.

O CRISP-DM, então, é como se fosse um guia para qualquer um (seja novato na área ou um expert) poder conduzir um projeto de mineração de dados.

O processo CRISP-DM quebra o processo de mineração em seis fases:

(8)

Figura: Processo do CRISP-DM (The CRISP-DM Consortium, 2000)

Visão geral

Vamos descrever cada uma das fases desse processo, mas antes disso é necessário fazer algumas observações.

Primeiro, quero que você observe as setas entre as etapas do processo. Essas setas indicam quais são os sentidos mais frequentes entre elas, mas nada impede que outros caminhos sejam seguidos. Os processos no CRISP-DM não são rígidos. Na verdade, o resultado de cada fase é que vai definir qual será a próxima a ser seguida. Fatores específicos de cada projeto, como a natureza dos dados e os interesses e objetivos dos usuários, irão determinar os relacionamentos entre as tarefas.

Também quero que você perceba o grande círculo composto por setas que está em volta das fases e dos dados. Esse círculo indica que o processo de mineração de dados é cíclico, não termina quando descobrimos os padrões ocultos ou obtemos um insight valioso. Cada vez que uma organização passa pelo processo, lições são aprendidas, permitindo que se aprimore as questões de negócio para a próxima execução.

(9)

Etapas

Pronto, agora que você já entendeu a sistemática do modelo CRISP-DM, podemos passar a definir o que significa cada uma de suas fases.

Ressalto que as bancas podem adotar a nomenclatura em inglês ou português, então recomendo que você se acostume desde já com as duas para não se confundir na hora da prova. As definições das fases foram retiradas predominantemente do artigo que define o modelo CRISP-DM 1.0 (The CRISP-DM Consortium, 2000).

Business Understanding

Essa fase inicial, que significa Entendimento do Negócio, visa compreender os objetivos e requisitos do projeto, sempre em uma perspectiva do negócio. Por exemplo, é nesta etapa que os executivos afirmam “quero entender por que os meus clientes estão migrando para a concorrência”, e daí se desenvolve um plano preliminar de como isso seria conseguido com mineração de dados.

Data Understanding

A etapa de Entendimento dos Dados começa com a primeira coleta de dados. A fase visa tornar o usuário familiarizado com os dados, identificando problemas de qualidade, e já descobrindo os primeiros insights e definindo subconjuntos interessantes para a formulação de hipóteses.

Data Preparation

A fase de Preparação de Dados tem como objetivo, já como o nome diz, preparar os dados crus para a avaliação. Isso envolve a limpeza e transformação dos dados (remoção de registros obviamente errados, integração de diferenças de representação – assim como ocorre no DW, etc.), bem como a seleção de subconjuntos de linhas e atributos que sejam relevantes para os propósitos dos usuários.

Essa etapa costuma ocorrer várias vezes ao longo do processo, são essas modificações que irão transformar nosso conjunto de dados iniciais, que costumam conter diversas inconsistências, em um conjunto pronto para a extração de padrões.

Modeling

Geralmente há diversas abordagens de modelagem possíveis para o mesmo problema de mineração de dados. A etapa de Modelagem prevê a seleção dessa técnica de modelagem, a construção do modelo, a avaliação e os testes sobre o modelo desenvolvido.

Quando se seleciona um modelo, muitas vezes ele tem alguns requerimentos bastante específicos em relação ao tratamento dos dados. Dessa maneira, pode ser necessário retornar várias vezes para a fase de preparação.

Evaluation

Bom, se chegamos até aqui quer dizer que já conseguimos construir um modelo interessante para a análise de dados. Contudo, antes de colocar no ambiente de produção da empresa, é necessário que se realize uma etapa de Avaliação crítica do que foi implementado. O sistema atinge os objetivos de negócio definidos na etapa de entendimento de negócio? Existe algum detalhe que não foi adequadamente considerado? Somente quando

(10)

Deployment

Figura: Captura de tela de um sistema de mineração de dados e visualizaçãoii

Por último (Ufa!), temos a fase de Implementação, Execução ou Desenvolvimento. Mesmo depois dos modelos terem sido criados, o processo não terminou. Precisamos exibir seus resultados de uma maneira significativa para o usuário. Essa etapa vai variar bastante de acordo com o ambiente da organização, podendo ser um simples relatório ou a criação de um grande portal corporativo para exibir diversos resultados da mineração para todos os gestores da empresa.

Muitas vezes esta etapa está a cargo dos próprios usuários finais e não do analista de dados. Hoje em dia, no campo da análise de dados, há uma forte tendência no sentido do self-service BI, que é um conjunto de ferramentas que possibilitam que usuários relativamente leigos desenvolvam suas próprias visualizações e naveguem sobre os dados.

Tarefas de cada etapa

Agora o assunto vai ficar um pouco mais “decoreba”. O consórcio que criou o CRISP-DM delineou também algumas tarefas relevantes realizadas em cada etapa. Considero que se você tiver entendido bem as fases gerais, saber qual atividade vai em qual fase é algo intuitivo.

Para sistematizar esse conhecimento, veja o elemento gráfico a seguir:

(11)

Viu que não é tão difícil? Fechamos assim a etapa da nossa aula que dizia respeito ao CRISP-DM. Afirmo novamente: se você entender bem a divisão das etapas, saber a que etapa pertence qual tarefa será trivial!

(CESPE – TCE/PE – 2017) Julgue o seguinte item, que se refere a CRISP-DM (Cross-Industry Standard Process of Data Mining).

Durante a fase de entendimento do negócio, busca-se descrever claramente o problema, fazer a identificação dos dados e verificar se as variáveis relevantes para o projeto não são interdependentes.

•Determinar objetivos de negócio

•Avaliar situação

•Determinar os objetivos da mineração de dados

•Produzir um plano de projeto

Business Understanding

•Realizar a coleta inicial dos dados

•Descrever os dados

•Explorar os dados

•Verificar a qualidade dos dados

Data Understanding

•Selecionar os dados

•Limpar os dados

•Construir os dados (derivados dos dados crus)

•Integrar dados

•Formatar dados

Data Preparation

•Selecionar Técnica de Modelagem

•Gerar design de testes

•Construir o modelo

•Avaliar o modelo

Modeling

•Avaliar resultados

•Revisar o processo

•Determinar os próximos passos (com base no resultado)

Evaluation

•Implantar o plano

•Monitorar e realizar a manutenção do plano

•Produzir relatório final

•Revisar o projeto

Deployment

(12)

RESOLUÇÃO:

A assertiva estava indo bem, mas derrapou no final. A coleta inicial dos dados ocorre somente na fase de data understanding. Dessa forma, sua identificação e a verificação se as variáveis são interdependentes ou não só vai ocorrer nessa etapa.

Gabarito: E

Técnicas de Pré-Processamento

Os dados contidos em bancos de dados muitas vezes contêm diversas inconsistências, incompletudes e ruídos. Seja devido a erros de preenchimento de campos ou mesmo a falhas na modelagem do banco de dados, alguns problemas com os dados podem surgir e atrapalhar a mineração. Por exemplo, os bancos de dados podem conter (Larose, 2005):

• Campos obsoletos ou redundantes;

• Valores ausentes;

• Outliers (anomalias);

• Dados cuja forma não é adequada para mineração;

• Valores não consistentes com a política de dados ou com o senso comum.

A fase de pré-processamento inclui técnicas para lidar com esses dados, na forma de limpeza e de tratamento de dados. Se você lembrar do processo de ETL na construção de um data warehouse, vai perceber que grande parte do trabalho aqui é também feito naquele processo. Desta forma, os data warehouses que passaram por um tratamento adequado são ótimas fontes para a realização de mineração de dados.

Limpeza de dados

Para saber o que é limpeza, precisamos primeiro ter uma ideia do que são dados “sujos”. Dados que são considerados lixo em um banco de dados aparecem de diferentes maneiras. Deve-se tomar bastante cuidado na hora de interpretar as ocorrências aparentemente erradas, pois podem ter algum significado que não conseguimos perceber a priori.

A limpeza de dados inclui as etapas de Data Understanding e Data Preparation do CRISP-DM. Você vai ver que realizamos uma análise inicial, aferindo a qualidade dos dados, e posteriormente realizamos as limpezas e os tratamentos necessários.

Vamos ver um exemplo (baseado no livro de Larose). Tente identificar na tabela abaixo os possíveis registros problemáticos, lembrando que ela guarda registros a respeito de clientes de um comércio eletrônico.

IdCliente CEP Sexo Idade Estado Civil Renda

001 88160-610 M 41 Solteiro 10000

002 69047-392 F A Casado 4000

(13)

003 36830 G NULL Divorciado 99999

004 61948-050 M 23 Solteiro -5000

Vamos atributo a atributo. Na coluna CEP, observe que o valor para o cliente 003 não segue o formato convencional de um código postal brasileiro, pois ele só tem 5 dígitos. A princípio, poderíamos pensar tratar-se de um erro, mas temos que lembrar que os códigos postais dos Estados Unidos, por exemplo, possuem cinco dígitos.

Assim, o cliente provavelmente é estrangeiro e colocou seu código do país de origem.

A seguir, na coluna sexo, o mesmo cliente 003 possui o valor “G”. As teclas M e F ficam lado a lado no teclado, então podemos assumir que foi um erro de digitação. Se o sistema de origem não bloqueava esse tipo de digitação incorreta, é possível que tenhamos ocorrências assim no banco de dados.

Em seguida, veja que no campo idade temos duas situações. Em uma delas há um valor “A”, que é claramente um erro. Não sabemos o que ocasionou com que este valor entrasse como uma idade, mas é fato que não nos ajuda em nada a tentar reconhecer padrões a respeito das idades dos clientes. Em seguida, há um valor faltante. Isso não é um erro propriamente dito. Como você viu na aula de banco de dados relacionais, há colunas que permitem o valor especial NULL, que indica que o valor não se aplica ou está ausente. Para esses casos, o minerador de dados deve tomar uma decisão a respeito do que fazer:

Lidando com dados ausentes

Valores ausentes em bancos de dados geralmente são prejudiciais à nossa capacidade de análise. O ideal seria que todos os campos possuíssem valores, mas esse raramente é o caso. Assim, muitas vezes é possível substituir os dados ausentes por algum valor adequado, mas esse processo deve ser realizado com bastante cuidado, e sua necessidade vai depender da aplicação. É possível utilizar observações estatísticas, como as médias ou modas. Também podemos gerar valores aleatórios ou sempre substituir por um valor constante. Alternativamente, caso não haja substituto adequado, pode-se deixar o valor em branco e ajustar os resultados de acordo.

Por último, na coluna de renda temos mais duas situações interessantes. O valor para o cliente 004 é negativo, então provavelmente seu salário era de R$ 5.000. Contudo, como não podemos ter certeza, o ideal seria se comunicar com alguém que tenha conhecimento a respeito do histórico desses dados para decidir o que fazer com ele. O valor 99999 também parece ser errado. Alguns sistemas utilizam o maior valor possível para um atributo como sendo indicativo de valor ausente. É improvável que alguém ganhe exatamente R$ 99.999 por mês.

Dessa maneira, também devemos ser cautelosos a respeito desses dados.

A moral da história é que a limpeza de dados é uma etapa que requer a atuação humana. Perceba que muitas das soluções encontradas para o “lixo” na base de dados vão depender do propósito da análise e de contato com outras pessoas.

(14)

Outliers (anomalias)

Figura: gráfico com dois outliers (Larose, 2005)

Ainda na etapa de entendimento dos dados, podemos avaliar algumas ocorrências anômalas, aquelas que não se encaixam no perfil observado nos demais dados do mesmo tipo. Um outlier é um fato que desvia tanto de outros fatos a ponto de gerar suspeitas de que foi gerado por um mecanismo diferente (Hawkins, 1980).

A partir dessa definição, podemos construir um exemplo interessante. Imagine que você está numa sala com vários de seus colegas de trabalho. Se realizarmos uma observação estatística sobre os salários das pessoas nessa sala, temos que os valores não devem variar tanto, estando em um intervalo relativamente curto, já que todos estão em funções parecidas em uma mesma organização. Agora imagine que o CEO de uma multinacional entra na sala. Se realizarmos uma nova observação a respeito dos salários, veremos que o salário do CEO destoa completamente dos demais valores.

Num conjunto de dados muito grande, é bastante improvável que saibamos de onde veio cada registro.

Assim, é difícil saber se um outlier é um valor real (como o salário do CEO), ou se é um mero erro de digitação ou problema de integração de dados. Esses fatores devem ser levados em consideração no pré-processamento.

Veremos mais sobre a detecção de outliers como técnica de mineração ainda nesta aula.

Integração de dados

Figuras: Tipos de operações realizadas na integração de dados

m, f

homem, mulher h, m

m, f

(15)

Outra técnica importante para a mineração é a integração de dados. Você já sabe que a integração diz respeito à combinação de dados de múltiplas fontes. Essas fontes podem incluir arquivos comuns, bases multidimensionais, relacionais, etc.

Se você lembrar bem das nossas últimas aulas, também vai se lembrar que, durante esse processo de integração, há muitos problemas. Veja que pode ser difícil de combinar dados que estão representados de diferentes maneiras em fontes diferentes, mas que no final das contas querem dizer a mesma coisa. Padrões distintos para representar a mesma informação, chaves primárias que devem ser combinadas em um só tipo, dentre outras, são situações que devem ser atacadas na etapa de integração.

Transformação de dados

Esse conjunto de técnicas transforma ou consolida os dados em formas apropriadas para a mineração. Vou mostrar algumas operações que podem ser executadas nesta etapa do pré-processamento, mas você não precisa decorar como se faz cada uma. É só saber do que se trata.

Algumas operações possíveis são as seguintes:

Normalização

Os dados são distribuídos proporcionalmente para ficar em um determinado intervalo. Por exemplo, eu tinha um professor na universidade que, quando os alunos tiravam notas muito ruins, ele normalizava os valores de acordo com a maior nota. Assim, se o melhor aluno da turma tirou 7.5, essa nota vai ser normalizada para 10, e todas as outras notas vão ser convertidas para a nova escala (é só fazer uma regra de 3):

Nota Original Nota Normalizada

7.5 10

6 8

5 6.67

4 5.33

0 0

(16)

Suavização

Figura: Processo de suavização. Veja que alguns outliers são desconsiderados (Zuluaga, Bonaveri, & Barrios, 2015).

Consiste na remoção de ruídos dos dados, aqueles valores ocasionais que saem de um padrão desejado. As técnicas de suavização podem ser bastante úteis para se identificar mais facilmente tendências temporais e processos que ocorrem de uma maneira cíclica.

Agregação

Você já sabe o que significa agregar vários dados, não é? Temos que este processo pode ajudar a se realizar mineração em diversos níveis de granularidade. Frequentemente é realizada através de atributos temporais, ou de data.

Generalização

Valor de Idade Categoria

0-18 Jovem

18-59 Adulto

60+ Idoso

Similarmente à agregação, podemos juntar vários atributos em categorias de atributos. Por exemplo, podemos juntar várias idades em uma categoria de mais alto nível de abstração, como “jovem”, “adulto” e “idoso”.

Redução de dados

Por fim, temos que as técnicas de redução de dados visam tornar a análise mais prática e factível através da redução do tamanho dos conjuntos de dados. Algumas operações de mineração requerem um grande poder de

(17)

processamento ou demoram muito para serem realizadas, portanto precisamos nos livrar do excesso de operações feitas, seja nos livrando de alguns registros ou utilizando algumas técnicas mais avançadas.

As abordagens para redução incluem agregação (conjunção de múltiplos registros em um só, geralmente de acordo com um parâmetro de data – por dia, por mês, etc.), redução de dimensionalidade (onde atributos e dimensões irrelevantes ou redundantes são removidos) e compressão de dados (algo como o que o WinRAR faz com os arquivos em um computador).

Algumas outras técnicas um pouco mais complicadas de se entender, como redução de numerosidade podem ser aplicadas, mas acredito que podemos parar por aqui, pois não acho que seja produtivo entrar nos detalhes técnicos a respeito disso.

O que são algoritmos?

Antes de prosseguirmos, vou tomar um pouco do seu tempo para explicar o que é um algoritmo. Isso é muito importante, já que quando falarmos das técnicas de mineração estaremos basicamente falando dos inúmeros algoritmos utilizados para concretizar esse processo.

Um algoritmo é nada mais do que uma “receita de bolo” para realizar determinada tarefa computacional. Ou seja, é a descrição da sequência de atividades necessárias para concluir uma tarefa. Quando estivermos falando de cada uma das tarefas, daremos uma breve explicação a respeito do propósito dessa tarefa, mas os detalhes de como cada uma será realizada por um programa de computador estarão definidos em um algoritmo.

Cada algoritmo tem uma abordagem diferente para a resolução de um mesmo problema. Imagine que você precisa chegar ao seu trabalho e pede orientações na rua para pessoas diferentes. É possível que cada uma dê um conjunto de instruções diferente (do tipo “vire à direita, depois siga em frente 100 metros, vire à esquerda...”) a depender do caminho que acha melhor, mas todos irão levá-lo ao mesmo lugar.

Técnicas e Tarefas de Mineração

Bom, já vimos o que é a mineração de dados e introduzimos algumas noções a respeito de pré- processamento de dados. A seguir, vamos destrinchar algumas tarefas que são utilizadas para encontrar os padrões e relacionamentos ocultos nos conjuntos de dados.

(18)

Classificação

Figura: Diagrama representando a tarefa de classificação

A nossa primeira tarefa é a classificação. Nesta tarefa, descrevemos os dados em função de algumas classes predeterminadas. É criado um modelo que vai permitir ao sistema identificar a que classe pertence cada dado inserido.

Para dar um exemplo, imagine que um banco tem como objetivo classificar o risco associado a conceder um empréstimo a cada cliente. Dessa forma, o sistema iria ler os registros dos clientes e os classificar em risco baixo, médio ou alto.

Isso funciona da seguinte maneira. Primeiro criamos um conjunto de dados de treinamento já classificados manualmente de acordo com nossos propósitos, contendo um atributo chamado rótulo de classe (em destaque abaixo), que nada mais é do que o atributo que indica a que classe pertence o registro.

Cliente Renda Sexo Idade Estado Civil Risco

001 1500 M 18 Solteiro Alto

002 15000 F 45 Casado Baixo

003 9000 M 23 Solteiro Médio

004 Variável F 50 Divorciada Alto

Alimentamos esses dados de treinamento ao sistema, que, com a ajuda de um algoritmo, percebe quais são os padrões envolvidos na classificação e assim “aprende” a classificar novos dados (que, obviamente, não possuem o atributo de rótulo de classe). Por exemplo, o sistema de mineração de dados poderia perceber, a partir da nossa tabela, que mulheres adultas de alta renda representam um baixo risco e assim passar a classificar outros clientes com o mesmo perfil na mesma categoria. Esse tipo de aprendizado é chamado de aprendizado supervisionado.

(19)

Na prática, isso pode ficar representado no modelo através de uma árvore de decisão ou de um conjunto de regras (no estilo “se renda > 10000 e sexo = f, então risco = baixo”), implementadas em linguagem de programação. Uma árvore de decisão, por sua vez, pode ser tomada como uma representação gráfica das regras de classificação.

Veja a árvore de decisão a seguir. Cada valor de uma variável considerada no processo da classificação leva o algoritmo a um novo ramo da árvore. Veja que, partindo da raiz, se o cliente é casado (married), o algoritmo percorre a árvore para o lado esquerdo. Caso seja solteiro, o algoritmo vai para o lado “não” da árvore, seguindo por um outro ramo.

Esse processo segue até que se chegue ao último nível, em que ficam as folhas, ou seja, aqueles valores nas extremidades inferiores da árvore. As folhas contêm as próprias classes que são utilizadas na classificação. Assim, dependendo dos valores dos atributos considerados na classificação, o caminho percorrido por cada item a ser classificado levará ao rótulo de sua classe.

Na árvore do exemplo a seguir, alguém solteiro (married = No), porém com saldo bancário superior a 5.000 (acct_balance >= 5K) e mais velho que 25 anos (age >= 25) seria classificado como grau de risco “bom”.

Figura: Exemplo de árvore de decisão (Elmasri & Navathe, 2011) O CESPE já considerou que as técnicas de classificação se dividem em dois tipos:

- Baseadas em separabilidade (entropia), utilizando árvores de decisão e variantes.

- Baseadas em particionamento, utilizando o algoritmo SVM (support vector machines).

Esse tema foi abordado na prova do TCM-BA de 2018. Achei uma questão bem “copia e cola” de algum autor, mas já que a banca cobrou, não temos muito o que brigar. Considere essas duas categorias se o assunto vier a ser explorado.

(20)

SVMs

Além das árvores de decisão que vimos acima, um tipo de classificador popular (já abordado pela banca CESPE) é o SVM. Um SVM (Support Vector Machine) é um modelo de classificação que pode ser descrito como um classificador não probabilístico linear binário. Vamos destrinchar essa descrição:

➢ Um classificador probabilístico, no lugar de tentar “adivinhar” a qual classe um determinado item pertence, retorna um distribuição probabilística em relação às classes preexistentes.

o Por exemplo, dado o perfil de um determinado cliente de um banco, um classificador probabilístico poderia determinar que ele tem 71% de chances de ser corretamente classificado como de alto risco, 23% de médio risco e apenas 6% de ser um cliente de perfil de risco baixo.

o Nesse mesmo caso, um classificador não probabilístico provavelmente apenas indicaria que se trata de um cliente de alto risco, sem oferecer nenhuma informação de distribuição probabilística.

o O SVM é não probabilístico, pois apenas atribui uma determinada classe a cada item a ser classificado.

➢ Um classificador linear é aquele que usa uma combinação linear dos atributos utilizados para determinar o valor referente a cada classe.

o Uma combinação linear consiste na multiplicação do valor de cada atributo por um valor constante, como se fosse um “peso” atribuído a cada um dos atributos. Assim, um determinado atributo pode ser mais ou menos relevante que os demais para determinar a classe.

➢ Por fim, um classificador binário separa os exemplos em duas classes possíveis. As SVMs fazem exatamente isso. Vamos ver como em seguida.

Em uma SVM, cada dado (um registro ou item a ser classificado) é representado por um ponto em um espaço p-dimensional. A posição desses pontos de dados é dada por um vetor, que é uma lista de valores. Complicou muito? Vamos usar um exemplo simples:

O espaço a seguir é bidimensional - só há duas dimensões: x1 e x2. Assim, cada posição de um ponto pode ser descrita por um vetor de tamanho 2, composto pelos valores de x1 e x2 de cada ponto. No contexto da classificação, isso quer dizer que só estamos considerando os valores de dois atributos de cada registro para fazer a classificação, x1 e x2. Veja:

(21)

O vetor que determina a posição de cada um dos pontos é uma lista de valores das suas coordenadas no espaço. Por exemplo, o vetor de a é dado por [1, 1], pois, para a, x1 = 1 e x2 = 1. Já para b, em que x1 = 1 e x2 = 2, seu vetor é [1, 2]. Por fim, c é representado pelo vetor [2, 1].

Note que, como dissemos, o espaço é p-dimensional, isso quer dizer que esse valor p pode ser maior que dois. Nesse caso, não conseguimos trazer uma representação visual para você, já que a tela do seu computador não é capaz de exibir imagens na terceira, quarta, quinta, sexta dimensões... Por esse motivo, nossos exemplos serão todos bidimensionais!

“Tá bom, professor, mas e a classificação, como é feita?” É o seguinte: o SVM tem como objetivo particionar o espaço em duas partes (lembra que dissemos que esse é um classificador binário?). Tudo que ficar de um lado do local do particionamento pertence a uma classe, tudo que ficar do outro pertence à outra classe. Essa partição é chamada de hiperplano!

Veja o exemplo a seguir. As bolinhas pretas pertencem a uma determinada classe, enquanto as bolinhas brancas pertencem a outra. H1, H2 e H3 são exemplos de hiperplanos (possíveis divisões desse espaço em duas partes) distintos:

Veja que H1 é um bom classificador, pois divide corretamente as bolinhas pretas das bolinhas brancas. Já H2 é melhor ainda, pois divide as bolinhas pretas e brancas corretamente, além de estar mais equidistante das duas classes. H2 é melhor pois, caso surjam novos itens de dados que tenham valores mais próximos do centro do espaço, H2 será capaz de classificar de forma mais precisa do que H1.

Esse critério é um bom critério para selecionar o melhor classificador: escolher aquele com as maiores margens possíveis em relação aos valores de ambas as classes. Se existir tal hiperplano, ele será chamado de hiperplano de margens máximas. Por fim, veja que H3 não é um bom classificador, já que não separa corretamente as bolinhas pretas das brancas.

No nosso exemplo acima, só estamos trabalhando com duas variáveis, portanto se trata de um espaço bidimensional. Para dividir um espaço bidimensional em duas partes, veja que só precisamos de um hiperplano de uma dimensão, ou seja, uma linha! A partir desse exemplo, podemos extrapolar a regra para qualquer hiperplano em qualquer espaço. O hiperplano sempre terá p-1 dimensões, em que p é a quantidade de dimensões do espaço.

(22)

SVMs são utilizadas em vários problemas de classificação, inclusive na identificação de caracteres em documentos textuais. Por ser um método binário de classificação, as SVMs são comumente empregadas em conjunto com várias outras, decompondo-se um problema que envolve múltiplas variáveis em vários problemas binários menores. Existem várias técnicas para se fazer isso, mas estas fogem ao escopo do nosso curso.

Análise de Agrupamentos (Clusterização)

Figura: Diagrama representando a clusterização

Coloquei essa tarefa logo depois da classificação pois elas são tarefas similares, e a diferença entre as duas é frequentemente explorada em provas de concursos.

Enquanto que na classificação nós já temos um conjunto predefinido de categorias e um conjunto de treinamento para que o sistema extraia as regras de classificação, na clusterização esses grupos são determinados a posteriori e não existe um conjunto de treinamento. Isso é conhecido como aprendizado não supervisionado.

A clusterização é útil para casos em que queremos agrupar dados em grupos que contêm registros semelhantes entre si, mas diferentes dos presentes nos demais conjuntos. Elmasri & Navathe dão um exemplo muito interessante de aplicação em medicina: pode ser importante determinar grupos de pacientes que apresentam os mesmos efeitos colaterais a determinados medicamentos. Também há várias aplicações no ramo dos negócios, como agrupar os clientes que possuem perfis de compras similares.

K-means

Um algoritmo comumente utilizado para a clusterização é o clustering k-means. Mean significa média em inglês, então o que este algoritmo faz é separar um número n de observações (eventos ou itens) em um número k de grupos. Cada observação então é atribuída ao grupo cuja média é a mais próxima do valor da observação.

(23)

Figura: Representação da aplicação do k-means em um espaço tridimensional (três variáveis)

Parece difícil? Vamos com calma! A ideia aqui é separar as observações em vários grupos, inicialmente calculando as médias de cada um desse sgrupos. Após isso, as novas observações são atribuídas àquele grupo cuja média é mais próxima.

Por exemplo, se temos três grupos e suas médias: o grupo A tem a média 3, o grupo B tem a média 5 e o grupo C a média 7, e queremos atribuir uma observação cujo valor é 8 para algum desses três grupos, essa observação será atribuída ao grupo C, pois seu valor é mais próximo da média daquele grupo.

Claro que estou simplificando bastante o funcionamento do algoritmo para você compreender... na prática, a forma mais simples do k-means tem o seguinte funcionamento:

Dado um conjunto inicial de grupos e médias, o algoritmo alterna entre os dois passos a seguir:

1) Passo de atribuição: cada observação é atribuída ao grupo cuja média tem a menor distância euclidiana para si.

2) Passo de atualização: ajusta-se as médias dos grupos de acordo com os novos elementos atribuídos a cada um.

O k-means particiona todo o espaço em um número k de clusters. Assim, todo valor possível no espaço está sob o domínio de algum dos grupos. Quando esse fenômeno acontece, essas partições do espaço são chamadas de células de Voronoi.

(24)

Regras de Associação

Figura: Sistema exibindo análise de regras de associação (Larose, 2005)

A análise de regras de associação tem como objetivo realizar uma análise de afinidade entre duas características ou atributos. Um exemplo dado por Larose (2005) é o de um supermercado, onde foi observado que em uma quinta-feira à noite, vários clientes que compraram fraldas também compraram cervejas. Nesse caso, as regras de associação podem ajudar a direcionar ações de marketing, melhorar a organização dos produtos nas prateleiras, dentre outras aplicações.

As regras de associação respeitam uma fórmula X -> Y, onde X é a ação antecedente e Y a consequente. A regra, no nosso exemplo, seria do tipo {fralda} -> {cerveja}. Esses itens X e Y, na verdade, podem representar conjuntos de itens, chamados itemsets. Assim, poderíamos verificar também a ocorrência de regras como {carvão, espeto} -> {carne}, o que indica que os clientes em questão provavelmente estão preparando um churrasco.

É importante para a prova que você conheça duas medidas objetivas das regras de associação, o suporte e a confiança:

No nosso exemplo, imagine que de 1000 clientes do supermercado, 200 compraram fraldas, e desses 200 que compraram fraldas, 50 também compraram cerveja.

• O suporte vai ser definido pelo número de ocorrências da nossa regra X -> Y sobre o número de transações totais. Logo, o suporte é dado pelo cálculo 50/1000 = 5%.

• A confiança é útil para verificarmos a precisão da nossa regra, já define o número de ocorrências em que a regra X -> Y se verifica para os casos onde X ocorreu. No nosso exemplo, X é dada por todos os clientes que compraram fralda (200), então o valor da confiança é igual a 50/200 = 25%.

Um algoritmo comumente usado para as regras de associação é o Apriori. Esse algoritmo funciona identificando os itens que são frequentes em um banco de dados e em seguida estendendo os conjuntos até obter- se grupos de itens que ocorrem frequentemente.

Por exemplo, começamos com os itens individuais {A}, {B}, {C}... e conferimos quais deles são frequentes no nosso banco de dados. Depois, pegamos aqueles que são frequentes e vamos gerando duplas {A, B}, {A, C}, {B,C},

(25)

e conferimos novamente para verificar se alguma das duplas ocorre com frequência. Isso vai ocorrendo sucessivamente, até obtermos regras com o maior número de itens quanto possível.

Um conceito parecido com o de regras de associação é o da análise de padrões sequenciais. A diferença é que nas regras de associação estamos mais preocupados com a frequência em que elas ocorrem. Enquanto isso, os padrões sequenciais consideram a probabilidade de um determinado padrão ordenado ser seguido. Por isso, os padrões sequenciais tendem a ser mais úteis para a análise preditiva.

Detecção de Anomalias

Figura: Detecção visual de outliers através de um histograma (Larose, 2005)

Você deve se lembrar que falamos de anomalias (outliers) na seção dedicada ao pré-processamento de dados, certo? Continuando o assunto, vemos que a identificação desses valores fora dos padrões nos conjuntos de dados pode ser útil em várias situações.

A detecção de anomalias costuma ser bastante empregada com o objetivo de se detectar fraudes em sistemas. Por exemplo, um banco pode constatar variações anormais no padrão de compras de um cliente, indicando que determinado conjunto de transações podem ter sido originadas de um cartão de crédito clonado.

Também há aplicações na área de saúde, como nos casos envolvendo monitoramento cardíaco, em que a atividade anômala dos batimentos pode indicar alguma condição grave.

Como você pode imaginar, as aplicações são inúmeras. Nos interessa agora saber como esse processo é realizado.

Existem três abordagens para a detecção de outliers na mineração de dados, conforme discutido em (Hodge & Austin, 2004):

Tipo 1: Essa abordagem é análoga à clusterização não supervisionada. O sistema classifica os dados sem conhecimento prévio das categorias e indica os valores que não aparentam se enquadrar em nenhuma delas como sendo potenciais outliers.

Tipo 2: Abordagem análoga à classificação supervisionada. O usuário indica o rótulo de cada tipo de dado no conjunto de treinamento como sendo normal/anômalo e o sistema aprende a classificar as próximas entradas.

(26)

Tipo 3: Essa última abordagem pode ser considerada semi-supervisionada. Somente dados considerados normais são pré- rotulados e o sistema aprende a identificar os outliers como sendo aqueles que não se encaixam nesse padrão.

Há inúmeras técnicas disponíveis, que podem ser modelos estatísticos (como técnicas baseadas na proximidade entre os dados, incluindo um algoritmo chamado K-Nearest Neighbor, modelos paramétricos, etc.), a utilização de redes neurais e de aprendizado de máquina.

Modelagem Preditiva

O sonho de todo gestor é conseguir prever o futuro, de modo a antecipar tendências do seu ramo de atuação e conseguir assim uma importante vantagem competitiva. Nesse sentido, a modelagem preditiva tem como objetivo se utilizar de dados históricos e atuais para realizar previsões a respeito de eventos futuros.

Algumas aplicações interessantes dizem respeito a hábitos de consumidores, como por exemplo a demanda por um determinado produto ao longo do tempo e a probabilidade de um consumidor sair de um serviço de TV a cabo ou de telefonia para o de outra empresa. Essa análise pode ser realizada nos mais diversos conjuntos, desde dados estruturados, como em um data warehouse, até mesmo em dados não estruturados, como postagens em redes sociais.

A modelagem preditiva pode ser usada não somente com fins comerciais, mas também para prever eventos como a ocorrência de crimes em determinadas áreas de uma cidade ou uma demanda maior por leitos em hospitais em determinadas épocas do ano.

Steven Finlay (2014) indica que a análise preditiva pode ser realizada até mesmo em eventos presentes ou passados (como realizar a predição de suspeitos que possam ter cometido algum crime). Dessa maneira, podemos encarar a modelagem preditiva como sendo um conjunto de técnicas que utiliza dados históricos para prever a probabilidade da ocorrência de um evento desconhecido.

A regressão (ou predição) é a tarefa utilizada para prever o valor de um elemento desconhecido, com base em fatores já conhecidos. Há várias formas de regressão, sendo a mais simples e conhecida delas a regressão linear. Se você já estudou estatística deve estar reconhecendo vários termos utilizados nesta nossa aula.

De forma resumida, as tarefas preditivas visam prever o valor de uma variável baseada nos valores de outras.

Essas variáveis ou atributos a serem preditos são conhecidos como alvo ou variáveis dependentes. Enquanto isso, os atributos conhecidos que são utilizados para fazer a predição são chamados de variáveis preditoras ou independentes.

Dados Históricos Algoritmo Modelo

Preditivo

(27)

As tarefas de mineração se dividem em dois tipos, de acordo com o propósito de sua realização:

Tarefas descritivas visam encontrar padrões, correlações e relacionamentos que descrevam os dados, com o objetivo de possibilitar a sua análise.

Tarefas preditivas têm como objetivo predizer valores para os dados desconhecidos.

Segundo Elmasri & Navathe, a regressão é um caso especial de classificação:

A regressão é uma aplicação especial da regra de classificação. Se uma regra de classificação é considerada uma função sobre variáveis que as mapeia em uma classe destino, a regra é chamada regra de regressão.

Uma aplicação de regressão ocorre quando, em vez de mapear uma tupla de dados de uma relação para uma classe específica, o valor da variável é previsto baseado naquela tupla (Elmasri & Navathe, 2011).

Em linhas gerais, o que isso quer dizer é que a regressão é uma aplicação das regras de classificação que, no lugar de mapear uma tupla a alguma dentre uma série de classes predefinidas, como é o caso da classificação convencional, o algoritmo mapeia cada tupla a um determinado valor, que é o valor previsto.

Figura: Classificação e regressão

(CESPE – PF – 2018) Em um big data, alimentado com os dados de um sítio de comércio eletrônico, são armazenadas informações diversificadas, que consideram a navegação dos usuários, os produtos comprados e outras preferências que o usuário demonstre nos seus acessos.

Tendo como referência as informações apresentadas, julgue o item seguinte.

Dados coletados de redes sociais podem ser armazenados, correlacionados e expostos com o uso de análises preditivas.

RESOLUÇÃO:

O enunciado da questão fala de big data, mas ainda não precisamos saber do que isso se trata para respondê-la.

Você acabou de aprender que a análise preditiva pode ser feita em cima de conjuntos de dados não estruturados, então a assertiva está correta. Claro que haverá uma dificuldade maior de extrair conhecimento desses dados em relação aos estruturados, mas isso não significa que não seja possível.

Gabarito: C

(28)

(CESPE – SERPRO – 2013) Em tarefas preditivas, o atributo a ser predito é conhecido como variável independente, enquanto que os atributos usados para fazer a predição são conhecidos como alvo.

RESOLUÇÃO:

Falso, não é? O atributo a ser predito é conhecido como variável dependente ou alvo, enquanto que os outros atributos, utilizados para fazer a predição, são conhecidos como variáveis independentes ou preditoras.

Gabarito: E

Aprendizado de Máquina

Já falamos sobre aprendizado supervisionado, não supervisionado e semi-supervisionado ao longo da aula, então esta seção vai servir para amarrar bem tudo isso.

Um fator bastante distintivo a respeito dos seres humanos é que nós somos capazes de aprender e melhorar o nosso desempenho em determinadas tarefas ao longo do tempo. Basta você olhar para si mesmo. Tenho certeza que seu desempenho nas questões do nosso curso está muito melhor do que quando você começou a estudar.

O aprendizado de máquina envolve a utilização de um conjunto de modelos e algoritmos com o objetivo de melhorar o desempenho do sistema em uma determinada tarefa de uma maneira relativamente autônoma, já que o programador não define explicitamente todos os passos a serem realizados. Repare que o processo conta com uma certa autonomia, por isso o termo “aprendizado”, mas isso não quer dizer que a máquina faz tudo sozinha.

Aprendizado de máquina é um subconjunto da inteligência artificial e é uma área intimamente relacionada à mineração de dados. Basta imaginar as tarefas de clusterização e classificação: imagine que tivéssemos que definir explicitamente regras específicas para cada tipo de ocorrência (por exemplo, para o perfil de risco de cada um dos clientes de um banco). Dada a quantidade de variáveis, a tarefa de mineração de dados seria quase que impossível.

O aprendizado permite que a máquina generalize regras a partir de ocorrências específicas de determinado evento. Por exemplo, ao realizar agrupamentos durante a tarefa de clustering, a máquina “percebe” que há muitos dados com características similares e passa colocá-los em um mesmo grupo; já ao realizar a classificação, a máquina infere as regras a partir do conjunto de dados de treinamento.

Aprendizado de Máquina

Supervisionado

Observações previamente rotuladas

ex.: Classificação

Não supervisionado

Observações sem rótulos

ex.: Clustering, regras de associação

Semi-supervisionado

Híbrido: algumas observações com rótulos, outras sem

(29)

Como vimos, a mineração de dados muitas vezes utiliza métodos de aprendizado de máquina. Contudo, essas duas atividades, se tomadas independentemente, têm focos um pouco distintos. Enquanto o objetivo da mineração é na descoberta de conhecimento previamente oculto, o aprendizado de máquina foca mais em desempenhar uma tarefa, melhorando ao longo do tempo com base na “experiência” que vai adquirindo.

Modelos

O aprendizado de máquina é implementado em várias técnicas da mineração de dados, como no caso do aprendizado supervisionado (incluindo classificação e regressão) e não supervisionado (clusterização). Também é utilizado para processar a detecção de anomalias e de regras de associação.

Para efetivamente implementar essas técnicas, são usados vários tipos de sistemas ou modelos, incluindo os seguintes:

Figura: Ilustração de uma rede neural artificialiii

Redes neurais, que são sistemas cuja estrutura é inspirada nas conexões dos neurônios humanos. Elas geralmente possuem camadas e realizam o processamento de entradas passando sinais entre os diversos

“neurônios”, até produzir as saídas desejadas.

A ideia aqui é conseguir que a máquina execute uma tarefa sem que ela tenha conhecimento prévio de como fazê-lo. Por exemplo, pode-se fornecer uma série de dados rotulados para que a rede neural os processe e aprenda a realizar a classificação supervisionada.

Algoritmos genéticos também são baseados na natureza. Nesse caso, no processo de seleção natural. É um tipo de modelo geralmente associado a otimização, ou seja, à melhoria de um determinado processo.

Esses algoritmos utilizam uma função-objetivo ou função de avaliação, que é uma função que fornece uma maneira de mensurar se a solução apresentada para o problema é melhor ou pior que as anteriores.

Árvores de decisão e Support vector machines são dois modelos mais associados à técnica de classificação supervisionada. Já falamos sobre esses modelos anteriormente.

(30)

Figura: Ilustração de Rede Bayesiana e as probabilidades entre as variáveisiv

Redes Bayesianas são modelos probabilísticos baseados em grafos acíclicos, representando as relações probabilísticas entre as diversas variáveis que ocorrem no modelo.

Esses e outros modelos são utilizados na implementação das diversas técnicas de mineração que vimos. Eles não são novas técnicas, são modelos de sistemas utilizados para implementá-las. Você pode dizer corretamente que é possível implementar um algoritmo de classificação, predição ou clusterização através de uma rede neural, por exemplo!

Só de curiosidade, um exemplo bem legal de aplicação de redes neurais (e de aprendizado de máquina de modo geral) é apresentado no site https://thispersondoesnotexist.com, que é uma aplicação que gera “fotos” de pessoas dinamicamente.

No entanto, essas pessoas não existem: as fotos foram geradas por um sistema de inteligência artificial, que aprendeu a construir rostos de pessoas a partir de um conjunto de dados de treinamento com fotos de várias celebridades. Algumas são um pouco estranhas, mas em geral o resultado é surpreendente!

(CESPE – TJ/AM – 2019)

A respeito de bancos de dados relacionais, julgue o item a seguir.

Em sistemas de suporte à decisão, uma das abordagens da árvore de decisão é a predição, em que são criadas regras com base em eventos já ocorridos para aplicação em eventos futuros similares.

RESOLUÇÃO:

A técnica de predição é um caso especial da classificação que permite a predição de um valor não conhecido (que pode ser um evento futuro) com base em valores já conhecidos. Essas técnicas são frequentemente implementadas com o auxílio do modelo de árvores de decisão. Tudo correto!

Gabarito: C

(31)

(CESPE – TCE/RO – 2019)

No que se refere aos diversos tipos de algoritmos utilizados para minerar dados, a técnica utilizada em tarefas de classificação, regressão e segmentação de dados em tipos de dados heterogêneos é denominada

a) algoritmos genéticos.

b) redes neurais.

c) banco objeto relacional.

d) classes privadas.

e) redes privadas.

RESOLUÇÃO:

O que o examinador quer saber é qual modelo de aprendizado de máquina pode ser utilizado para as atividades de mineração de dados de classificação, regressão (predição) e segmentação em tipos heterogêneos (clusterização).

As redes neurais são modelos de aprendizado de máquina que foram inspirados nas conexões entre os neurônios no cérebro humano. Esse tipo de modelo pode ser aplicado a qualquer uma das tarefas de mineração de dados descritas na assertiva, o que torna a letra b correta.

No entanto, ao realizar uma pesquisa em periódicos científicos, é possível também encontrar exemplos de aplicação de algoritmos genéticos a essas tarefas, o que deixaria a questão com duas respostas possíveis.

Algoritmos genéticos representam outro tipo de modelo de aprendizado de máquina, comumente utilizado na otimização de tarefas. Não sei se a banca recebeu algum recurso nesse sentido e preferiu não anular ou se simplesmente nenhum candidato fez essa contestação, mas, de todo modo, é bom guardar o entendimento que redes neurais são mais comumente utilizadas para esse fim.

Gabarito: B

Mineração de Texto

A área de text mining é bastante promissora. Com o alto volume de dados em formato textual produzido diariamente pela internet, seja em sites de notícias, redes sociais ou periódicos científicos, tem-se um campo riquíssimo para explorar em busca de informações ocultas relevantes.

O processo de mineração de texto costuma envolver um passo de estruturação dos textos (dados não estruturados) obtidos, com a adição de metadados a seu respeito em um banco de dados. Esse processo permite que o sistema de mineração possa trabalhar em cima dos textos, realizando classificação, clusterização, análise de sentimentos, dentre outras tarefas.

Repare que text mining não envolve somente encontrar textos relevantes ou trabalhar em cima de textos específicos. A ideia é categorizar informação e encontrar relações entre documentos textuais distintos e não conectados.

(32)

Figura: Mapa de coocorrências de palavras em pesquisa a respeito dos ecossistemas dos oceanosv

Por exemplo, pode ser interessante extrair palavras chave que aparecem com frequência em textos a respeito de determinado tema. Imagine que estamos querendo descobrir as causas da violência urbana no Brasil e para isso vamos analisar as notícias de crimes na mídia escrita. Categorizamos então aqueles artigos que contêm alguma palavra a respeito de embriaguez em um grupo, aqueles que falam de tráfico de drogas em outro, aqueles que citam as operações policiais em favelas em mais um, e por aí vai... Assim, podemos ter uma ideia melhor da frequência com que as palavras chave aparecem e extrair informações relevantes a partir disso.

A mineração de texto pode ter inúmeros propósitos. Você já deve ter ouvido falar nos sofisticados sistemas do governo americano para identificar possíveis atividades terroristas com base das comunicações dos indivíduos online. Também é possível realizar análise de sentimentos em posts de redes sociais para medir o nível de satisfação de consumidores com determinados produtos e direcionar campanhas de marketing.

Enfim, as aplicações da mineração de texto, assim como as de todo o processo de data mining, são inúmeras.

É complicado citar todas em uma só aula, mas acredito que você pegou o espírito e será capaz de responder as questões a respeito do assunto.

* * *

Aqui finalizamos nossa teoria. Não foi tão difícil assim, não é? Vamos agora resolver juntos mais algumas questões para que você chegue afiado no dia da prova!

(33)

Questões comentadas pelo professor

1.

(CESPE – STJ – 2018)

Julgue o item que se segue, acerca de data mining e data warehouse.

O processo de mineração de dados está intrinsecamente ligado às dimensões e a fato, tendo em vista que, para a obtenção de padrões úteis e relevantes, é necessário que esse processo seja executado dentro dos data warehouses.

RESOLUÇÃO:

Nada disso. A mineração de dados pode ocorrer nos mais diversos tipos de bancos de dados. Um campo de pesquisa bastante fértil, inclusive, é a respeito da mineração de padrões ocultos em grandes conjuntos de dados não estruturados, chamados de big data. Resumindo, o DW facilita bastante o processo de mineração, mas sua existência não é pré-requisito para o processo.

Resposta: E

2.

(CESPE – FUB – 2018)

Julgue o item a seguir, a respeito de data mining e OLAP.

No data mining, uma regra de associação relaciona a presença de um conjunto de itens com outra faixa de valores de um outro conjunto de variáveis.

RESOLUÇÃO:

A questão é a tradução literal de um trecho do livro de Elmasri & Navathe, por isso a redação está um pouco ruim.

O que ele quer dizer é que, nas regras de associação, há a análise da relação entre um conjunto de itens (o conjunto antecedente) com outro conjunto, de valores distintos do primeiro (o conjunto consequente).

É um jeito rebuscado de falar que essas regras analisam a probabilidade de coocorrências entre dois itens ou conjuntos de itens distintos, o que é uma definição correta para as regras de associação!

Resposta: C

3.

(CESPE – TCM/BA – 2018)

Assinale a opção correta a respeito do CRISP-DM.

a) CRISP-DM é uma suíte de ferramentas proprietárias que vem se tornando um padrão da indústria para mineração de dados, uma vez que fornece um plano completo e tecnologias para a realização de um projeto de mineração de dados.

b) A verificação da qualidade dos dados é uma atividade da fase de entendimento dos dados.

c) Durante a fase de preparação dos dados, é realizado um inventário de requisitos, suposições e restrições de recursos.

(34)

d) Na fase de avaliação dos dados, são realizadas as atividades de identificar valores especiais dos dados e catalogar seu significado.

e) Na fase de preparação dos dados, são realizadas as atividades de analisar o potencial de implantação de cada resultado e estimar o potencial de melhoria do processo atual.

RESOLUÇÃO:

a) O erro da assertiva é dizer que o CRISP-DM é um padrão proprietário. Na verdade, a ideia por trás do CRISP-DM é ser um conjunto aberto e independente de softwares específicos de aplicação. ERRADA

b) Está é a nossa resposta. A primeira verificação a respeito da estrutura e da qualidade dos dados é realizada na fase de data understanding ou entendimento de dados. CERTA

c) Na minha opinião, o levantamento de requisitos é realizado na etapa de entendimento de negócio. Nesta etapa também é realizado o levantamento a respeito dos propósitos da mineração e construído um plano de implementação, que deve atender aos requisitos necessários para o sistema. ERRADA

d) Não existe essa fase de avaliação de dados no CRISP-DM. ERRADA

e) Na verdade a etapa descrita se relaciona mais com a avaliação, já que é nessa etapa que se verifica a efetividade do processo atual e se estima possibilidade de melhorias. ERRADA

Resposta: B

4.

(CESPE – TCM/BA – 2018)

A respeito das técnicas e (ou) métodos de mineração de dados, assinale a opção correta:

a) O agrupamento (ou clustering) realiza identificação de grupos de dados que apresentam coocorrência.

b) A classificação realiza o aprendizado de uma função que pode ser usada para mapear os valores associados aos dados em um ou mais valores reais.

c) A regressão ou predição promove o aprendizado de uma função que pode ser usada para mapear dados em uma de várias classes discretas definidas previamente, bem como encontrar tendências que possam ser usadas para entender e explorar padrões de comportamento dos dados.

d) As regras de associação identificam grupos de dados, em que os dados têm características semelhantes aos do mesmo grupo e os grupos têm características diferentes entre si.

e) Os métodos de classificação supervisionada podem ser embasados em separabilidade (entropia), utilizando árvores de decisão e variantes, e em particionamento, utilizando SVM (support vector machines).

RESOLUÇÃO:

a) A coocorrência é a ocorrência simultânea de dois eventos. Na verdade, a técnica que vimos que está mais associada a esse conceito se refere às regras de associação. ERRADA

b) Não ficou muito claro para mim o que o examinador quis dizer com “valores reais”. Contudo, podemos perceber que a predição utiliza uma função para mapear os conjuntos de dados que se já tem em um valor dito real, que é o valor a ser previsto. Veja a seguir que a definição exposta no item seguinte descreve melhor o processo de classificação do que a presente alternativa, nos levando a crer que o examinador somente inverteu os conceitos.

ERRADA

Referências

Documentos relacionados

“No 45º Leilão de Biodiesel da ANP foram arrematados 657,8 milhões de litros de biodiesel, sendo 100,0% deste volume oriundos de produtores detentores do selo Combustível Social.

1. Já a letra B sempre ocupa uma posição que será chamada de fundo. Na 4a figura da sequência, as duas letras estão em posições consecutivas, o que acontece também na 5a figura

Em relação à análise de agrupamentos (clusterização) em mineração de dados, julgue o item seguinte. O método de clustering k-means objetiva particionar ‘n’ observações

No entendimento da Secretaria da Receita Federal, o Sistema Público de Escrituração Digital (Sped) consiste na modernização da sistemática atual do cumprimento das

Berkhin [8] aponta como vantagens dos algoritmos de clusterização hierárquica a facilidade em lidar com qualquer medida de similaridade utilizada e a sua conseqüente aplicabilidade

O cross join é nada mais nada menos que o produto cartesiano entre duas tabelas. Ou seja, ele vai combinar todos os registros da primeira tabela com todos da segunda. Para

Figura 3.36 O piloto deve inclinar o avião na direção do

INSERT INTO Funcionario (idFuncionario, data_nascimento, nome, sobrenome, sexo, data_contratacao)... Podemos, inclusive, omitir um ou outro campo nessa lista, não