Turma Especialização Pós GETIC III - Gestão Tecnologia da Informação e Comunicação 1.

Post on 07-Apr-2016

220 views 5 download

Transcript of Turma Especialização Pós GETIC III - Gestão Tecnologia da Informação e Comunicação 1.

Turma Especialização Pós GETIC III - Gestão Tecnologia da Informação e

Comunicação

http://www.getic.ct.utfpr.edu.br

1

Introdução à Descoberta de Conhecimento e Mineração de

Dados

Prof. Celso A. A. Kaestner, Dr. Eng.http://www.dainf.ct.utfpr.edu.br/~kaestner

2

Introdução: por que Data Mining ?

O problema da explosão da quantidade de dados:◦ Ferramentas de armazenamento automático e a

maturidade da tecnologia de banco de dados, bem como o

advento da Internet, levaram à criação de imensas massas

de dados em data bases, data warehouses e em outros

repositórios.

3

Introdução: por que Data Mining ?

◦ 1 byte = 8 bits;◦ 1 KB = 1.024 bytes;◦ 1 MB ~= 1.000.000 bytes;◦ 1 GB ~= 1.000.000.000 bytes;◦ 1 TB = 1 Terabyte ~= 1.000.000.000.000= 1012 bytes◦ 1 PB = 1 Petabyte ~= 1000 TB ◦ 1 EB = 1 Exabyte ~= 1.000.000 TB◦ 1 YB = 1 Yottabyte ~= 1.000.000 EB

Qual o tamanho das bases de dados ?Qual o tamanho da internet ?

4

5

Fonte: Curso de Piatetsky-Shapiro

Introdução: por que Data Mining ?

Updated: March 17, 2010 http://www.comparebusinessproducts.com/fyi/10-largest-databases-in-the-world

US Library of Congress:◦ 130 million items (books, photographs, maps, etc)◦ 29 million books◦ 10,000 new items added each day◦ 530 miles of shelves◦ 5 million digital documents◦ 20 terabytes of text data

6

Top 10 Largest Databases in the World

Tamanho da Internet Tamanho da Internet (2003, em Terabytes):

7

Surface Web 167

Deep Web 91.850

Email (originals) 440.606

Instant messaging 274

TOTAL 532.897

Fonte: How Much Information 2003

Tamanho da Internet

8

http://www.factshunt.com/2014/01/total-number-of-websites-size-of.html

Tamanho da Internet

9

Números relacionados a Websites:

•759 Million - Total number of websites on the Web•510 Million - Total number of Live websites (active).•103 Million - Websites added during the year i.e 2013•43% of the top 1 million websites are hosted in USA itself.•48% of the top 100 blogs/websites run on powerful WordPress.•23% - Increase in the average page size of a website.•13% - Decrease in the average page-load time.

Tamanho da Internet

10

Número de Domínios registrados:

•132.21 Million - Domains with '.Com' extension. •328 Million - Registered Domains in the year i.e 2013.•313.44 Million - Top Level Domains on the Net (.com, .org, .net, .gov etc.) •1193 Million - Total number of registered Domains on the net (TLD's, ccTLD's etc.)•35.24% - Market share of 'GoDaddy.com', the  Largest Domain registrar on the Planet

Tamanho da Internet

11

Mas qual é o tamanho?

•14.3 Trillion - Webpages, live on the Internet.•48 Billion - Webpages indexed by Google.Inc.•14 Billion - Webpages indexed by Microsoft's Bing. •672 Exabytes - 672,000,000,000 Gigabytes (GB) of accessible data.•43,639 Petabytes - Total World-wide Internet Traffic in the year 2013.•Over 9,00,000 Servers -  Owned by Google.Inc, the Largest in the world.•Over 1 Yotta-byte - Total data stored on the Internet (Includes almost everything).

(1 Yotta-byte = 1,000,000,000,000,000,000,000,000 Bytes!)

◦ Estamos nos

afogando em dados,

mas sedentos por

informação!

12

Introdução: por que Data Mining ?

A solução: data warehousing e data mining:

◦ Data warehousing e on-line analytical processing

(OLAP);

◦ Extração de conhecimentos interessantes (regras,

regularidades, padrões, restrições) a partir das

grandes bases de dados.

13

Introdução: por que Data Mining ?

Data mining (descoberta de conhecimento em Bases de Dados):

Extração de padrões de informação de interesse:1.não-trivial, 2.implícita, 3.previamente desconhecida e 4.potencialmente útil, de grandes BDs.

14

Introdução: por que Data Mining ?

15

Dilbert explica ...Introdução: por que Data Mining ?

Conceitos relacionados: ◦ Descoberta de conhecimento em BD (KDD), extração de conhecimento, análise de padrões em dados, information harvesting, business intelligence, etc.

O que não é data mining?◦ Processamento dedutivo de consultas; ◦ Sistemas especialistas e pequenos programas estatísticos e de aprendizagem de máquina.

16

Introdução: por que Data Mining ?

Gartner Group: “Data mining is the process of discovering meaningful new correlations, patterns and trends by sifting through large amounts of data stored in repositories, using pattern recognition technologies as well as statistical and mathematical techniques.”

17

Introdução: por que Data Mining ?

Aplicações

Análise e suporte à decisão:◦ Análise e gerenciamento de mercado;◦ Análise e gerenciamento de risco; e◦ Análise e gerenciamento de fraudes.

18

Aplicações

Outras aplicações:◦ Mineração de textos (documentos, emails, news) e Web mining.

◦ Resposta inteligente a consultas.

19

Análise e gerenciamento de mercado

Onde estão as fontes de dados para análise ?◦ Transações com cartões de crédito, cartões de fidelidade,

cupons de desconto, requisições de clientes e estudos sobre o estilo de vida dos clientes.

Marketing dirigido:◦ Encontra grupos de clientes “modelo” que compartilham as

mesma características: interesses, salário, hábitos de consumo, etc.

20

Análise e gerenciamento de mercado

Determinação de padrões de compra ao longo do tempo:◦ Conversão de conta simples para conjunta, casamento,

etc.

Análise de vendas cruzadas:◦ Associações e correlações entre vendas de produtos;◦ Predição baseada na informação de associações.

21

Análise e gerenciamento de mercado

Perfil do consumidor:◦ data mining pode informar que tipos de consumidores

compram quais produtos (agrupamento ou classificação);

Identificação dos requisitos dos clientes:◦ Identificação dos melhores produtos para os diferentes

clientes;

◦ Busca de fatores que atrairão os consumidores;

22

Análise e gerenciamento de mercado

Fornecimento de informação sumarizada:◦ Relatórios multidimensionais sumarizados;

◦ Informações estatísticas sumarizadas (tendência central e variação dos dados)

23

Análise corporativa e gerenciamento de risco

◦ Planejamento financeiro e avaliação de crédito;

◦ Planejamento de recursos;

◦ Monitoramento de competidores e do mercado;◦ Agrupamento de clientes em classes e procedimentos de preços baseados em classes;

24

Detecção e gerenciamento de fraudes

Aplicações:◦ Amplamente utilizado em serviços de cartões de crédito, telefonia celular, convênios de saúde, etc.

Abordagem:◦ Uso de dados históricos para construir modelos do comportamento fraudulento e uso de data mining para identificar instâncias similares;

25

Detecção e gerenciamento de fraudes

Exemplos:◦ Seguros de automóveis: detecção de pessoas que forjam acidentes para ganhar o seguro;

◦ Lavagem de dinheiro: detecção de transações suspeitas de dinheiro (US Treasury's Financial Crimes Enforcement Network)

◦ Seguros médicos: detecção de pacientes “profissionais” e médicos coniventes.

26

Outras aplicações ...

Esportes:◦ IBM Advanced Scout analisou as estatísticas dos jogos da NBA (cestas, bloqueios, assistências, faltas, etc) para auxiliar os times do New York Knicks e do Miami Heat;

Astronomia:◦ JPL e o Observ. do Monte Palomar descobriram 22 quasars com o auxílio de data mining;

27

A Internet como fonte de aplicações

◦ Um site de comércio eletrônico serve canal de negócios e laboratório;

◦ Pode ser limitado como canal de compra (valor do bem, segurança, privacidade ...);

◦ Como laboratório serve para testar campanhas, novos produtos, avaliar clientes, etc.

28

A Internet como fonte de aplicações

Problemas:◦A amostra de clientes de tendenciosa;◦O comportamento na internet não é o mesmo do presencial;◦O custo de um site é elevado;◦Muitos robôs de busca ...

29

30

KDD e DM

Data Mining e Business Intelligence

31

Increasing potentialto supportbusiness decisions End User

Business Analyst

DataAnalyst

DBA

MakingDecisions

Data PresentationVisualization Techniques

Data MiningInformation Discovery

Data Exploration

OLAP, MDA

Statistical Analysis, Querying and Reporting

Data Warehouses / Data Marts

Data SourcesPaper, Files, Information Providers, Database Systems, OLTP

KDD e Data Mining

Data mining é o coração do processo KDD

32

Data Cleaning

Data Integration

Databases

Data Warehouse

Task-relevant Data

Selection

Data Mining

Pattern Evaluation

KDD e Data Mining

33

Data Mining

Data Pre-Processing

Post-Processing

• Integração de Dados• Normalização• Seleção de atributos• Redução de

dimensionalidade

• Descoberta de padrões• Associação & correlação• Classificação• Agrupamento• Análise de desvios

• Avaliação,• Seleção, • Interpretação e• Visualização de

padrões

Visão simplificada do processo de KDD

1. Estudo sobre o domínio de aplicação:◦ Conhecimento relevante a priori e metas da aplicação;

2. Criação de um dataset alvo:◦ Seleção de dados;

3. Limpeza e pré-processamento dos dados:◦ Pode corresponder a 60 % do esforço;

4. Redução e transformação dos dados:◦ Encontrar atributos relevantes, redução de

dimensionalidade, representação de invariantes;

34

Passos do processo de KDD

5. Escolha da função de data mining:◦ Sumarização, classificação, regressão, associação,

regressão, agrupamento...

6. Escolha do algoritmo de mineração:◦ Busca aos padrões de interesse;

7. Avaliação dos padrões e apresentação do conhecimento:◦ Visualização, transformação, remoção de redundâncias, etc.

8. Uso do conhecimento descoberto.

35

Passos do processo de KDD

36

Em mais detalhes

Instância (item ou registro):◦ Um exemplo, descrito por certo número de atributos: um dia

descrito por temperatura, umidade e situação das nuvens;

Atributo (característica ou campo):◦ Medida de aspectos de uma instância, como o valor da

temperatura;

Classe (Rótulo):◦ Agrupamento de instâncias, e.g. dias bons para jogar tênis.

37

Alguns conceitos fundamentais

Base de treinamento:◦ Conjunto de exemplos utilizado para a geração do

procedimento / estrutura que servirá para a aplicação em outros casos;

Base de testes:◦ Conjunto de exemplos que será utilizado para verificar a

“eficiência” do procedimento de DM gerado, permitindo o cálculo de “taxa de acerto”, etc.

38

Alguns conceitos fundamentais

Desafio principal:

Encontrar padrões verdadeiros nos dados e evitar o “overfitting”: padrões que parecem significantes mas são aleatórios ou que só funcionam para o conjunto de treinamento dado.

39

Alguns conceitos fundamentais

1. Associação: descoberta de relações de correlação e causalidade;

2. Classificação: encontrar modelos que descrevem e distinguem classes para futura predição;

3. Agrupamento: reunir os dados segundo grupos similares (intra-grupo) e diferenciados (inter-grupos);

4. Detecção de Desvios: encontrar dados que não seguem a tendência apresentada pelos demais dados.

40

Funcionalidades da Mineração de Dados

Regras de associação

41

TID Produce 1 MILK, BREAD, EGGS 2 BREAD, SUGAR 3 BREAD, CEREAL 4 MILK, BREAD, SUGAR 5 MILK, CEREAL 6 BREAD, CEREAL 7 MILK, CEREAL 8 MILK, BREAD, CEREAL, EGGS 9 MILK, BREAD, CEREAL

Transações Conjuntos de itens frequentes

Milk, Bread (4)Bread, Cereal (3)

Milk, Bread, Cereal (2)…

Regra: Milk => Bread (suporte: 4/9, confiança: 4/6)

Classificação e Predição

• A partir de uma tabela previamente conhecida, determinar a classe a partir de atributos previsores;

• Classificação: atributo classe nominal;• Predição: atributo numérico (contínuo).

42

Classificação

43

TrainingData

NAME RANK YEARS TENUREDMike Assistant Prof 3 noMary Assistant Prof 7 yesBill Professor 2 yesJim Associate Prof 7 yesDave Assistant Prof 6 noAnne Associate Prof 3 no

ClassificationAlgorithms

IF rank = ‘professor’OR years > 6

THEN tenured = ‘yes’

Classifier(Model)

Classificação

44

Classifier

TestingData

NAME RANK YEARS TENUREDTom Assistant Prof 2 noMerlisa Associate Prof 7 noGeorge Professor 5 yesJoseph Assistant Prof 7 yes

Unseen Data

(Jeff, Professor, 4)

Tenured?

Agrupamento (clustering)

45

• O objetivo é agrupar os dados de acordo com grupos previamente desconhecidas;

• O agrupamento é baseado na maximização da similaridade intra-grupo e minimização da similaridade inter-grupos.

Análise de desvios (outlier analysis)

46

• Desvio (outlier): objeto que não está em conformidade com o comportamento geral dos dados;

• Pode ser considerado como ruído ou exceção mas é útil no caso da detecção de fraudes, análise de eventos raros, etc.

47

Visualizar adequadamente os dados facilita sobremaneira a análise

Visualização dos resultados

Todos os padrões descobertos são interessantes ?

48

• Nem todos os padrões gerados podem ser interessantes;• Abordagem sugerida: centrada no usuário e na aplicação,

que deve dirigir o processo de mineração;• Um padrão é interessante se for facilmente

compreendido, válido em um conjunto de dados novo / de teste com certo grau de certeza, potencialmente útil e anteriormente desconhecido, ou validando alguma hipótese que se deseja confirmar.

Mineração de Dados é um campo multidisciplinar

49

Data Mining

Database Technology Statistics

OtherDisciplines

InformationScience

MachineLearning Visualization

Sumário Data mining: descoberta de padrões interessantes em grandes quantidades de dados;

DM é uma evolução natural da tecnologia de DB, com grande número de possíveis aplicações;

O processo de KDD inclui a limpeza, integração, seleção e transformação dos dados, data mining, avaliação dos padrões e apresentação do conhecimento;

A mineração pode ser executada em vários repositórios de informação;

Funcionalidades do DM: associação, classificação, agrupamento, detecção de desvios.

50

Referências◦ P-N. Tan; M. Steinbach; V. Kumar. Introdução ao Data Mining. Ciência

Moderna, 2009.

◦ J. Han, M. Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2000.

◦ R. Goldschmidt; E. Passos. Data Mining: um Guia Prático. Editora Campus, 2005.

◦ I.H.Witten, E. Frank. Data Mining: Practical Machine Learning Tools and Techniques with JAVA Implementations. Morgan Kaufmann, 2000.

◦ R. O. Duda; P. E. Hart; D. G. Stork. Pattern Classification (2nd. Ed.) John Wiley and Sons Inc., 2001

◦ P. Adriaans, D. Zantinge. Data Mining. Addison-Wesley, 1996.

51

52

Como funciona ?

Classificador bayesiano (Naïve Bayes)

• Aprendizagem probabilista: calcula a probabilidade explícita das hipóteses;• Incremental:

• cada exemplo de treinamento pode aumentar / diminuir a probabilidade da hipótese;• conhecimento a priori pode ser combinado com os dados observados;

• Previsão probabilista:•Várias hipóteses podem ser previstas;•Fornece uma referência para comparação com outros métodos.

Classificador bayesiano (Naïve Bayes)

Fundamento: Teorema de Bayes;• Dado um conjunto de treinamento D, a probabilidade a posteriori de uma hipótese h, P(h|D) é dada por:

• A probabilidade máxima a posteriori MAP é:

• Simplificação (naïve): independência dos atributos.

)()()|()|(

DPhPhDPDhP

.)()|(maxarg)|(maxarg hPhDPHh

DhPHhMAPh

Exemplo: jogar ou não tênis ?

Outlook Temperature Humidity Windy Classsunny hot high false Nsunny hot high true Novercast hot high false Prain mild high false Prain cool normal false Prain cool normal true Novercast cool normal true Psunny mild high false Nsunny cool normal false Prain mild normal false Psunny mild normal true Povercast mild high true Povercast hot normal false Prain mild high true N

outlookP(sunny|p) = 2/9 P(sunny|n) = 3/5P(overcast|p) = 4/9 P(overcast|n) = 0P(rain|p) = 3/9 P(rain|n) = 2/5temperature

P(hot|p) = 2/9 P(hot|n) = 2/5P(mild|p) = 4/9 P(mild|n) = 2/5P(cool|p) = 3/9 P(cool|n) = 1/5humidityP(high|p) = 3/9 P(high|n) = 4/5P(normal|p) = 6/9 P(normal|n) = 2/5windyP(true|p) = 3/9 P(true|n) = 3/5P(false|p) = 6/9 P(false|n) = 2/5

P(p) = 9/14

P(n) = 5/14

Exemplo: jogar ou não tênis ?

Um novo exemplo: X = <rain, hot, high, false>◦ P(X|p)·P(p) =

P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) = 3/9·2/9·3/9·6/9·9/14 = 0.010582

◦ P(X|n)·P(n) = P(rain|n)·P(hot|n)·P(high|n)·P(false|n)·P(n) = 2/5·2/5·4/5·2/5·5/14 = 0.018286

O exemplo X é classificado como da classe n (não jogar).

Árvores de Decisão

57

• Estruturas do tipo “fluxograma”;

• Nós internos denotam testes em atributos;

• Ramos representam saídas dos testes;

• Nós folha representam rótulos de classe.

Árvores de Decisão

58

age income student credit_rating buys_computer<=30 high no fair no<=30 high no excellent no31…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes>40 medium no excellent no

Exemplo:ID3 de Quinlan

Árvores de Decisão

59

age?

overcast

student? credit rating?

no yes fairexcellent

<=30 >40

no noyes yes

yes

30..40

Buys computer ?

Árvores de Decisão

• A ordem de avaliação dos atributos é importante: no caso do ID3, C4.5, J48 utiliza-se a ordenação por ganho de informação, relacionado à entropia, o que produz árvores menores; • Representação por regras IF-THEN:

–Uma regra para cada caminho da raiz à folha;–Cada par (atributo, valor) forma um teste;–Cada folha determina a classe prevista;

Árvores de Decisão•Regras são de fácil compreensão aos usuários:

IF age = “<=30” AND student = “no” THEN buys_computer = “no”

IF age = “>40” AND credit_rating = “excellent”

THEN buys_computer = “yes”

62

Exemplo

Exemplo de aplicaçãoUso da ferramenta WEKA (Waikato Enviroment for Knowledge Aquisition):

• Ferramenta em código aberto para Mineração de Dados http://www.cs.waikato.ac.nz/ml/weka/

• Usada também na plataforma Pentaho http://www.pentaho.com/;

• Vários procedimentos para pré-processamento, associação, classificação, agrupamento, análise de resultados...

Exemplo de aplicaçãoArquivo de entrada do WEKA – formato “arff”:

• @RELATION iris• @ATTRIBUTE sepallength REAL• @ATTRIBUTE sepalwidth REAL• ...• @ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-

virginica}• @DATA• 5.1,3.5,1.4,0.2,Iris-setosa• 4.9,3.0,1.4,0.2,Iris-setosa• 4.7,3.2,1.3,0.2,Iris-setosa• 4.6,3.1,1.5,0.2,Iris-setosa• ...

Exemplo de aplicaçãoO arquivo “IRIS”:

• Objetivo: classificar o tipo da planta IRIS de acordo com os atributos preditores;

• 4 atributos preditores: comprimento e largura da pétala e da sépala (em cm);

• 150 instâncias, 50 de cada classe;• 3 classes: IRIS-SETOSA, IRIS-VERSICOLOR e IRIS-

VIRGINICA.

Exemplo de aplicaçãoIRIS e Naïve-Bayes:

• “Hold-out” com 66 %, 33%;• Instâncias classificadas corretamente: 48 => 94.1176%• Matriz de confusão:

a b c <-- classified as 15 0 0 | a = Iris-setosa 0 18 1 | b = Iris-versicolor 0 2 15 | c = Iris-virginica

Exemplo de aplicaçãoIRIS e J48:

• “Hold-out” com 66 %, 33%;• Instâncias classificadas corretamente: 49 => 96.0784 %• Matriz de confusão:

a b c <-- classified as 15 0 0 | a = Iris-setosa 0 19 0 | b = Iris-versicolor 0 2 15 | c = Iris-virginica

Exemplo de aplicaçãoIRIS e Rede Neural Multilayer Perceptron:

• “Hold-out” com 66 %, 33%;• Instâncias classificadas corretamente: 50 => 98.0392 %• Matriz de confusão:

a b c <-- classified as 15 0 0 | a = Iris-setosa 0 19 0 | b = Iris-versicolor 0 1 16 | c = Iris-virginica

69

FIM