Buscar

Coleta, Armazenamento e Análise Aplicada

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 79 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 79 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 79 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
2
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
3
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Núcleo de Educação a Distância
GRUPO PROMINAS DE EDUCAÇÃO
Diagramação: Gildenor Silva Fonseca
PRESIDENTE: Valdir Valério, Diretor Executivo: Dr. Willian Ferreira.
O Grupo Educacional Prominas é uma referência no cenário educacional e com ações voltadas para 
a formação de profissionais capazes de se destacar no mercado de trabalho.
O Grupo Prominas investe em tecnologia, inovação e conhecimento. Tudo isso é responsável por 
fomentar a expansão e consolidar a responsabilidade de promover a aprendizagem.
4
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Prezado(a) Pós-Graduando(a),
Seja muito bem-vindo(a) ao nosso Grupo Educacional!
Inicialmente, gostaríamos de agradecê-lo(a) pela confiança 
em nós depositada. Temos a convicção absoluta que você não irá se 
decepcionar pela sua escolha, pois nos comprometemos a superar as 
suas expectativas.
A educação deve ser sempre o pilar para consolidação de uma 
nação soberana, democrática, crítica, reflexiva, acolhedora e integra-
dora. Além disso, a educação é a maneira mais nobre de promover a 
ascensão social e econômica da população de um país.
Durante o seu curso de graduação você teve a oportunida-
de de conhecer e estudar uma grande diversidade de conteúdos. 
Foi um momento de consolidação e amadurecimento de suas escolhas 
pessoais e profissionais.
Agora, na Pós-Graduação, as expectativas e objetivos são 
outros. É o momento de você complementar a sua formação acadêmi-
ca, se atualizar, incorporar novas competências e técnicas, desenvolver 
um novo perfil profissional, objetivando o aprimoramento para sua atua-
ção no concorrido mercado do trabalho. E, certamente, será um passo 
importante para quem deseja ingressar como docente no ensino supe-
rior e se qualificar ainda mais para o magistério nos demais níveis de 
ensino.
E o propósito do nosso Grupo Educacional é ajudá-lo(a) 
nessa jornada! Conte conosco, pois nós acreditamos em seu potencial. 
Vamos juntos nessa maravilhosa viagem que é a construção de novos 
conhecimentos.
Um abraço,
Grupo Prominas - Educação e Tecnologia
5
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
6
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Olá, acadêmico(a) do ensino a distância do Grupo Prominas! .
É um prazer tê-lo em nossa instituição! Saiba que sua escolha 
é sinal de prestígio e consideração. Quero lhe parabenizar pela dispo-
sição ao aprendizado e autodesenvolvimento. No ensino a distância é 
você quem administra o tempo de estudo. Por isso, ele exige perseve-
rança, disciplina e organização. 
Este material, bem como as outras ferramentas do curso (como 
as aulas em vídeo, atividades, fóruns, etc.), foi projetado visando a sua 
preparação nessa jornada rumo ao sucesso profissional. Todo conteúdo 
foi elaborado para auxiliá-lo nessa tarefa, proporcionado um estudo de 
qualidade e com foco nas exigências do mercado de trabalho.
Estude bastante e um grande abraço!
Professor: Paulo Nunes
7
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
O texto abaixo das tags são informações de apoio para você ao 
longo dos seus estudos. Cada conteúdo é preprarado focando em téc-
nicas de aprendizagem que contribuem no seu processo de busca pela 
conhecimento.
Cada uma dessas tags, é focada especificadamente em partes 
importantes dos materiais aqui apresentados. Lembre-se que, cada in-
formação obtida atráves do seu curso, será o ponto de partida rumo ao 
seu sucesso profissional.
8
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Nesta unidade, você verá os principais conceitos que definem a 
Mineração de Dados, Data Mining e seus componentes. Verá do que real-
mente trata a mineração de dados e como utilizá-la em sua área aplicando 
esses mesmos conceitos e técnicas na prática, aprendendo a coletar e 
analisar os mais diferentes conjuntos de dados utilizando as ferramentas 
mais conhecidas do mercado. Será apresentado aqui também como repre-
sentamos o conhecimento, de que forma utilizar as informações que estão, 
muitas vezes, dispersas, organizando-as de maneira a ajudar na tomada 
de decisões críticas dentro da sua empresa, transformando dados brutos 
em informações preciosas.
Mineração. Conhecimento. Dados.
9
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
 CAPÍTULO 01
SOLUÇÕES EM MINERAÇÃO DE DADOS
Apresentação do Módulo ______________________________________ 11
Introdução a Mineração de Dados ________________________________
Representação do Conhecimento ________________________________
Algoritmos _______________________________________________________
Recapitulando ___________________________________________________
12
18
20
29
 CAPÍTULO 02
BANCOS DE DADOS NÃO CONVENCIONAIS
Bancos de Dados Distribuídos __________________________________
Bancos de Dados Orientados a Objetos __________________________
Bancos de Dados Objeto-Relacional ____________________________
Recapitulando _________________________________________________
34
38
40
49
10
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Números Índices _______________________________________________
Recapitulando _________________________________________________
Considerações Finais ___________________________________________
Fechando a Unidade ___________________________________________
Referências ____________________________________________________
58
70
74
75
78
Séries Temporais _______________________________________________ 54
 CAPÍTULO 03
ANÁLISE EXPLORATÓRIA DE DADOS
Análise Bidimensional _________________________________________ 52
11
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
O campo da Mineração de Dados teve avanços rápidos nas 
últimas duas décadas, especialmente da perspectiva da comunidade de 
ciência da computação. Embora a análise de dados tenha sido ampla-
mente estudada no campo convencional de probabilidade e estatística, 
a mineração de dados é um termo cunhado pela comunidade orientada 
para a ciência da computação. Para cientistas da computação, ques-
tões como escalabilidade, usabilidade e implementação computacional 
são extremamente importantes.
Neste módulo, você verá os conceitos básicos necessários para 
entender o que é e como funciona a Mineração de Dados, aprendendo 
como realiza a coleta, seleção e tratamento adequado de diferentes 
tipos de dados, podendo, assim, utilizá-los para tomadas de decisões 
muito mais acertadas e precisas. Veremos alguns dos bancos de dados 
e suas representações, visto que são elementos de suma importância 
no processo da Mineração de Dados, pois são eles que vão armazenar 
e gerenciar todas as informações coletadas, além de serem utilizados 
na organização dessas informações.
Cada um dos tópicos ligados à Mineração de Dados será abor-
dado aqui de maneira clara e didática, levando-se em consideração as 
aplicações mais atuais nessa área. Veremos quais os métodos e ferra-
mentas adequados ao trabalho de coleta de dados, como e quais dados 
são importantes para uma análise concisa, quais os bancos de dados 
e gerenciadores de banco dados são mais indicados para o trabalho 
de armazenamentode dados, e como se dá a filtragem e classificação 
desses dados, de maneira que possam ser utilizados nas tomadas de 
decisões em uma empresa, sempre levando em conta o tipo de negócio 
e o que se pretende atingir com ele.
12
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
INTRODUÇÃO À MINERAÇÃO DE DADOS
Você pode até pensar que, para organizar e transformar da-
dos em informações importantes, tudo o que você precisa é um bom 
gerenciador de planilhas e um banco de dados poderoso, mas não é 
assim que as coisas funcionam. A Mineração de Dados requer, além de 
ferramentas poderosas e precisas, de pessoal preparado para “pensar” 
em como deve ser extraída a melhor informação para você e o seu ne-
gócio, pessoas que precisam conhecer também, assim como você, o 
seu negócio.
A Mineração de Dados permite que pessoas comuns como 
você e eu, possam, utilizando as técnicas de análise de dados corretas, 
extrair uma massa de dados diversos, transformá-los em informações 
úteis e colocá-las em prática, fazendo com que você possa então guiar 
o seu negócio através dessas informações agora mais claras.
Não se trata apenas de “criar relatórios” e, sim, de agregar va-
SOLUÇÕES EM
MINERAÇÃO DE DADOS
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
13
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
lor a informações que antes só mostravam o que, na maioria das vezes, 
havia acontecido antes. Com a Mineração de Dados, é possível enten-
der “como aconteceu” e como determinar o que poderá acontecer no 
futuro.
E como funciona a Mineração de Dados? Vejamos esses dois 
exemplos:
• Exemplo 01: Uma rede de lojas, que possui vendas on-line, 
cria um sistema de fidelização de seus clientes, identificando através 
desse sistema aqueles que passam mais tempo on-line e que possuem 
maior probabilidade de comprar mais, isso com informações coletadas 
durante a primeira visita do cliente ao site da rede de lojas. De posse 
dessas informações, foi realizado um maior investimento em marketing 
direcionado especificamente a esses clientes, maximizando a receita e 
reduzindo custos com campanhas generalistas de marketing.
• Exemplo 02: Uma empresa de planos de saúde identifica que 
certos procedimentos demandam menos tempo de internação que ou-
tros, mesmo que possuam a mesma complexidade médica. Sabendo 
disso, a empresa implementou uma série de procedimentos e métodos 
que seriam implantados em todos os hospitais e clínicas conveniadas, 
visando à redução de custos e à melhoria no atendimento aos clientes.
Pelos exemplos demonstrados, é possível perceber que com 
a Mineração de Dados podemos entender o relacionamento entre os 
diferentes elementos de um mesmo negócio, pois ela dá direcionamen-
tos sobre quais ações devem ser realizadas, identificando onde devem 
ser realizados cortes de custos, por exemplo, e onde devem ser feitos 
investimentos com maior garantia de retorno. 
É fácil entender que a quantidade exorbitante de dados ge-
rados atualmente é consequência direta dos avanços tecnológicos e 
da informatização de praticamente todas as áreas. Esse é o principal 
objetivo da Mineração de Dados, transformar dados arbitrários e bru-
tos, sem a devida estruturação para uso automatizado, precisam ser 
processados por programas específicos de computador para obter re-
sultados objetivos.
Os desafios para a Mineração de Dados são muitos, isso devi-
do à enorme disparidade entre os problemas e tipos de dados coletados. 
A recomendação de um produto difere de uma aplicação para detecção 
de intrusão, mesmo no nível do formato dos dados de entrada ou na de-
finição dos problemas. Até quando há relação entre os problemas, exis-
tem diferenças muito significativas. Porém, mesmo com todas essas 
diferenças, as aplicações para mineração de dados são conectadas a 
pelo menos um dos quatro problemas básicos da mineração de dados:
14
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
• Mineração por padrões de associação.
• Clustering.
• Classificação e detecção de outlier1.
Esses são tópicos importantes por serem utilizados como “blo-
cos de construção” na maioria dos aplicativos, criando uma abstração 
necessária para conceituar e estruturar os campos de Mineração de Da-
dos mais eficientemente. Podemos trabalhar com diferentes tipos e for-
matos de dados: quantitativos (peso, por exemplo), categóricos (raça, 
por exemplo), texto, espacial temporal ou orientado a gráfico. Mesmo 
sendo a forma multidimensional a mais comum, um número crescente 
tende a ser de tipos mais complexos.
O processo de Mineração de Dados
O processo de Mineração de Dados é constituído por muitas 
fases que incluem: a “limpeza” dos dados, extração de recursos e dese-
nho algorítmico. Uma aplicação típica para mineração de dados apre-
senta as seguintes fases:
• Coleta de dados: a coleta de dados pode exigir o uso de har-
dware especializado, como uma rede de sensores, trabalho manual, 
como a coleta de pesquisas com usuários ou ferramentas de software, 
como um mecanismo de rastreamento de documentos da Web para 
coletar documentos. Embora esse estágio seja altamente específico do 
aplicativo e, geralmente, esteja fora do domínio do analista de minera-
ção de dados, é extremamente importante porque boas escolhas nesse 
estágio podem afetar significativamente o processo de mineração de 
dados. Após a fase de coleta, os dados, geralmente, são armazenados 
em um banco de dados ou, mais geralmente, em um data warehouse 
para processamento.
• Extração de recursos e limpeza de dados: quando os dados 
são coletados, eles, geralmente, não estão em um formato adequado 
para processamento. Por exemplo, os dados podem ser codificados 
em logs complexos ou documentos de formato livre. Em muitos casos, 
diferentes tipos de dados podem ser arbitrariamente misturados em 
um documento de formato livre. Para tornar os dados adequados para 
processamento, é essencial transformá-los em um formato amigável 
aos algoritmos de mineração de dados, como formato multidimensional, 
de série temporal ou semiestruturado. O formato multidimensional é 
o mais comum, no qual diferentes campos dos dados correspondem 
às diferentes propriedades medidas que são chamadas de recursos, 
atributos ou dimensões. É crucial extrair recursos relevantes para o 
1 Ponto fora da curva
15
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
processo de mineração. A fase de extração de recursos, geralmente, é 
realizada em paralelo com a limpeza de dados, onde partes ausentes e 
incorretas dos dados são estimadas ou corrigidas. Em muitos casos, os 
dados podem ser extraídos de várias fontes e precisam ser integrados 
em um formato unificado para processamento. O resultado final desse 
procedimento é um conjunto de dados bem estruturado, que pode ser 
efetivamente usado por um programa de computador. Após a fase de 
extração do recurso, os dados podem ser armazenados novamente em 
um banco de dados para processamento.
• Processamento analítico e algoritmos: A parte final do pro-
cesso de mineração é projetar métodos analíticos eficazes a partir dos 
dados processados.
Em muitos casos, pode não ser possível usar diretamente um 
problema padrão de mineração de dados, como os quatro “superproble-
mas” para o aplicativo em questão. No entanto, esses quatro problemas 
têm uma cobertura tão ampla que muitos aplicativos podem ser dividi-
dos em componentes que usam esses diferentes blocos de construção.
O pré-processamento de dados
O pré-processamento de dados é, provavelmente, a parte mais 
importante no processo de mineração de dados. Contudo, quase nunca 
é explorado na profundidade que merece, porque muitos dão impor-
tânciamaior nos aspectos analíticos da mineração de dados. Inicia-se 
após a coleta dos dados e segue as seguintes etapas:
1. Extração de recursos: Um analista, geralmente, utiliza-se 
de um grande volume de documentos brutos, logs do sistema ou tran-
sações comerciais, sem muitas informações sobre como esses dados 
brutos devem ser convertidos em recursos consistentes para o banco 
de dados de processamento. Nesta fase, há presença do analista, pois 
nem sempre é possível para uma aplicação de data mining a abstra-
ção correta dos dados. Por exemplo, em um aplicativo de detecção de 
fraude com cartão de crédito, o valor de uma cobrança, a frequência 
de repetição e o local, geralmente, são bons indicadores de fraude. No 
entanto, muitos outros recursos podem ser indicadores mais fracos de 
fraude. Portanto, extrair os recursos certos, geralmente, é uma habili-
dade que requer uma compreensão do domínio de aplicação específico 
em questão.
2. Limpeza de dados: Fase que visa à correção dos dados 
brutos, eliminando entradas incorretas ou ausentes, muitas vezes, re-
mover totalmente um registro inconsistente, ou realizar estimativas de 
entradas ausentes.
16
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
3. Seleção e transformação de recursos: para dados de alta 
dimensão, muitos algoritmos de mineração de dados não funcionam 
eficazmente. E também, muitos dos recursos de alta dimensão podem 
gerar “ruído”, adicionando erros ao processo de mineração de dados. 
Assim sendo, uma vasta gama de métodos pode ser utilizada para re-
mover recursos irrelevantes ou transformar o conjunto atual de recursos 
em um novo espaço de dados mais acessível para análise.
Os tipos básicos de dados 
Na mineração de dados, é grande a variedade de tipos de da-
dos disponíveis para análise. São dois os tipos de dados de complexi-
dade variável para o processo de mineração de dados:
• Dados orientados à não-dependência: normalmente, são os 
tipos de dados simples, como dados multidimensionais ou dados de 
texto. São os mais simples e mais comuns. Em casos como esses, os 
registros de dados não possuem dependências especificadas entre os 
itens de dados ou os atributos. Um exemplo é um conjunto de registros 
demográficos sobre indivíduos que contêm idade, sexo e código postal.
• Dados orientados a dependências: para esses, podem exis-
tir relacionamentos implícitos ou explícitos entre os itens de dados. Por 
exemplo, um conjunto de dados de redes sociais contém um conjunto 
de vértices (itens de dados) que são conectados juntos por um conjunto 
de arestas (relacionamentos). Por outro lado, as séries temporais con-
têm dependências implícitas. Por exemplo, é provável que dois valores 
sucessivos coletados de um sensor estejam relacionados um ao outro. 
Portanto, o atributo “tempo” especifica implicitamente uma dependência 
entre leituras sucessivas.
Quadro 1- Conjunto de dados multidimensional
Nome Idade Sexo Nacionalidade
Ana Maria 35 F Brasileira
Pedro Augusto 27 M Paraguaio
Marina Marques 18 F Brasileira
Yasmin Marques 15 F Árabe
Júlio Cintra 58 M Macedônio
Fonte: Elaborada pelo autor, 2020.
• Dados orientados a não dependência: Possuem, normal-
mente, um conjunto de REGISTROS, onde cada registro contém um 
conjunto de CAMPOS, que descrevem as PROPRIEDADES do regis-
17
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
tro. Bancos de dados relacionais são projetados para manipular esse 
tipo de dado. No quadro 1 acima, temos um conjunto de dados sobre 
um indivíduo.
• Dados multidimensionais quantitativos: No quadro 1 apre-
sentado acima, no campo “idade”, os valores são numéricos, também 
referenciados como contínuos, numéricos ou quantitativos. Para o pro-
cessamento analítico, esse tipo é o mais fácil para trabalhar sob a pers-
pectiva estatística, pois podemos, por exemplo, utilizar uma média sim-
ples desses valores.
• Dados de atributos categóricos e mistos: Conjuntos de da-
dos que podem conter atributos que assumem valores não ordenados. 
No quadro 1 acima, por exemplo, os atributos sexo e idade possuem 
valores discretos, sem uma ordem natural entre eles. Denominamos 
de “dados de atributos mistos” a combinação de atributos categóricos 
e numéricos, como os do quadro 1. O atributo “sexo” é categórico, com 
apenas dois valores possíveis, possibilitando, assim, impor uma ordem 
“artificial”, transformando esses atributos em binários, por exemplo.
• Dados binários: São um conjunto especial de dados multi-
dimensionais ou quantitativos multidimensionais, pois cada atributo só 
pode assumir no máximo dois valores discretos. É também um caso 
especial de dado quantitativo multidimensional, pois existe uma ordem 
entre esses dois possíveis valores.
• Dados de texto: Podem ser visualizados como uma sequên-
cia ou como dados multidimensionais, de acordo com a sua represen-
tação. Como texto bruto, são uma sequência, onde cada “string” é uma 
sequência de caracteres dentro do documento. Para representar esse 
tipo de dado, é utilizada uma representação do espaço vetorial, anali-
sando as frequências das palavras no documento. As frequências são 
normalizadas estatisticamente, usando bases como comprimento do 
documento ou frequência de palavras individuais do conjunto analisado.
Dados orientados a dependências
Falamos até agora no cenário multidimensional, onde os regis-
tros de dados podem ser tratados independentemente uns dos outros. 
Porém, na prática, os diferentes valores podem estar relacionados entre 
si de forma temporal, espacial ou através de links de relacionamento en-
tre os itens de dados. Com a mineração de dados trabalha encontrando 
relacionamentos entre itens de dados, as dependências preexistentes 
alteram os relacionamentos esperados nos dados. Assim sendo, veja-
mos os tipos de dependências:
• Dependências implícitas: dependências entre os itens de 
18
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
dados não são especificadas explicitamente, mas sabe-se que “tipica-
mente” existem nesse domínio. Um exemplo podem ser os valores con-
secutivos de temperatura coletados por um sensor que, provavelmente, 
podem ser muito semelhantes entre si. Então, se um valor da tempera-
tura registrado por um sensor em um tempo determinado é significati-
vamente diferente daquele registrado no instante seguinte, isso é muito 
incomum e pode ser interessante para o processo de mineração de 
dados. Isso é diferente dos conjuntos de dados multidimensionais em 
que cada registro de dados é tratado como uma entidade independente.
• Dependências explícitas: Referem-se a dados de gráficos 
ou de redes nos quais as arestas são usadas para especificar relacio-
namentos explícitos. Os gráficos são uma abstração muito poderosa 
que, geralmente, é usada como uma representação intermediária para 
resolver problemas de mineração de dados no contexto de outros tipos 
de dados.
Dados de séries temporais
São aqueles gerados por medição contínua ao longo do tem-
po, por exemplo, temperatura e batimentos cardíacos. Normalmente, 
possuem dependências implícitas nos valores recebidos durante esse 
tempo, no caso da medição de temperaturas, por exemplo, elas, geral-
mente, variam, mesmo que discretamente, sendo esse um fator a ser 
utilizado de forma explícita no processo de mineração de dados. Para 
formalizar a questão das dependências causadas pela correlação tem-
poral, os atributos são classificados em dois tipos:
• Atributos contextuais: definem o contexto com base no qual 
as dependências implícitas ocorrem nos dados.
• Atributos comportamentais: representam os valores que 
são medidos em um contexto específico.
Como podemos ver até aqui, a mineração de dados é compos-
ta por vários estágios, onde a coleta de dados é apenas o primeiro de-
les. É importante que se entenda que os diferentes formatosde dados 
podem exigir diferentes algoritmos e o analista deve saber mapear o 
aplicativo correto para os diferentes cenários ou mesmo construir novos 
algoritmos.
REPRESENTAÇÃO DO CONHECIMENTO
Quando falamos em representação do conhecimento, imedia-
tamente remetemos aos estudos e conceitos de Inteligência Artificial 
19
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
(IA), pois tem toda uma relevância para como os sistemas de IA “pen-
sam” e realizam seu “comportamento inteligente”. A representação do 
conhecimento é um campo de estudos da inteligência artificial cujo prin-
cipal objetivo é apresentar informações do mundo real de uma maneira 
que os computadores (cérebros eletrônicos) possam “entender” e utili-
zar para resolver problemas e tarefas da vida real. 
Fazer as máquinas raciocinarem, compreenderem e interpre-
tarem e agirem como os seres humanos faz parte da representação do 
conhecimento, sendo tudo isso relacionado com a capacidade de pro-
jetar e criar “agentes” que possam realizar essas tarefas. Resumindo, a 
representação do conhecimento deve permitir que as máquinas se com-
portem como os seres humanos, coletando informações, interpretando 
essas informações e aprendendo com as informações.
Tipos fundamentais de representação do conhecimento
O conhecimento em IA pode ser representado de maneiras 
diferentes, dependendo de sua estrutura, perspectiva do projetista ou 
ainda da estrutura interna utilizada. Para que essa representação do 
conhecimento seja eficaz, deve-se incluir de forma completa o conheci-
mento necessário para a resolução do problema.
1. Representação lógica
Tanto o conhecimento quanto o raciocínio lógico são de grande 
importância para a IA. Porém, na maioria das vezes, é necessário mais 
do que métodos gerais para garantir um comportamento inteligente. 
Nesse caso, a ferramenta mais útil é a lógica formal, por ser uma lingua-
gem com representação inequívoca e que utiliza regras concretas. Para 
a representação do conhecimento, é muito mais importante o método 
de lógica utilizado para entender e decodificar o conhecimento do que 
a própria lógica.
Através da representação lógica é possível estabelecer certas 
regras de comunicação importantes para fornecer e adquiri informações 
de agentes, com o mínimo de erros. As diferentes regras de lógica per-
mitem que sejam representadas coisas diferentes, obtendo como resul-
ta em uma inferência mais eficiente. Esse conhecimento adquirido por 
agentes lógicos é definido como verdadeiro ou falso. Mesmo com todos 
os desafios de se trabalhar com a representação lógica, ela é a base 
para as linguagens de programação e construção do raciocínio lógico.
2. Redes semânticas
Nesse tipo de representação, o conhecimento é armazena-
do em forma de uma rede gráfica, com nós (nodes) e arcos (arcs) re-
presentando os objetos e seus relacionamentos, podendo representar 
20
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
objetos físicos, conceito ou situações. A implementação desse tipo de 
representação é muito mais fácil de se implementar e também entender 
por ser mais natural do que a representação lógica, por exemplo.
3. Representação por frame
Um frame (quadro) é constituído por uma coleção de atributos 
com seus valores associados descrevendo uma entidade real. Asseme-
lha-se a um registro consistindo em slots e seus valores, onde os slots 
podem ser de tamanhos e tipos variados, possuindo nomes e valores. É 
possível também que os slots possuam subcampos denominados como 
“facetas”, permitindo que sejam colocadas restrições nos frames.
Não existe limite ou restrição nos valores das facetas de um 
slot, ou mesmo no número de facetas pertencentes a um slot, e tam-
bém no número de slots que um quadro pode possuir. Para uma maior 
eficiência é recomendada a construção de um sistema de quadros, que 
coletam quadros conectados uns aos outros, podendo ser utilizado em 
várias aplicações de IA.
ALGORITMOS
Para a mineração de dados, um algoritmo é constituído por 
um conjunto de cálculos e heurística que formam um modelo baseado 
nos dados pesquisados. Para a criação desse modelo, os dados são 
analisados em busca de padrões e tendências específicas, onde o re-
sultado dessas análises define os parâmetros para criação do modelo 
de mineração.
Modelos de regressão linear e não linear
Os modelos de regressão capturam como uma ou mais variá-
veis de destino variam com uma ou mais variáveis de atributo. Eles po-
dem ser usados para prever os valores das variáveis de destino usando 
os valores das variáveis de atributo.
Modelos de regressão linear
Um modelo de regressão linear simples, como mostrado a se-
guir, tem uma variável de destino y e uma variável de atributo x:
yi = β0 + β1xi + εi
Onde
(xi, yi) denota a i-ésima observação de x e y εi representa ruído 
aleatório (por exemplo, erro de medição) contribuindo para a i-ésima 
observação de y.
21
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Para um determinado valor de xi, tanto yi quanto εi são variáveis 
aleatórias onde, para o mesmo valor de x, diferentes valores de y e ε 
podem ser observados em momentos diferentes. Existem três suposi-
ções sobre εi:
1. E(εi) = 0, ou seja, a média de εi é zero
2. var(εi) = σ2, ou seja, a variância de εi é σ2
3. cov(εi, εj) = 0 para i≠j, ou seja, a covariância de εi e εj para 
quaisquer duas observações de dados diferentes, a iésima observação 
e a j-ésima observação, é zero.
Modelos de regressão não linear e estimativa de parâmetros
Os modelos de regressão não lineares são não lineares nos 
parâmetros do modelo e assumem a seguinte forma geral:
Onde
E f é não linear em β. O modelo de regressão exponencial for-
necido a seguir é um exemplo de modelos de regressão não linear:
O modelo de regressão logística dado a seguir é outro exemplo 
de modelos de regressão não linear:
O método dos mínimos quadrados e o método da máxima ve-
rossimilhança são usados para estimar os parâmetros de um modelo 
de regressão não linear. Ao contrário das equações para um modelo de 
regressão linear, as equações para um modelo de regressão não linear, 
geralmente, não têm soluções analíticas, porque um modelo de regres-
são não linear é não linear nos parâmetros. Métodos de pesquisa numé-
rica usando um procedimento de pesquisa iterativa, como o método de 
Gauss-Newton e o método de pesquisa decrescente de gradiente, são 
𝑦𝑦𝑖𝑖 = 𝑓𝑓(𝑥𝑥𝑖𝑖 ,𝛽𝛽) + 𝜀𝜀𝑖𝑖 
𝑥𝑥𝑖𝑖 = �
1
𝑥𝑥𝑖𝑖 ,1…
𝑥𝑥𝑖𝑖 ,𝑝𝑝
� 𝛽𝛽 = �
𝛽𝛽0
𝛽𝛽1…
𝛽𝛽𝑝𝑝
� 
𝑦𝑦𝑖𝑖 = 𝛽𝛽0 + 𝛽𝛽
1𝑒𝑒𝛽𝛽2𝑥𝑥𝑖𝑖
+ 𝜀𝜀𝑖𝑖 
𝑦𝑦𝑖𝑖 =
𝛽𝛽0
1 + 𝛽𝛽
1𝑒𝑒𝛽𝛽2𝑥𝑥𝑖𝑖
+ 𝜀𝜀𝑖𝑖 . 
22
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
usados para determinar a solução para os valores dos parâmetros es-
timados. Os programas de computador em muitos pacotes de software 
estatístico são, geralmente, usados para estimar os parâmetros de um 
modelo de regressão não linear, porque a computação intensiva está 
envolvida em um procedimento de pesquisa numérica.
Classificação Naïve Bayes
Teorema de Bayes
Dados dois eventos A e B, a conjunção (^) dos dois eventos 
representa a ocorrência de A e B. A probabilidade, P (A ^ B) é calculada 
usando a probabilidade de A e B, P (A) e P (B), e a probabilidade condi-
cional de A dado B, P (A | B), ou B dado A, P (B | A):
O Teorema de Bayes deriva da equação:
Classificação baseada no Teorema de Bayes e na Classificação 
Naïve Bayes
Para um vetor de dados x cuja classe alvo y precisa ser deter-
minada, a classificação a posterior (MAP) máxima y de x é:
Onde Y é o conjunto de todas as classes de destino. O sinal ≈ 
não é usado porque P(x) é o mesmo para todos os valores y e, portanto, 
pode ser ignorado quando comparamos p(y)P(x | y) P(x) para todos os 
valores y. P (x) é a probabilidade anterior de observarmos x sem nenhum 
conhecimento sobre qual é a classe-alvo de x. P(y) é a probabilidade 
anterior de que esperamos y, refletindo nosso conhecimento prévio so-
bre o conjunto de dados de x é a probabilidade da classe de destino y 
no conjunto de dados sem referência a nenhum x específico. P(y | x) é a 
probabilidade posterior de y dada a observação de x. x) 
compara as probabilidades posteriores de todas as classes-alvo dadas 
x e escolhe a classe-alvo y com a probabilidade posterior máxima.
𝑃𝑃(𝐴𝐴 ∧ 𝐵𝐵) = 𝑃𝑃(𝐴𝐴|𝐵𝐵)𝑃𝑃(𝐵𝐵) = 𝑃𝑃(𝐵𝐵|𝐴𝐴)𝑃𝑃(𝐴𝐴). 
𝑃𝑃(𝐴𝐴|𝐵𝐵) =
𝑃𝑃(𝐵𝐵|𝐴𝐴)𝑃𝑃(𝐴𝐴)
𝑃𝑃(𝐵𝐵)
 
𝑦𝑦𝑦𝑦𝐴𝐴𝑃𝑃 = 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦𝑒𝑒𝑦𝑦𝑃𝑃(𝑦𝑦|𝑥𝑥) = 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦𝑒𝑒𝑦𝑦
𝑝𝑝(𝑦𝑦)𝑃𝑃(𝑥𝑥|𝑦𝑦)
𝑃𝑃(𝑥𝑥)
≈ 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦𝑒𝑒𝑦𝑦𝑝𝑝(𝑦𝑦)𝑃𝑃(𝑥𝑥|𝑦𝑦), 
𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦𝑒𝑒𝑦𝑦𝑃𝑃(𝑦𝑦|𝑥𝑥) 
23
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
P(x|y) é a probabilidade de observarmos x se a classe de des-
tino for y. Uma classificação y que maximiza P(x|y) entre todas as clas-
ses-alvo é a classificação de máxima verossimilhança (MV):
Se 
Assim sendo: 
Um classificador Naïve Bayes é baseado em uma classificação 
MAP com a suposição adicional sobre as variáveis de atributo x = (x1, 
…, xp) de que essas variáveis de atributo xis são independentes umas 
das outras. Com essa suposição, temos
O classificador Naïve Bayes estima os termos de probabilidade 
na equação anterior da seguinte maneira:
Onde:
n é o número total de pontos de dados no conjunto de dados 
de treinamento
ny é o número de pontos de dados com a classe de destino 
yny&xi é o número de pontos de dados com a classe de destino y a i-é-
sima variável de atributo tomando o valor de xi.
Árvores de decisão e regressão
Árvores de decisão são uma metodologia de classificação, 
em que o processo de classificação é modelado com a utilização de 
um conjunto de decisões hierárquicas sobre as variáveis de recursos, 
dispostas em uma estrutura em árvore. A decisão em um nó específico 
da árvore, que é referido como o critério de divisão, é, normalmente, 
uma condição em uma ou mais variáveis de recurso nos dados de trei-
namento. O critério de divisão divide os dados de treinamento em duas 
ou mais partes.
𝑦𝑦𝑦𝑦𝑦𝑦 = 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦𝑒𝑒𝑦𝑦𝑃𝑃(𝑥𝑥|𝑦𝑦). 
𝑃𝑃(𝑦𝑦) = 𝑃𝑃(𝑦𝑦′)𝑝𝑝𝑎𝑎𝑎𝑎𝑎𝑎 𝑞𝑞𝑞𝑞𝑎𝑎𝑞𝑞𝑞𝑞𝑞𝑞𝑒𝑒 𝑦𝑦 ≠ 𝑦𝑦′ ,𝑦𝑦 ∈ 𝑦𝑦,𝑦𝑦′ ∈ 𝑦𝑦, 𝑒𝑒𝑒𝑒𝑒𝑒ã𝑜𝑜 
𝑦𝑦𝑦𝑦𝐴𝐴𝑃𝑃 ≈ 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦 ∈ 𝑦𝑦𝑝𝑝(𝑦𝑦)𝑃𝑃(𝑥𝑥|𝑦𝑦) ≈ 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦 ∈ 𝑦𝑦𝑃𝑃(𝑥𝑥|𝑦𝑦) 
𝑦𝑦𝑦𝑦𝐴𝐴𝑃𝑃 = 𝑦𝑦𝑦𝑦𝑦𝑦 
𝑦𝑦𝑦𝑦𝐴𝐴𝑃𝑃 ≈ 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦 ∈ 𝑦𝑦𝑝𝑝(𝑦𝑦)𝑃𝑃(𝑥𝑥|𝑦𝑦) = 𝑎𝑎𝑎𝑎𝑎𝑎
𝑚𝑚𝑎𝑎𝑥𝑥
𝑦𝑦 ∈ 𝑦𝑦𝑝𝑝(𝑦𝑦)�𝑃𝑃(𝑥𝑥𝑖𝑖|𝑦𝑦).
𝑝𝑝
𝑖𝑖=1
 
𝑃𝑃(𝑦𝑦) =
𝑒𝑒𝑦𝑦
𝑒𝑒
 
𝑃𝑃(𝑥𝑥𝑖𝑖 |𝑦𝑦) =
𝑒𝑒𝑦𝑦&𝑥𝑥𝑖𝑖
𝑒𝑒𝑦𝑦
 
24
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
As árvores de decisão e regressão são usadas para aprender 
os padrões de classificação e predição dos dados e expressar a rela-
ção e atributo das variáveis x com uma variável de destino y, y = F(x), 
na forma de uma árvore. Uma árvore de decisão classifica o valor de 
destino categórico de um registro de dados usando seus valores de 
atributo. Uma árvore de regressão prevê o valor de destino numérico de 
um registro de dados usando seus valores de atributo.
Métodos de seleção de divisão
Com o objetivo de buscar uma árvore de decisão com o com-
primento mínimo de descrição, precisamos saber como dividir um nó 
para que possamos atingir o objetivo de obter a árvore de decisão com 
o comprimento mínimo de descrição.
Uma abordagem comum de seleção de divisão é selecionar a 
divisão que produz os subconjuntos mais homogêneos. Um conjunto 
de dados homogêneo é um conjunto de dados cujos registros de dados 
têm o mesmo valor de destino. Existem várias medidas de homogenei-
dade de dados: entropia da informação, índice de gini, etc. A entropia da 
informação é originalmente introduzida para medir o número de bits de 
informação necessário para codificar os dados.
O objetivo do critério de divisão é maximizar a separação das 
diferentes classes entre os nós filhos. A seguir, apenas critérios uni-
variados serão discutidos. Suponha que um critério de qualidade para 
avaliar uma divisão esteja disponível. O design do critério de divisão 
depende da natureza do atributo subjacente:
1. Atributo binário: Apenas um tipo de divisão é possível e 
a árvore é sempre binária. Cada ramo corresponde a um dos valores 
binários.
2. Atributo categórico: Se um atributo categórico tiver r valo-
res diferentes, há várias maneiras de dividi-lo. Uma possibilidade é usar 
uma divisão r-way, na qual cada ramificação da divisão corresponde a 
um valor de atributo específico. A outra possibilidade é usar uma divisão 
binária testando cada uma das 2r-1 combinações (ou agrupamentos) de 
atributos categóricos e selecionando o melhor. Obviamente, essa não é 
uma opção viável quando o valor de r é grande.
3. Atributo numérico: Se o atributo numérico contém um pe-
queno número r de valores ordenados (por exemplo, inteiros em um 
pequeno intervalo [1, r]), é possível criar uma divisão de r way para 
cada valor distinto. No entanto, para atributos numéricos contínuos, a 
divisão é normalmente realizada usando uma condição binária, como 
x ≤ a, para valor de atributo x e constante a. Considere o caso em que 
25
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
um nó contém m pontos de dados. Portanto, há m possíveis pontos de 
divisão para o atributo e os valores correspondentes de a podem ser de-
terminados classificando os dados no nó ao longo desse atributo. Uma 
possibilidade é testar todos os valores possíveis de a para uma divisão 
e selecionar o melhor. Uma alternativa mais rápida é testar apenas um 
conjunto menor de possibilidades para a, com base na divisão de pro-
fundidade igual do intervalo.
Muitos dos métodos mencionados requerem a determinação 
da “melhor” divisão de um conjunto de escolhas. Especificamente, é 
necessário escolher entre vários atributos e entre as várias alternativas 
disponíveis para dividir cada atributo. Portanto, as quantificações de 
qualidade dividida são necessárias.
• Taxa de erro: Seja p a fração das instâncias em um conjunto 
de pontos de dados S pertencentes à classe dominante. Então, a taxa 
de erro é simplesmente 1 − p. Para uma divisão r-way do conjunto S em 
conjuntos S1. . . Sr, a taxa de erro geral da divisão pode ser quantificada 
como a média ponderada das taxas de erro dos conjuntos individuais Si, 
onde o peso de Si é | Si |. A divisão com a menor taxa de erro é selecio-
nada entre as alternativas.
• Índice de Gini: O índice de Gini G(S) para um conjunto S de 
pontos de dados pode ser calculado de acordo com a equação a abaixo 
na distribuição de classe p1. . . pk dos pontos de dados de treinamento 
em S.
O índice Gini geral para uma divisão r-way do conjunto S em 
conjuntos S1. . . Sr pode ser quantificado como a média ponderada dos 
valores do índice Gini G (Si) de cada Si, onde o peso de Si corresponde 
a |Si|.
A divisão com o índice Gini mais baixo é selecionada entre as 
alternativas. O algoritmo CART usa o índice de Gini como critério de 
divisão.
1. Entropia: A medida de entropia é usada em um dos algo-
ritmos de classificação mais antigos, conhecido como ID3. A entropia 
E(S) para um conjunto S pode ser calculada de acordo com a equação 
a seguir na distribuição de classe p1. . . pk dos pontos de dados de trei-
namento no nó.
𝐺𝐺(𝑣𝑣𝑖𝑖) = 1 −�𝑝𝑝𝑗𝑗2.
𝑘𝑘
𝑗𝑗=𝑖𝑖
 
𝐺𝐺𝑖𝑖𝑒𝑒𝑖𝑖 − 𝑆𝑆𝑝𝑝𝑞𝑞𝑖𝑖𝑒𝑒(𝑆𝑆⇒ 𝑆𝑆𝑖𝑖 … 𝑆𝑆𝑎𝑎) = �
|𝑆𝑆𝑖𝑖|
|𝑆𝑆|
𝐺𝐺(𝑆𝑆𝑖𝑖)
𝑎𝑎
𝑖𝑖=1
 
26
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Classificadores baseados em regras
Classificadores baseados em regras usam um conjunto de re-
gras “se – então” R = {R1. . . Rm} para combinar antecedentes com con-
sequentes. Uma regra é normalmente expressa da seguinte forma:
SE Condição ENTÃO Conclusão.
A condição no lado esquerdo da regra, também chamada de 
antecedente, pode conter uma variedade de operadores lógicos, como 
<, ≤,>, =, ⊆ ou ∈, que são aplicados às variáveis de recurso. O lado 
direito da regra é conhecido como consequente e contém a variável 
de classe. Portanto, uma regra Ri é da forma Qi ⇒ c, onde Qi é o ante-
cedente e c é a variável de classe. O símbolo “⇒” denota a condição 
“ENTÃO”.
A notação Qi representa uma pré-condição no conjunto de re-
cursos. Em alguns classificadores, como os classificadores de padrão 
de associação, o recondicionamento pode corresponder a um padrão 
no espaço de recursos, embora nem sempre seja o caso.
Em geral, a pré-condição pode ser qualquer condição arbitrária 
nas variáveis de recurso. Essas regras são então usadas para classifi-
car uma instância de teste. Diz-se que uma regra cobre uma instância 
de treinamento quando a condição em seu antecedente corresponde à 
instância de treinamento.
A fase de treinamento de um algoritmo baseado em regras cria 
um conjunto de regras. A fase de classificação para uma instância de 
teste descobre todas as regras que são acionadas pela instância de 
teste. Diz-se que uma regra é disparada pela instância de teste quando 
a condição lógica no antecedente é satisfeita pela instância de teste. 
Em alguns casos, regras com valores consequentes conflitantes são 
acionadas pela instância de teste. Nesses casos, os métodos são ne-
cessários para resolver os conflitos na previsão do rótulo da classe. 
Os conjuntos de regras podem satisfazer uma ou mais das seguintes 
propriedades:
1. Regras mutuamente exclusivas: Cada regra cobre uma 
partição separada dos dados. Portanto, no máximo uma regra pode ser 
disparada por uma instância de teste. As regras geradas a partir de 
uma árvore de decisão satisfazem essa propriedade. No entanto, se as 
regras extraídas forem subsequentemente modificadas para reduzir o 
𝐸𝐸(𝑆𝑆) = −�𝑝𝑝𝑗𝑗 𝑞𝑞𝑜𝑜𝑎𝑎2(𝑝𝑝𝑗𝑗 )
𝑘𝑘
𝑗𝑗=1
 
27
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
sobre ajuste, as regras resultantes podem não mais permanecer mu-
tuamente exclusivas.
2. Regras exaustivas: Todo o espaço de dados é coberto por 
pelo menos uma regra. Portanto, cada instância de teste aciona pelo 
menos uma regra. As regras geradas a partir de uma árvore de decisão 
também satisfazem esta propriedade. Geralmente, é fácil construir um 
conjunto de regras exaustivo criando uma única regra pega-tudo cujo 
consequente contém a classe dominante na parte dos dados de treina-
mento não coberta por outras regras.
Datawarehouse é como denominamos os “depósitos de dados” 
que utilizamos para armazenar enormes quantidades de dados.
Big Data é a expressão em inglês que designa uma quantidade 
exorbitante de dados, não estruturados, produzidos no mundo atual. 
Extrair informações relevantes desses dados é o papel do Cientista de 
Dados, utilizando-se de técnicas de mineração de dados.
Filme sobre o assunto: O Homem que Mudou o Jogo. “O Ho-
mem que Mudou o Jogo”, longa de Bennett Miller estrelado por Brad 
Pitt. Lançado em 2011. Esse filme conta a história de um gerente de 
time de baseball que, com a ajuda de economista, utilizou a análise de 
dados para escalar e adquirir jogadores, sempre baseado no desempe-
nho de cada um durante as partidas da temporada.
Observação: Sobre a temática, é importante que o aluno note 
a relevância do assunto dentro do seu campo de atuação.
28
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Alguns softwares que valem a pena ser estudados quando 
se trata de trabalhar com Big Data e Data Mining:
- Weka
Disponível em: <https://www.cs.waikato.ac.nz/ml/weka/>.
- IBM SPSS Estatistics: 
Disponível em: <https://www.ibm.com/products/spss-statistics>.
- Intelligent Miner Visualizer:
Disponível em: <https://www.ibm.com/support/knowledgecen-
ter/en/SSEPGG_10.5.0/com.ibm.im.overview.doc/c_ibm_db2_intelli-
gent_miner_visualization.html>.
29
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
QUESTÕES DE CONCURSOS
QUESTÃO 1
Ano: 2020 Banca: IBADE Órgão: Pref Vila Velha Prova: Analista 
O processo de explorar grandes quantidades de dados à procura 
de padrões consistentes, para detectar relacionamentos sistemáti-
cos entre variáveis, detectando assim novos subconjuntos de da-
dos é chamado de:
a) Data Lake.
b) Big Data.
c) Data Query.
d) Data Warehouse.
e) Data Mining.
QUESTÃO 2
Ano: 2019 Banca: NC-UFPR Órgão: ITAIPU Prova: Profissional Ní-
vel Universitário Jr 
Castro e Ferrari (2016) ilustram na figura abaixo o processo de des-
coberta de conhecimento em base de dados, conforme segue:
Sobre essas etapas, considere as seguintes tarefas:
1. Limpeza: para padronização dos dados.
2. Integração: para inserção de valores ausentes.
3. Transformação: para correção de inconsistências.
4. Redução: para reduzir a dimensão da base de dados.
É/São tarefa(s) de pré-processamento:
a) 3 apenas.
b) 4 apenas.
c) 1 e 3 apenas.
d) 2 e 4 apenas.
e) 1, 2 e 4 apenas.
30
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
QUESTÃO 3
Ano: 2019 Banca: NC-UFPR Órgão: ITAIPU Prova: Profissional Ní-
vel Universitário Jr 
Castro e Ferrari (2016) mencionam que as funcionalidades da mi-
neração de dados são utilizadas para especificar os tipos de in-
formação a serem obtidos nas tarefas de mineração. Sobre esse 
tema, considere as seguintes funcionalidades:
1. Análise de grupos: tarefa supervisionada que separa um conjun-
to de objetos em grupos.
2. Classificação: tarefa supervisionada para predição de valores 
discretos.
3. Regressão (ou estimação): tarefa supervisionada para predição 
de valores contínuos.
4. Associação: tarefa que descobre relações entre atributos por 
meio da detecção de anomalias nos conjuntos de dados.
É/São funcionalidade(s) da etapa de mineração:
a) 1 apenas.
b) 2 apenas.
c) 1 e 4 apenas.
d) 2 e 3 apenas.
e) 3 e 4 apenas.
QUESTÃO 4
Ano: 2019 Banca: NC-UFPR Órgão: ITAIPU Prova: Profissional Ní-
vel Universitário Jr 
Os algoritmos de Mineração de Dados podem ser classificados 
quanto a seus objetivos, sendo alguns a classificação, o agrupa-
mento e a identificação de regras de associação. A respeito dessas 
classificações e seus algoritmos, assinale a alternativa correta.
a) Algoritmos de agrupamento podem ser utilizados para classificação 
não supervisionada.
b) Algoritmos de agrupamento são também chamados de algoritmos 
supervisionados.
c) Algoritmos de classificação têm como resultado um modelo descritivo 
dos dados de entrada.
d) Algoritmos de identificação de regras são também conhecidos como 
algoritmos preditivos.
e) Algoritmos de agrupamento são equivalentes a algoritmos de identi-
ficação de anomalias.
31
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
QUESTÃO 5
Ano: 2019 Banca: NC-UFPR Órgão: ITAIPU Prova: Profissional Ní-
vel Universitário Jr 
Em sistemas de Recuperação de Informação, quando a busca in-
clui documentos irrelevantes e exclui documentos relevantes, res-
pectivamente, esses fenômenos são chamados de:
a) Falso-positivo e verdadeiro-positivo.
b) Falso-positivo e falso-negativo.
c) Falso-negativo e falso-positivo.
d) Verdadeiro-negativo e falso-positivo.
e) Falso-negativo e verdadeiro-negativo.
QUESTÃO DISSERTATIVA– DISSERTANDO A UNIDADE
O que é mineração de dados? Na sua resposta, aborde os seguintes 
tópicos:
a) É uma simples transformação de tecnologia desenvolvida a partir de 
bancos de dados, estatísticas e aprendizado de máquina?
b) Explique como a evolução da tecnologia de banco de dados levou à 
mineração de dados.
c) Descreva as etapas envolvidas na mineração de dados quando vistas 
como um processo de descoberta de conhecimento.
TREINO INÉDITO
Atualmente, é grande a necessidade de disponibilizar aos gestores e 
responsáveis por tomadas de decisão, aqueles que são responsáveis 
em diferentes níveis organizacionais pelas ações dentro de uma empre-
sa, informações detalhadas de forma precisa para que sejam tomadas 
as decisões corretas. Em se tratando do uso de Datawarehouse, arma-
zéns de dados, essa funcionalidade é garantida utilizando-se de:
a) Um banco de dados otimizado.
b) OLAP e data mining.
c) Data marts.
d) Esquema snowflake.
e) Apresentação drill-down.
NA MÍDIA
Data mining: conheça 14 aplicações muito úteis para você!
A data mining é usada, principalmente, hoje, por empresas com um forte 
foco no consumidor – organizações de varejo, financeiras, comunicação 
32
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
e marketing, para “detalhar” seus dados transacionais e determinar pre-
ços, preferências do cliente e posicionamento do produto, impacto nas 
vendas, satisfação do cliente e lucros corporativos. Com a data mining, 
um varejista pode usar registros de pontos de vendas de compras de 
clientes para desenvolver produtos e promoções para atrair segmentos 
específicos de clientes. Vejamos aqui outras 14 áreas importantes onde 
a Data Mining é amplamente utilizada.
Fonte: FM2S - Educação e Consultoria
Data: 24 de outubro de 2018
Leia a notícia na íntegra: https://www.fm2s.com.br/data-mining/
NA PRÁTICA
Análise de Tipos de Questões em Avaliações para Cursos Superiores 
(Graduação)
No Brasil, as universidades e cursos superiores em geral seguem pa-
drões estabelecidos pelo MEC para elaboração de questões de provas. 
Algumas dessas questões são classificadas como: resposta única, des-
critiva, cálculo, foco negativo lacuna, associação, entre outras mais. Es-
ses modelos são utilizados nas avaliações de final de curso, o chamado 
ENADE, onde os alunos que estão concluindo seu curso executam uma 
prova elaborada pelo próprio MEC. Assim sendo, os responsáveis pela 
elaboração e execução das provas em uma universidade precisam de 
saber exatamente que tipos de questões estão sendo mais utilizadas 
na elaboração por seus professores, quais os menos utilizados e os 
que não são utilizados nunca. Para tal, é importante que se analise as 
avaliações feitas ao longo dos anos, desde que os padrões de questões 
foram criados, para que se possa ter esse tipo de informação, de forma 
que seja possível equalizar os modelos de questões em uma mesma 
prova. Nesse caso, os responsáveis pela TI ou alguém que seja en-
carregado poderia aplicar as técnicas e ferramentas necessárias para 
coletar e analisar esses dados, utilizando-se da mineração de dados 
aplicada as avaliações.
Fonte: Do próprio autor.
PARA SABER MAIS
Título: What is Data Mining
Data de publicação: 23/10/2010
Fonte: https://www.youtube.com/watch?v=R-sGvh6tI04 Acesso em: 17 
de set. 2020.
33
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Título: WEKA. O ambiente de trabalho para aprendizado de máquina
Data de publicação: N/A
Fonte: https://www.cs.waikato.ac.nz/ml/weka/ Acesso em: 17 de set. 2020.
Título: Gestão do conhecimento usando data mining: estudo de caso na 
Universidade Federal de Lavras
Data de publicação: jun/2008
Fonte: https://www.scielo.br/scielo.php?script=sci_arttext&pid=S0034- 
76122008000300004&lng=pt&tlng=pt Acesso em: 17 de set. 2020.
Título: A tendência é integrar a mineração de dados com as redes sociais
Data de publicação: 10/11/2010
Fonte: http://epocanegocios.globo.com/Revista/Common/0,,EMI185 
111-1638200-A+TENDENCIA+E+INTEGRAR+A+MINERACAO+DE+-
DADOS+COM+AS+REDES+SOCIAIS.html Acesso em: 17 de set. 2020
34
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
BANCOS DE DADOS DISTRIBUÍDOS
Quando nos referimos a Banco de Dados Distribuído, estamos 
falando de denominados “dados de atributos mistos” à combinação de 
atributos categóricos e numéricos. Esse tipo de banco de dados não 
necessita estar no mesmo local, mas em vários, daí ser denominado de 
“distribuído”, e nem compartilhar os mesmos componentes. Esse tipo 
de sistema é utilizado para permitir o acesso por vários usuários ao 
mesmo tempo e em lugares geograficamente diferentes. Seu funciona-
mento para o usuário é transparente, ou seja, para o usuário é como se 
o sistema fosse único e local.
Dessa forma, podemos afirmar que um banco de dados distri-
buído é, na realidade, um conjunto de vários outros bancos de dados 
conectados entre si, geograficamente distribuídos, e que se comunicam 
através de um sistema de redes de computadores.
BANCO DE DADOS
NÃO CONVENCIONAIS
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
35
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Tipos de bancos de dados distribuídos
• Banco de dados homogêneo: tem essa denominação por 
armazenarem os dados em diferentes ambientes de forma homogênea. 
Todos os ambientes vão utilizar de maneira igual o sistema operacional, 
o sistema de gerenciamento de banco de dados e as estruturas de da-
dos usadas, tornando assim muito mais fácil seu gerenciamento. São 
dois os modelos para esse tipo de banco de dados:
- Autônomo: onde cada banco funciona independente, sen-
do integrado a outros através de aplicativos específicos para esse fim, 
atualizando seus dados através da passagem de mensagens.
- Não autônomo: que se utiliza de um Sistema de Gerencia-
mento de Banco de Dados, SGBD, central coordenando as atualizações 
entre os nós homogêneos.
• Banco de dados heterogêneo: nesse tipo de ambiente, os 
sistemas podem utilizar diferentes esquemas e aplicações o que pode 
incorrer em problemas na execução de consultas e transações. Esse 
modelo exige bastante do ambiente, pois as informações devem ser 
traduzidas para cada sistema diferente que necessitem se comunicar.
Vantagens de bancos de dados distribuídos
Muitos são os motivos para a utilização desse tipo de sistema. 
Vejamos alguns deles a seguir:
• Desenvolvimento de aplicativos é flexibilizado por causa da 
transparência na distribuição e controle de dados.
• Confiabilidade e disponibilidade. Com a distribuição em vá-
rios locais, o isolamento das falhas em um local evita que os outros se-
jam afetados, continuando, assim, a funcionar normalmente, pois ape-
nas no local de origem da falha os dados não poderiam ser acessados.
• Desempenho. Como um DBMS distribuído fragmenta o ban-
co de dados, mantendo os dados mais próximos de onde são mais ne-
cessários, isso reduz a contenção para serviços de CPU e dispositivos 
de E/S e, reduzindo, assim, os atrasos de acesso envolvidos em redes 
de longa distância. São mantidos bancos de dados menores em cada 
local através da distribuição do banco de dados maior e central, re-
sultando em consultas e transações locais, melhorando o desempenho 
substancialmente.
• Expansão Para um ambiente distribuído aumentar o sistema 
em termos de receber uma maior quantidade de dados, aumentando o 
banco ou incorporando uma maior quantidade de processadores fica 
muito mais fácil.
36
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Arquiteturas de banco de dados distribuídos
Cliente-servidor (duas camadas)
Arquitetura onde dois lados, cliente e servidor,são distintos. 
Componentes do sistema que compõem o lado do cliente são a inter-
face do usuário e os programas aplicativos, sendo o SQL a linguagem 
padrão para esse tipo de arquitetura. A funcionalidade de consulta e 
transação relacionada ao processamento de SQL permaneceu no lado 
do servidor. Aplicações em geral são executadas no lado do cliente, 
que, para se comunicar com o sistema de gerenciamento de banco de 
dados, no lado do servidor, utilizam uma conexão através do padrão 
Open Database Connectivity, OBC, que fornece uma interface de pro-
gramação de aplicativos (API), permitindo, assim, essa chamada.
Cliente-servidor (três camadas)
Utilizada principalmente para atuação em sistemas desenvolvi-
dos para a Web, possui as seguintes definições:
• Camada de apresentação (cliente): Fornece a interface do 
usuário e interage com o usuário. Os programas nessa camada apre-
sentam interfaces da Web ou formulários para o cliente a fim de interagir 
com o aplicativo. Os navegadores da Web são utilizados como interface 
base para as aplicações nesse ambiente. Essa camada trata da entra-
da, saída e navegação do usuário, aceitando comandos do usuário e 
exibindo as informações necessárias, geralmente na forma de páginas 
da Web estáticas ou dinâmicas. As interfaces Web realizam a comuni-
cação com os aplicativos através do protocolo HTTP.
• Camada de aplicativo (regras de negócio): Esta camada 
programa a lógica do aplicativo. Por exemplo, as consultas podem ser 
formuladas com base na entrada do usuário do cliente, ou os resultados 
da consulta podem ser formatados e enviados ao cliente para apre-
sentação. Funcionalidades adicionais do aplicativo podem ser tratadas 
nesta camada, como verificações de segurança, verificação de identida-
de e outras funções. A camada de aplicativo pode interagir com um ou 
mais bancos de dados ou fontes de dados conforme necessário, conec-
tando-se ao banco de dados usando diferentes técnicas como ODBC, 
JDBC, SQL / CLI, por exemplo, ou outras técnicas de acesso ao banco 
de dados.
• Camada de servidor (banco de dados):. Lida com solicita-
ções de consulta e atualização da camada de aplicativo, processa as 
solicitações e envia os resultados. Geralmente, a linguagem de banco 
de dados SQL é usada para acessar o banco de dados se ele for rela-
37
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
cional ou objeto relacional.
• Arquitetura de banco de dados federado (FDBS): Nessa 
arquitetura, o esquema local é o esquema conceitual (definição de ban-
co de dados completo) de um banco de dados de componente, e o es-
quema de componente é derivado da tradução do esquema local em um 
modelo de dados canônico ou modelo de dados comum (CDM) para o 
FDBS. A tradução do esquema local para o esquema do componente é 
acompanhada pela geração de mapeamentos para transformar coman-
dos em um esquema de componente em comandos no esquema local 
correspondente. O esquema de exportação representa o subconjunto 
de um esquema de componente que está disponível para o FDBS. O 
esquema federado é o esquema ou visualização global, que é o resulta-
do da integração de todos os esquemas de exportação compartilháveis. 
Os esquemas externos definem o esquema para um grupo de usuários 
ou um aplicativo, como na arquitetura de esquema de três níveis.
Técnicas de fragmentação, replicação e alocação de dados para 
design de banco de dados distribuídos
Fragmentação de Dados: Diz respeito a qual local deve ser 
usado para armazenar quais partes do banco de dados.
1. Fragmentação horizontal. Um fragmento horizontal tra-
ta, na verdade, de um subconjunto das tuplas de uma relação. Sendo 
que as tuplas pertencentes ao fragmento horizontal são determinados 
condicionalmente por um ou mais atributos da relação. Frequentemen-
te, apenas um único atributo está envolvido. A fragmentação horizontal 
divide uma relação horizontalmente agrupando linhas para criar sub-
conjuntos de tuplas, onde cada subconjunto tem um certo significado 
lógico. Esses fragmentos podem então ser atribuídos a diferentes locais 
no sistema distribuído. A fragmentação horizontal derivada aplica o par-
ticionamento de uma relação primária a outras relações secundárias, 
que estão relacionadas à primária por meio de uma chave estrangeira. 
Dessa forma, dados relacionados entre as relações primárias e secun-
dárias são fragmentados da mesma forma.
2. Fragmentação vertical. Cada local pode não necessitar de 
todos os atributos de uma relação, indicando assim a necessidade de 
uma fragmentação diferente. Esse tipo de fragmentação divide uma re-
lação “verticalmente” em colunas, mantendo apenas alguns atributos da 
relação, sendo necessário que seja incluída a chave primária ou algum 
atributo de chave candidato em cada um dos fragmentos verticais de 
modo que a relação possa ser reconstruída por completa partindo des-
ses fragmentos.
38
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
3. Fragmentação mista (híbrida). Podemos misturar os dois 
tipos de fragmentação, produzindo uma fragmentação mista.
Replicação e alocação de dados
Utilizada para melhorar a disponibilidade de dados. Em um ce-
nário mais extremo, temos a replicação de todo o banco de dados em 
todos os locais do sistema distribuído, criando, assim, um banco de 
dados distribuído totalmente replicado. Isso pode melhorar a disponibili-
dade notavelmente, porque o sistema pode continuar a operar enquanto 
pelo menos um local estiver ativo. Ele também melhora o desempenho 
de recuperação para consultas globais, porque os resultados de tais 
consultas podem ser obtidos localmente de qualquer site, portanto uma 
consulta de recuperação pode ser processada no site local onde é en-
viada, se esse site incluir um módulo de servidor.
A desvantagem da replicação completa é que ela pode desa-
celerar drasticamente as operações de atualização, uma vez que uma 
única atualização lógica deve ser executada em cada cópia do banco de 
dados para manter as cópias consistentes. Isso é especialmente verda-
deiro se houver muitas cópias do banco de dados.
Um outro cenário da replicação seria não ter replicação - ou 
seja, cada fragmento é armazenado em exatamente um local. Nesse 
caso, todos os fragmentos devem ser disjuntos, exceto para a repetição 
de chaves primárias entre fragmentos verticais (ou mistos). Isso tam-
bém é chamado de alocação não redundante. Entre esses dois pontos, 
existe uma grande área de replicação parcial dos dados, onde algumas 
porções do banco de dados podem ser replicadas e outras não.
BANCOS DE DADOS ORIENTADOS A OBJETOS
Conceitos de bancos de dados orientados a objetos
Orientação a objetos é um termo que designa um novo mo-
delo de desenvolvimento de softwares que tenta aproximar conceitos 
virtuais com os reais na criação das entidades. Linguagens diversas 
como Java, Python, PHP e Ruby, utilizam essa metodologia. Como con-
sequência natural dessa evolução, os bancos de dados estão seguindo 
esse mesmo conceito.
O ODBMS, que é uma abreviatura de sistema de gerenciamen-
to de banco de dados orientado a objetos, é o modelo de dados no qual 
os dados são armazenados em forma de objetos, que são instâncias de 
classes. Essas classes e objetos juntos formam um modelo de dados 
39
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
orientado a objetos.
Componentes do modelo de dados orientado a objetos
O OODBMS é baseado em três componentes principais, a sa-
ber: estrutura do objeto, classes do objeto e identidade do objeto. São 
eles:
Estrutura do objeto: A estrutura de um objeto refere-se às 
propriedades das quais um objeto é composto. Essas propriedades de 
um objeto são chamadas de atributo. Assim, um objeto é uma entidade 
do mundo real com certos atributos que compõem a estrutura do obje-
to. Além disso, um objetoencapsula o código de dados em uma única 
unidade que, por sua vez, fornece abstração de dados ocultando os 
detalhes de implementação do usuário.
A estrutura do objeto é ainda composta por três tipos de com-
ponentes: mensagens, métodos e variáveis. São eles:
1. Mensagens: Uma mensagem fornece uma interface ou atua 
como um meio de comunicação entre um objeto e o mundo exterior. 
Uma mensagem pode ser de dois tipos:
• Mensagem somente leitura: se o método invocado não alterar 
o valor de uma variável, a mensagem de chamada é considerada uma 
mensagem somente leitura.
• Mensagem de atualização: se o método invocado alterar o 
valor de uma variável, a mensagem de chamada é considerada uma 
mensagem de atualização.
2. Métodos: quando uma mensagem é passada, o corpo do 
código executado é conhecido como método. Sempre que um método 
é executado, ele retorna um valor como saída. Um método pode ser de 
dois tipos:
• Método somente leitura: quando o valor de uma variável não é 
afetado por um método, ele é conhecido como método somente leitura.
• Método de atualização: quando o valor de uma variável muda 
por um método, é conhecido como método de atualização.
3. Variáveis: ele armazena os dados de um objeto. Os dados 
armazenados nas variáveis tornam o objeto distinguível um do outro.
Classes de objetos: Um objeto que é uma entidade do mun-
do real é uma instância de uma classe. Portanto, primeiro precisamos 
definir uma classe e, em seguida, são feitos os objetos que diferem 
nos valores que armazenam, mas compartilham a mesma definição de 
classe. Os objetos, por sua vez, correspondem a várias mensagens e 
variáveis armazenadas nele.
Um OODBMS oferece suporte à herança de forma ampla, pois, 
40
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
em um banco de dados, podem existir muitas classes com métodos, 
variáveis e mensagens semelhantes. Assim, o conceito de hierarquia 
de classes é mantido para representar as semelhanças entre as várias 
classes.
O conceito de encapsulamento que é o ocultamento de dados 
ou informações também é suportado pelo modelo de dados orientado a 
objetos. E este modelo de dados também fornece a facilidade de tipos 
de dados abstratos além dos tipos de dados embutidos como char, int, 
float. ADTs são os tipos de dados definidos pelo usuário que contêm os 
valores dentro deles e também podem ter métodos anexados a eles.
Assim, OODBMS fornece inúmeras facilidades para seus 
usuários, tanto internas quanto definidas pelo usuário. Ele incorpora 
as propriedades de um modelo de dados orientado a objetos com um 
sistema de gerenciamento de banco de dados e suporta o conceito de 
paradigmas de programação como classes e objetos, juntamente com 
o suporte para outros conceitos como encapsulamento, herança e os 
ADTs definidos pelo usuário (tipos de dados abstratos).
BANCOS DE DADOS OBJETO-RELACIONAL
Características objeto-relacionais
Extensões de banco de dados de objetos para SQL
O SQL foi especificado pela primeira vez por Chamberlin e 
Boyce (1974) e passou por aprimoramentos e padronização em 1989 
e 1992. A linguagem continuou sua evolução com um novo padrão, ini-
cialmente chamado de SQL3 enquanto estava sendo desenvolvido, e 
mais tarde conhecido como SQL: 99 para as partes do SQL3 que foram 
aprovadas no padrão.
A partir da versão do SQL conhecida como SQL3, recursos 
de bancos de dados de objetos foram incorporados ao padrão SQL. 
No início, essas extensões eram conhecidas como SQL / Object, mas, 
depois, foram incorporadas na parte principal do SQL, conhecido como 
SQL / Foundation. 
A seguir estão alguns dos recursos do banco de dados de ob-
jetos que foram incluídos no SQL:
• Alguns construtores de tipo foram adicionados para especifi-
car objetos complexos. Isso inclui o tipo de linha, que corresponde ao 
construtor de tupla (ou estrutura). Um tipo de array para especificar cole-
ções também é fornecido. Outros construtores de tipo de coleção, como 
os construtores set, list e bag, não faziam parte das especificações SQL 
/ Object originais, mas foram posteriormente incluídos no padrão.
41
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
• Um mecanismo para especificar a identidade do objeto por 
meio do uso do tipo de referência está incluído.
• As UDTS, tipos que são definidos pelos usuários, podem ser 
utilizadas para fornecer o encapsulamento de operações, incluindo es-
sas operações como parte de sua declaração. Eles possuem seme-
lhança com o conceito de tipos de dados abstratos desenvolvidos para 
linguagens de programação, além do conceito de rotinas definidas pelo 
usuário (UDRs) permitir a definição de métodos gerais (operações).
• Utiliza-se a palavra-chave UNDER para fornecer mecanismos 
de herança.
Tipos definidos pelo usuário e estruturas complexas para objetos
 De modo a permitir a criação de objetos de estrutura complexa 
e para separar a declaração de um tipo da criação de uma tabela, são 
fornecidos pelo SQL tipos definidos pelo usuário (UDTs). Objetos de 
estrutura mais complexa contam com outros quatro tipos de coleção, in-
cluídas para permitir tipos e atributos com vários valores. A criação dos 
UDTs é mais simples, utilizando-se apenas do comando abaixo:
CREATE TYPE TYPE_NAME AS (<declarações de componen-
tes>);
Identificadores de objeto usando tipos de referência
Versões mais recentes do SQL criam através de referências 
identificadores exclusivos de objetos. Pode-se utilizar as chaves do mo-
delo relacional básico em lugar de um identificador de objeto.
Em geral, o usuário pode especificar que identificadores de 
objeto gerados pelo sistema para as linhas individuais em uma tabela 
devem ser criados. Usando a sintaxe:
REF IS <OID_ATTRIBUTE> <VALUE_GENERATION_ME-
THOD>;
O usuário declara que o atributo denominado <OID_ATTRIBU-
TE> será usado para identificar tuplas individuais na tabela. As opções 
para <VALUE_GENERATION_METHOD> são SYSTEM GENERATED 
ou DERIVED. No primeiro caso, o sistema irá gerar automaticamente 
um identificador único para cada tupla. No último caso, o método tra-
dicional de usar o valor da chave primária fornecida pelo usuário para 
identificar tuplas é aplicado.
42
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Criação de tabelas com base nos UDTs
Para cada UDT que é especificado para ser instanciado por 
meio da frase INSTANTIABLE, uma ou mais tabelas podem ser criadas.
Encapsulamento de Operações
No SQL, um tipo definido pelo usuário pode ter sua própria 
especificação comportamental, especificando métodos (ou operações) 
além dos atributos. A forma geral de uma especificação UDT com mé-
todos é a seguinte:
CREATE TYPE <TYPE-NAME> (<LISTA DE ATRIBUTOS DE 
COMPONENTES E SEUS TIPOS> <DECLARAÇÃO DE FUNÇÕES 
(MÉTODOS)>);
O SQL fornece certas funções integradas para tipos definidos 
pelo usuário. Para um UDT denominado TYPE_T, a função construtora 
TYPE_T () retorna um novo objeto desse tipo. No novo objeto UDT, cada 
atributo é inicializado com seu valor padrão. Uma função de observador 
A é implicitamente criada para cada atributo A para ler seu valor. Portan-
to, A (X) ou X.A retorna o valor do atributo A de TYPE_T se X for do tipo 
TYPE_T. Uma função modificadora para atualizar um atributo define o 
valor do atributo para um novo valor. O bloqueio dessas funções pode 
ser realizado pelo SQL, impedindo seu uso público, sendo então neces-
sário um privilégio EXECUTE para ter acesso a essas funções.
Em geral, um UDT pode ter várias funções definidas pelo usuá-
rio associadas a ele.
A sintaxe é:
INSTANCE METHOD <NOME> (<ARGUMENT_LIST>) RE-
TURNS
<RETURN_TYPE>;
SQL interno e externo são os dois tipos de funções. A lingua-
gem PSM é utilizada para escrever as funções internas. Para as funções 
externas é utilizada uma linguagem host, com apenas uma assinaturana definição UDT. A declaração de uma função externa pode ser feita 
da seguinte forma:
• Herança de todos os atributos.
• A hierarquia é determinada pela ordem dos supertipos na 
cláusula UNDER.
• Quando uma instância de supertipo é usada, é possível utili-
43
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
zar também uma instância de um subtipo.
• Quando um subtipo tem a mesma assinatura de seu superti-
po, pode redefinir qualquer função definida em seu supertipo, dede que 
a assinatura de ambos seja a mesma.
• Na chamada de uma função, a seleção da melhor correspon-
dência é realizada com base nos tipos de todos os argumentos.
• Para vinculação dinâmica, os tipos de parâmetros de tempo 
de execução são considerados.
Especificando relacionamentos por meio de referência
Um atributo de componente de uma tupla pode ser uma refe-
rência (especificada usando a palavra-chave REF) a uma tupla de outra 
(ou possivelmente a mesma) tabela.
Especificamos uma tabela em que as tuplas podem ser refe-
renciadas através da palavra-chave SCOPE. Isso funciona como uma 
chave estrangeira, só que o valor gerado pelo sistema é utilizado ao 
invés do valor da chave primária.
Herança no Modelo de Objeto do ODMG
Herança de comportamento e herança de estado mais compor-
tamento são os dois tipos de relacionamentos de herança encontrados 
no modelo de objeto ODMG. Usa-se a notação de dois pontos (:) para 
especificar a herança de comportamento também é conhecida como 
ISA ou herança de interface. No modelo ODMG, o supertipo deve ser 
uma interface, podendo o subtipo ser uma classe ou interface.
Modelos de armazenamento
Um modelo de armazenamento é o núcleo de qualquer siste-
ma relacionado a big data. Isso afeta a escalabilidade, as estruturas de 
dados, a programação e os modelos computacionais dos sistemas que 
são construídos sobre qualquer sistema relacionado a big data. São três 
modelos principais de armazenamento desenvolvidos: armazenamento 
baseado em bloco, armazenamento baseado em arquivo e armazena-
mento baseado em objeto.
Armazenamento baseado em bloco
O armazenamento em nível de bloco é um dos modelos de 
armazenamento mais clássicos da ciência da computação.
Esse sistema faz uso das tecnologias “Fibre Channel” e “iSC-
44
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
SI”, podendo assim ser considerado como um disco rígido instalado em 
um servidor, podendo ser acessado remotamente. Nesse caso, os da-
dos são armazenados em blocos de tamanho fixo, sem os metadados, 
usando um identificador único para acessar cada bloco.
Tem como características principais o desempenho e a escala-
bilidade no armazenamento e acesso a dados em grande escala, sendo 
utilizado como um modelo de armazenamento de baixo nível muito utili-
zado para armazenamento de nível superior, como sistemas baseados 
em arquivos, sistemas baseados em objetos e bancos de dados tran-
sacionais.
Com o advento da computação distribuída e Big Data, esse 
modelo também suporta ambientes distribuídos e baseados em nuvem. 
A sua arquitetura é composta por um servidor de bloco e um grupo de 
nós de bloco, onde o servidor de bloco é o responsável pela manuten-
ção do mapeamento ou indexação dos IDs de bloco para os dados reais 
nos nós de bloco, responsáveis pelo armazenamento dos dados reais 
em partições de tamanho fixo, cada uma representando um bloco.
Armazenamento baseado em arquivo
Herdeiro da arquitetura tradicional do sistema de arquivos, 
esse sistema considera os dados como arquivos mantidos em uma es-
trutura hierárquica. É o modelo mais comum e mais fácil de implementar 
e utilizar. Com o Big Data, um sistema de armazenamento baseado em 
arquivo pode ser construído em abstração de baixo nível visando à me-
lhora de seu desempenho e escalabilidade.
Nesse modelo, os caminhos dos arquivos são organizados de 
forma hierárquica, sendo utilizados como entradas para acesso aos da-
dos no dispositivo físico. Em um ambiente de Big Data, os sistemas de 
arquivos distribuídos são utilizados como sistemas de armazenamento 
básicos.
Nesse tipo de sistema, os usuários necessitam conhecer os 
nomes e caminhos para acessar os arquivos armazenados e, para com-
partilhamento entre sistemas, os nomes e caminhos são formados por 
três partes: o protocolo, o domínio e o caminho do arquivo.
Armazenamento baseado em objeto
Esse modelo foi utilizado pela primeira vez para fornecer obje-
tos de contêineres de dados mais flexíveis. Fornecedores de sistemas 
como EMC, HP, IBM, Redhat, Amazon, Microsoft e Google tem investi-
do pesado nessa tecnologia.
45
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
Nesse modelo, os dados são manipulados como objetos, onde 
cada objeto inclui seus próprios dados, metadados, atributos e um iden-
tificador de objeto (OID). Esse modelo abstrai as camadas inferiores 
de armazenamento de administradores e aplicativos. Ele também pode 
ser implementado em níveis de dispositivos, sistema e interface. Os 
dados são visualizados e gerenciado como objetos que possuem me-
tadados descritivos adicionais usados para melhorar a indexação ou 
gerenciamento.
O sistema de armazenamento baseado em objeto normalmen-
te usa um nome simples, no qual o identificador de dados e suas lo-
calizações são geralmente mantidos como pares de valores-chave no 
servidor de objetos. Em princípio, o servidor de objetos fornece ende-
reçamento independentemente da localização e latência de pesquisa 
constante para ler todos os objetos. Além disso, os metadados dos da-
dos são separados dos dados e são mantidos como objetos em um 
servidor de metadados. Como resultado, ele fornece uma maneira pa-
drão e mais fácil de processar, analisar e manipular os metadados sem 
afetar os próprios dados.
Devido à arquitetura simples, é muito fácil dimensionar sis-
temas de armazenamento baseados em objetos adicionando nós de 
armazenamento adicionais ao sistema. Além disso, o armazenamento 
adicionado pode ser expandido automaticamente conforme a capacida-
de que está disponível para todos os usuários. Com base no contêiner 
de objeto e metadados mantidos, ele também é capaz de fornecer po-
líticas de dados muito mais flexíveis e refinadas em diferentes níveis.
Comparação de modelos de armazenamento
Não existe um modelo que seja adaptável a todos os cenários, 
por isso, desenvolvedores e usuários devem escolher os modelos de 
acordo com os requisitos e contexto de suas aplicações levando em 
consideração suas vantagens e desvantagens.
Modelo baseado em bloco - características
• Flexível, versátil e simples. Pode ser utilizado em quase todos 
os tipos de aplicativos, incluindo armazenamento de arquivos, armaze-
namento de banco de dados, volumes do sistema de arquivos da má-
quina virtual (VMFS) e muito mais.
• Também pode ser usado para cenários de compartilhamento 
de dados.
• Tem alto rendimento e desempenho e, geralmente, é configu-
46
C
O
LE
TA
, A
R
M
A
Z
E
N
A
M
E
N
TO
 E
 A
N
Á
LI
SE
 A
P
LI
C
A
D
A
 -
 G
R
U
P
O
 P
R
O
M
IN
A
S
rável para capacidade e desempenho.
• É complexo de gerenciar e não é fácil de usar devido à fal-
ta de informações (como metadados, semântica lógica e relação entre 
blocos de dados) quando comparado a outros modelos de armazena-
mento, como baseado em arquivo armazenamento e armazenamento 
baseado em objeto.
Modelo baseado em arquivo
• Fácil de gerenciar e implementar. Também é mais barato de 
usar do que o armazenado em bloco. Ele é usado com mais frequência 
em computadores e domésticos em pequenas empresas, enquanto o 
armazenamento em nível de bloco é usado por empresas maiores, com 
cada bloco sendo controlado por seu próprio disco rígido e gerenciado 
por meio de um sistema operacional baseado em servidor.
• Geralmente acessível usando protocolos de nível

Continue navegando

Outros materiais