1. Universidade do Minho
Escola de Engenharia
Licenciatura em
Tecnologias e Sistemas de Informação
Tecnologias de Suporte à Gestão
Análise dos dados recorrendo a algoritmos de Data
Mining
Guimarães, 2011
3. Tecnologias e Sistemas de Informação Universidade do Minho
Índice
1. Introdução .............................................................................................................................. 1
1.1. Descrição do problema ................................................................................................. 1
1.2. Objectivos ..................................................................................................................... 1
1.3. Resultados a atingir ...................................................................................................... 1
1.4. Estrutura do relatório .................................................................................................... 1
2. Criação dos modelos de previsão ........................................................................................... 2
2.1. Introdução ..................................................................................................................... 2
2.2. Modelação e avaliação.................................................................................................. 3
2.2.1. Redes neuronais......................................................................................................... 3
2.2.2. Clustering .................................................................................................................. 9
2.2.3. Árvores de decisão .................................................................................................. 12
3. Conclusão ............................................................................................................................. 17
4. Bibliografia .......................................................................................................................... 17
Anexo I ............................................................................................................................................ 1
Criar tabela DMOnlineProduto .................................................................................................. 1
Carregar dados para a tabela DMOnlineProduto ........................................................................ 3
Alteração de dados na tabela DMOnlineProduto ....................................................................... 5
Índice de figuras
Figura 1 – Criação das vistas........................................................................................................... 3
Figura 2 – Criação do modelo de previsão ...................................................................................... 3
I
4. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
1. INTRODUÇÃO
1.1. DESCRIÇÃO DO PROBLEMA
Uma vez analisada e tratada a informação disponibilizada pela organização é necessário agora
encontrar modelos descritivos, que permitam aumentar o conhecimento acerca dos dados usados,
e modelos de previsão para suporte do processo de tomada de decisão, que conduzam a uma
melhoria do negócio.
O processo de Data Mining foi realizado através de projectos do tipo Business Intelligence
constantes no Microsoft Visual Studio 2008.
1.2. OBJECTIVOS
Produzir modelos de previsão de dados.
Analisar os modelos obtidos.
1.3. RESULTADOS A ATINGIR
Dar resposta às questões de suporte para a tomada de decisão.
1.4. ESTRUTURA DO RELATÓRIO
Este trabalho apresenta-se estruturado em cinco capítulos:
Introdução, onde é descrito o problema a tratar, a finalidade deste trabalho, os artefactos a
apresentar e a estrutura deste relatório;
Criação dos modelos de previsão, onde são desenvolvidos e analisados os modelos de
previsão de dados;
Conclusão, onde constam as considerações finais sobre o trabalho desenvolvido;
Bibliografia, onde consta o material bibliográfico consultado para suporte teórico do
trabalho.
1
5. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
2. CRIAÇÃO DOS MODELOS DE PREVISÃO
2.1. INTRODUÇÃO
A descoberta de conhecimento em bases de dados é o processo que permite a identificação de
padrões ou tendências nos dados por aplicação de técnicas, métodos e algoritmos de Data
Mining, para posteriormente a interpretação desses padrões suportarem a tomada de decisão.
A metodologia de referência para projectos de Data Mining é a Cross Industry Standard Process
for Data Mining (CRISP-DM), constituída por seis fases.
Enquanto que na primeira fase desta metodologia, compreensão do negócio, faz-se o
levantamento da informação disponível sobre a situação do negócio, tratando então os objectivos
da organização em objectivos Data Mining, na fase seguinte, compreensão dos dados, faz-se a
recolha dos dados disponíveis, a análise e exploração dos mesmos e por fim a verificação da
qualidade destes; se apresentam erros, qual o seu tipo e frequência, e se há dados em falta.
A terceira fase, preparação dos dados, engloba a selecção de tabelas, atributos e registos
necessários à análise, bem como a transformação, limpeza e formatação dos dados.
Estas três fases foram já sendo executadas ao longo de todo o projecto, tendo sido agora
realizados os devidos ajuste, dando realce à conversão das tabelas numa única, neste caso em
duas, uma referente às vendas a lojas e outra às vendas online. A criação das tabelas, com a
eliminação dos campos de carácter meramente informático e dos registos duplicados e nulos, foi
realizada com instruções SQL, através do SQL Server Management Studio, exemplificadas no
Anexo I
Já na fase de modelação, são aplicadas as técnicas de modelação redes neuronais, árvores de
decisão e clustering, adiante descritas, juntamente com a avaliação dos modelos obtidos,
concluindo assim a fase de avaliação.
Na última fase, desenvolvimento, é produzido um relatório com os resultados obtidos, ficando
agora do lado da organização a monitorização, manutenção, revisão e avaliação do projecto.
2
6. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
2.2. MODELAÇÃO E AVALIAÇÃO
Figura 1 – Criação das vistas
Uma vez criada a tabela com os dados referentes ao processo de venda a lojas e outra com os
dados relativos às aquisições online, foram criadas as vistas sobre estas duas tabelas,
DMLojasSimples e DMOnlineSimples, conforme Figura 1.
Figura 2 – Criação do modelo de previsão
Estamos agora aptos para criar os modelos pretendidos, tendo por base as vistas criadas, conforme
Figura 2.
2.2.1. Redes neuronais
Redes neuronais são sistemas de classificação modelados segundo os princípios do sistema
nervoso humano. O algoritmo de redes neuronais combina cada estado do atributo de entrada,
input, com cada estado possível do atributo de saída, predict, e usa os dados de treino para
calcular probabilidades. Numa segunda fase usa-se essa probabilidade para prever um resultado
baseado nos atributos de input.
3
7. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
A seguir descreve-se o processo de criação de uma rede neuronal para determinar se é mais
vantajoso contratar empregados casados ou solteiros.
A primeira caixa de diálogo que surge é a de De seguida surge a caixa de diálogo que
boas vindas ao assistente de Data Mining. permite seleccionar o método usado na
definição da estrutura de dados. Neste caso
indica-se que se vai utilizar uma base de dados
da data warehouse.
Na caixa de diálogo seguinte selecciona-se a De seguida selecciona-se a fonte de dados a
técnica de Data Mining a usar, neste caso a utilizar, neste caso a vista criada sobre a tabela
rede neuronal. das vendas às lojas, DMLojasSimples.
4
8. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Na fase seguinte selecciona-se o tipo de tabela O próximo passo consiste em indicar as
que vai ser utilizada para análise. colunas que se pretendem como inputs e
predict.
Na caixa de diálogo seguinte é mostrado o tipo De seguida é indicada a percentagem de dados
de dados dos campos seleccionados a ser utilizada para teste. Neste caso optou-se
anteriormente. por utilizar 40%.
5
9. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Uma vez definidas as opções, inicia-se o Após o processamento dos dados, no separador
processamento dos dados. Mining Models encontra-se a lista com o
campo que se quer prever e os utilizados como
inputs. Aqui, é possível indicar a
utilização/remoção de atributos para a
redefinição do modelo.
No separador Mining Model Viewer procede-se à análise dos resultados. Como se pode verificar,
enquanto que na América é favorecida uma contratação de um empregado casado, excepto no
caso da América Central, tal não acontece na França, Alemanha, Austrália, onde a probabilidade
de contratação de um empregado solteiro é maior. Quando a comissão está compreendida entre
1.228,299 e 2.738,409 também é favorecido a contratação de um empregado casado.
No separador Mining Accuracy Chart, em Lift Chart observa-se a probabilidade de acerto do
modelo criado, que neste caso está acima dos 80%.
6
10. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Em Classification Matrix observa-se a matriz de classificação dos dados analisados, onde se
constata que num total de 24033 previsões, existem 334 previsões erradas, dando ao modelo uma
taxa de confiança de 98,6%.
Uma vez obtido o modelo, é possível analisar a Se o território seleccionado para a contratação
informação através de operações de filtragem. for o Canadá, então as previsões favorecem a
Assim, se, por exemplo, se pretender analisar contratação de um empregado casado.
qual o estado civil dos funcionários a contratar
na França, basta seleccionar em Attribute, da
área Input, o atributo Empregado Território e
associar o valor France. Observando os
resultados apresentados, contata-se que é mais
acertado contratar um funcionário solteiro do
que um casado, sobre qualquer um dos
atributos em análise.
7
11. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Foi desenvolvida outra rede neuronal para perceber, relativamente aos produtos vendidos online,
que categoria de produtos e em que região foram vendidos, por semestre.
O processo de criação deste modelo foi A imagem acima apresenta os atributos
idêntico ao anteriormente descrito, sendo que a seleccionados para a construção do modelo,
fonte de dados é agora a vista bem como o seu tipo de dados.
DMOnlineSimples.
A percentagem de dados a ser utilizada para Por fim, é atribuído o nome ao modelo de rede
teste é agora de 30%. neuronal criado.
8
12. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Através da avaliação do gráfico compreende-se que este modelo não tem uma percentagem de
precisão muito elevada, o que implica um elevado grau de incerteza nas previsões apresentadas.
Com a matriz de classificação pode-se Analisando o território Noroeste da América,
observar que apesar de haver confiança nos os produtos da categoria roupa, bicicleta e
dados em relação ao segundo semestre tal não componentes, por esta ordem, são mais
se verifica para o primeiro semestre. Num total propícios de serem adquiridos no primeiro
de 60658 previsões, existem 29919 previsões semestre do ano. Já os acessórios são a única
erradas, dando ao modelo uma taxa de categoria de produto em que é mais provável a
confiança de 51%. sua compra no segundo semestre.
2.2.2. Clustering
A técnica Clustering agrupa casos de um conjunto de dados em clusters que contêm
características semelhantes. Tem como objectivo a detecção de padrões correlacionados nos
dados, padrões esses que podem-se não conseguir derivar logicamente por observação casual.
Este algoritmo de segmentação tenta redefinir agrupamentos na criação de clusters que
identificam diferentes tipos de previsões dependendo dos inputs seleccionados.
9
13. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
A seguir descreve-se o processo de segmentação por clustering. O que se pretende analisar é a
incidência de cada promoção nas categorias dos produtos adquiridos num dado território, para
clientes loja.
Na caixa de diálogo indica-se a técnica de Para a construção do modelo foram
Data Mining a usar, opta-se pelo algoritmo seleccionadas as colunas “Cliente Territorio”,
Clustering. “Produto Categoria” e “Promocao Tipo”.
Uma vez definido e processado o modelo, Este é já o resultado da previsão onde se
pode-se visualizar o modelo de clusters através observam os diferentes clusters com os dados
do separador Mining Model Viewer. correspondentes aos inputs seleccionados
anteriormente. Assim, por exemplo, o Cluster
3 diz-nos que os clientes do Canadá e
Southwest adquirem roupa e acessórios, mais
roupa que acessórios, principalmente com
descontos por volume.
10
14. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
No separador Mining Model Viewer Em Cluster Discrimination podem-se
seleccionando a visualização Cluster comparar os atributos entre dois clusters. A
Characteristics do Cluster 2 pode-se observar barra à direita do atributo mostra qual o cluster
especificamente que a probabilidade dos que favorece, e o tamanho da barra mostra o
clientes do Canadá e Northeast comprarem quão fortemente o atributo favorece esse
bicicletas sem promoção é superior que com cluster.
promoção.
É criado outro modelo onde se pretende analisar a incidência de cada promoção nas categorias
dos produtos adquiridos num dado território, para clientes online
Na análise da incidência das promoções nas Nos algoritmos de segmentação não se usaram
categorias de produtos num determinado colunas de previsão, excluindo assim a opção
território, seleccionaram-se como inputs as de gráficos de precisão.
colunas acima referidas.
11
15. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Pode-se verificar que neste tipo de modelo, No separador Cluster Profiles podem observar-
clusters, existem diferentes realces na cor das se os elementos de cada um dos clusters.
linhas de relacionamento e nos próprios Analisando o Cluster 4, constata-se que no
clusters, determinada pela percentagem de território Central foram adquiridos produtos da
dados em cada um. categoria Clothing quase sempre sem desconto
e uma pequena parte com desconto por volume
de compras.
Verifica-se que na análise das caracteristicas Em Cluster Discrimination, observa-se que o
do Cluster 9 a probabilidade de adquirir Cluster 3 apresenta-se mais favorável à
produtos online sem descontos é superior a existência de clientes do Canadá e Southwest e
outro tipo de promoção, sendo esta com mais aquisição de acessórios.
impacto nos produtos de roupa e bicicleta. O
território Southwest é onde esta probabilidade
mais se destaca.
2.2.3. Árvores de decisão
A técnica de Data Mining Árvores de Decisão é um algoritmo híbrido que integra diferentes
métodos para criação de uma árvore e suporta múltiplas tarefas de análise, incluindo regressão,
classificação e associação.
12
16. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Uma árvore de decisão integra nós, onde se encontram os atributos a classificar, ramos, que
descrevem os valores possíveis para os atributos dos nós, e folhas, que indicam as diversas
classes em que cada registo pode ser classificado.
É criado um modelo de árvores de decisão para determinar a produção de cada linha de produto a
vender nas lojas.
O objectivo desta previsão é determinar as Escolheram-se três atributos de input , modelo,
quantidades a produzir de cada linha de sub categoria e quantidade vendida dos
produtos vendidas para lojas. Assim, para esta produtos, e um para predict, a linha do produto
previsão optou-se por uma árvore de decisão. a produzir.
O visualizador do modelo apresenta a árvore de decisão resultante do processo descrito
anteriormente.
Analisando um elemento da árvore constata-se que existe quase 100% de probabilidade para a
necessidade de produção da linha T do modelo LL Touring Seat/Saddle da subcategoria Saddles.
13
17. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
A rede de dependências mostra as ligações O separador Input Selection apresenta o output
existentes entre os vários nós da árvore de que se pretende no modelo. Neste caso, o
decisão. atributo que foi objecto de previsão foi o
Produto Linha.
Através deste gráfico pode-se observar a probabilidade de acerto na previsão para o modelo
criado, que neste caso é de praticamente 100%, conferindo assim uma elevada confiabilidade.
A matriz de classificação apresentada tem uma
taxa de confiança de 100%, pois todos os
valores previstos correspondem com os valores
actuais. Constata-se, assim, que esta árvore de
decisão transmite segurança nas previsões.
14
18. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
O objectivo desta previsão é determinar a produção de cada linha de sub categorias de produtos
para venda online. Assim, para esta previsão optou-se por uma árvore de decisão.
A imagem acima referência os atributos de A rede de dependências mostra as ligações
Input, categoria, linha, modelo e quantidade existentes entre os vários nós da árvore de
vendida dos produtos, e PredictOnly, a decisão.
subcategoria dos produtos.
O visualizador do modelo apresenta a árvore de decisão resultante do processo descrito
anteriormente.
Analisando um elemento da árvore constata-se que existe 100% de probabilidade para a
necessidade de produção da subcategoria Pumps, da categoria Accessories, da linha S, do
modelo Minipump.
15
19. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
Através deste gráfico pode-se observar a probabilidade de acerto do modelo criado, que neste
caso é de praticamente 100%, conferindo assim um elevado grau de confiança.
A matriz de classificação apresentada tem uma taxa de confiança de 100%, pois todos os valores
previstos correspondem com os valores actuais. Constata-se, assim, que esta árvore de decisão
transmite segurança nas previsões.
16
20. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
3. CONCLUSÃO
Nesta etapa, grande parte do tempo foi investido para a criação dos modelos de previsão, com os
diversos algoritmos, tendo-nos confrontando com algumas dificuldades em conseguir uma boa
percentagem na probabilidade prevista. Dificuldade essa que foi ultrapassada com uma selecção
cuidadosa dos atributos a analisar e um esforço considerável por parte do grupo. Foi ainda
dispendido bastante tempo para análise e tratamento dos dados para a criação das flat tables.
Sobre os resultados das previsões fez-se uma análise para entender a evolução do negócio e
facultar informação para suportar a eventual tomada de decisões.
Sugere-se que se tenha algum cuidado na utilização dos modelos com um grau de confiabilidade
baixo visto que os seus resultados não são credíveis. Na análise dos modelos de Data Mining é
necessário ter atenção aos valores missing, que representam os dados que o algoritmo não
conseguiu avaliar.
Concluímos então que o projecto foi levado a cabo com sucesso e conseguimos apreender os
conceitos chave de análise dos dados recorrendo aos algoritmos de Data Mining e à metodologia
CRISP-DM.
4. BIBLIOGRAFIA
Maribel Yasmina e Isabel Ramos. Business Intelligence – Tecnologias da Informação na Gestão
de Conhecimento, FCA – Editora de Informática, Lda., 2ª Edição, Actualizada e Aumentada,
2009.
Ralph Kimball. The Datawarehouse Toolkit: Pratical Techniques for Building Dimensional Data
Warehouses, John Wiley & Sons, 1996.
17
21. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
ANEXO I
CRIAR TABELA DMONLINEPRODUTO
USE [TSGDW]
GO
/****** Object: Table [dbo].[plVendasProduto] Script Date: 01/04/2011 15:57:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DMOnlineProduto](
[IDAuto] [int] IDENTITY(1,1) NOT NULL,
[IDTempo] [int] NULL,
[Data] [datetime] NULL,
[Dia] [varchar](10) NULL,
[Semana] [varchar](2) NULL,
[DiaSemana] [varchar](10) NULL,
[Mes] [varchar](10) NULL,
[Trimestre] [varchar](1) NULL,
[Semestre] [varchar](1) NULL,
[Ano] [varchar](4) NULL,
[IDProduto] [int] NULL,
[NomeProduto] [nvarchar](max) NULL,
[FlagProdutoFinal] [nvarchar](max) NULL,
[TamanhoP] [nvarchar](max) NULL,
[TempoProducaoP] [int] NULL,
[SubCategoriaP] [nvarchar](max) NULL,
[CategoriaP] [nvarchar](max) NULL,
[LinhaP] [nvarchar](max) NULL,
[ClasseP] [nvarchar](max) NULL,
[EstiloP] [nvarchar](max) NULL,
[CorP] [nvarchar](max) NULL,
[ModeloP] [nvarchar](max) NULL,
[IDPromocao] [int] NULL,
[NomePromocao] [nvarchar](max) NULL,
[TipoProm] [nvarchar](max) NULL,
[CategoriaProm] [nvarchar](max) NULL,
[DiaInicioProm] [varchar](2) NULL,
[MesInicioProm] [varchar](2) NULL,
[AnoInicioProm] [varchar](4) NULL,
[DiaFimProm] [varchar](2) NULL,
[MesFimProm] [varchar](2) NULL,
1
25. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
ALTERAÇÃO DE DADOS NA TABELA DMONLINEPRODUTO
UPDATE [TSGDW].[dbo].[DMOnlineProduto]
SET [DataEncomenda] = (Select d.[DataEncomenda] From [TSGDW].[dbo].[plVendasOnline]
d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[DataEnvio] = (Select d.[DataEnvio] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[DataLimite] = (Select d.[DataLimite] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[IDTransporte] = (Select d.[IDTransporte] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[TipoTransp] = (Select d.[TipoTransp] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[IDClienteI] = (Select d.[IDClienteI] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[NomeCliente] = (Select d.[NomeCliente] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[ProvinciaCliente] = (Select d.[ProvinciaCliente] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[PaisCliente] = (Select d.[PaisCliente] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[TerritorioCliente] = (Select d.[TerritorioCliente] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[NDiasEntrega] = (Select d.[NDiasEntrega] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[NDiasPrazo] = (Select d.[NDiasPrazo] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[SubTotal] = (Select d.[SubTotal] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[VendaTotal] = (Select d.[VendaTotal] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[TaxaEnvio] = (Select d.[TaxaEnvio] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
5
26. Tecnologias e Sistemas de Informação, Pós-laboral Etapa 6 Equipa 9
[Portes] = (Select d.[Portes] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda]),
[NVendasOnline] = (Select d.[NVendasOnline] From [TSGDW].[dbo].[plVendasOnline] d
Where [TSGDW].[dbo].[DMOnlineProduto].[IDEncomenda] =
d.[IDEncomenda])
GO
6