59
MINERAÇÃO DE DADOS APLICADA Pedro Henrique Bragioni Las Casas [email protected]

Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Embed Size (px)

Citation preview

Page 1: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

MINERAÇÃO DE

DADOS APLICADA Pedro Henrique Bragioni Las Casas

[email protected]

Page 2: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Processo

Page 3: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Weka – uma Ferramenta Livre para Data

Mining

Page 4: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

O que é Weka?

• Weka é um Software livre do tipo open source para

mineração de dados, desenvolvido em Java.

• O sistema foi desenvolvido por um grupo de

pesquisadores da Universidade de Waikato, Nova

Zelândia.

• Ao longo dos anos se consolidou como a ferramenta de

data mining mais utilizada em ambiente acadêmico.

Page 5: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

O que é Weka?

• Seu ponto forte é a tarefa de classificação, mas também

é capaz de minerar regras de associação e clusters de

dados.

• Pode ser utilizada no modo console ou através da

interface gráfica Weka Explorer.

Page 6: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Livro do Weka

• As características da Weka e

as técnicas nela

implementadas são

apresentadas no livro “Data

Mining: Practical Machine

Learning Tools and

Techniques”

• Os autores do livro são os

idealizadores da ferramenta.

Page 7: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Como usar o Weka?

• Interface Gráfica: o ambiente Weka Explorer permite a

execução dos algoritmos de data mining da Weka de

forma interativa.

Page 8: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Como usar o Weka?

• Console: fazendo a chamada aos algoritmos no prompt.

java weka.associations.Apriori -t veiculos.arff

Page 9: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Formato dos dados

• Formatos:

• ARFF

• CSV

• Entre outros

Page 10: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Formato ARFF

• O formato ARFF é utilizado como padrão para estruturar

as bases de dados manipuladas pela Weka.

Page 11: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Formato ARFF

• Ele corresponde a um arquivo texto contendo um

conjunto de registros, precedido por um pequeno

cabeçalho.

Page 12: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Formato ARFF

Page 13: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Formato ARFF

Page 14: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Formato ARFF

Page 15: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Técnicas

• Regras de Associação: identificação de grupos de

dados que apresentam co-ocorrência entre si (ex. cesta

de compras).

• Regressão ou Predição: aprendizado de uma função

que pode ser usada para mapear os valores associados

aos dados em um ou mais valores reais.

Page 16: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Técnicas

• Agrupamento (ou clustering): identificação de grupos

de dados onde os dados tem características semelhantes

aos do mesmo grupo e onde os grupos tenham

características diferentes entre si.

• Classificação: aprendizado de uma função que pode ser

usada para mapear dados em uma de várias classes

discretas definidas previamente.

Page 17: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Encontrar tendências que possam ser usadas para

entender e explorar padrões de comportamento dos

dados.

Page 18: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Regras sobre relações e co-ocorrências em bases de

dados:

• Se X ocorre na base de dados, então Y também ocorre (com

alguma relação a X).,

• Co-ocorrência: se X, Y e Z ocorrem na base de dados

então A também ocorre (com alguma relação a X, Y e Z).

• X, Y e Z são os antecedentes da associação; A é o conseqüente.

• Muito usado para verificar associações em tabelas de

transações (“carrinhos de compra”)

Page 19: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Exemplo simples:

Page 20: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Conclusões simples sobre a base de dados da tabela: • Quem compra leite quase

sempre compra ovos.

• Como definir “quase sempre”? Quantas vezes isso ocorre na base de dados?

• Quem compra ovos e açúcar sempre compra leite.

• Mas quantas compras contém ovos e açúcar? O que causa a compra de leite?

• Quem compra cerveja sempre compra fraldas.

• Quantas vezes isso ocorre na base de dados? Isso é relevante?

Page 21: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Métricas:

• Significância em uma associação: ela pode existir mas ser muito

rara em uma base de dados (ex. cerveja → fraldas).

• Suporte X → Y: número de casos que contém X e Y dividido pelo

número total de registros.

• Confiança em uma associação: o antecedente pode ocorrer várias

vezes na base de dados mas nem sempre com o mesmo

conseqüente associado.

• Confiança X → Y: número de registros que contém X e Y dividido pelo

número de registros que contém X.

Page 22: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Algoritmo Apriori:

1. Entrada: coleção de dados associados, suporte mínimo, confiança

mínima.

2. Considerar K = 1 para criação de K-itemsets

3. Analisar os dados associados e criar uma tabela de K-itemsets

com suporte acima do suporte mínimo.

4. Criar com os itemsets filtrados um conjunto de candidatos a (K + 1)

itemsets.

5. Usar propriedades do Apriori para eliminar itemsets infreqüentes.

6. Repetir desde o passo 3 até que o conjunto gerado seja vazio.

7. Listar regras de associação (com permutações) e aplicar limite de

confiança.

Page 23: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Simulação do Apriori com suporte mínimo 25% e

confiança 75%:

Page 24: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Simulação do Apriori com suporte mínimo 25% e

confiança 75%:

Page 25: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Simulação do Apriori com suporte mínimo 25% e

confiança 75%:

Page 26: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Simulação do Apriori com suporte mínimo 25% e

confiança 75%:

Page 27: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Simulação do Apriori com suporte mínimo 25% e

confiança 75%:

Page 28: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Simulação do Apriori com suporte mínimo 25% e

confiança 75%:

Page 29: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regras de Associação

• Simulação do Apriori com suporte mínimo 25% e

confiança 75%:

Page 30: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regressão

• A análise de regressão entende-se como previsão.

Quando fazemos uma regressão, queremos prever

resultados.

• O objetivo é prever os valores de uma variável

dependente com base em resultados da variável

independente.

• Fórmula da regressão linear: Y = ax + b, sendo x a

variável independente e y a variável dependente.

Page 31: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regressão no Weka

Page 32: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regressão no Weka

Page 33: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regressão no Weka

Page 34: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regressão no Weka

Page 35: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regressão no Weka

Page 36: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Regressão no Weka

• Logo, para descobrir o valor da casa, na pergunta inicial, substituímos os valores.

• Granito não tem importância

• Banheiros são importantes

• Casas maiores reduzem o valor

Page 37: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Algoritmos supervisionados e não

supervisionados

• Algoritmos não-supervisionados: Aprendizado por

observação e descoberta. Não requer exemplos rotulados

para sua execução.

• Algoritmos supervisionados: Aprendizado por exemplos.

Requer dados previamente rotulados para serem

utilizados em sua execução.

Page 38: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento (Algoritmo Não-

Supervisionado)

• Agrupamento ou Clusterização (Clustering)

• Algoritmos para criação de grupos de instâncias

• Similares entre si

• Diferentes de instâncias em outros grupos

• Não-supervisionado

Page 39: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• Objetivo: dividir automaticamente um conjunto de objetos

em grupos (clusters) de acordo com algum de tipo de

relacionamento de similaridade existente.

Page 40: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• Exemplo: se você tivesse que dividir em dois grupos de

acordo com a similaridade, como você faria?

Page 41: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• Outras soluções: crianças e adultos, gordos e magros,

inteligentes e nem tanto (!), fumantes e não-fumantes, …

(veja que clustering é difícil e subjetivo!!!)

Page 42: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• Um algoritmo muito conhecido e estabelecido é o K-

means

Page 43: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• Entrada: instâncias, medida de distância, número de

grupos (K)

• Cada grupo possui um centróide

• O centróide de um cluster é um ponto cujo valores de parâmetros

são os valores de parâmetros médios para todos os pontos do

cluster

• Saída: centróides dos grupos, pertinência das instâncias

aos grupos, métricas.

• O algoritmo tenta minimizar o erro quadrático calculado

entre as instâncias e os centróides dos grupos.

Page 44: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• K-means – Passos:

1. Inicializamos os centróides dos K grupos.

2. Marcamos cada instância como pertencente ao grupo (centróide)

mais próximo.

3. Recalculamos os centróides dos grupos considerando as

pertinências.

4.Recalculamos o erro quadrático total.

5.Verificamos condições de parada e repetimos a partir do passo 2.

Page 45: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

Page 46: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

Page 47: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

Page 48: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• Problemas:

• Múltiplas iterações considerando todos os dados: problemas de

performance.

• Inicialização: como escolher centróides iniciais (impacto na

convergência).

• Singularidades: grupos sem instâncias relacionadas.

• Escolha de K?

• Existe um K' melhor do que o K?

Page 49: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Agrupamento

• Existem diversos outros algoritmos para agrupamento

• X-means

• EM

• Lógica Fuzzy

• Agrupamento hierárquico

Page 50: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Predição de uma categoria ou classe discreta.

• Como entrada: instâncias para as quais as classes são

conhecidas.

• Com isso criamos um classificador ou modelo (fase de

treinamento).

• Como entrada em uma segunda fase, temos vários dados

para os quais as classes não são conhecidas.

• Usamos o classificador para indicar classes para estes dados.

• Podemos avaliar o modelo classificando instâncias com classes

conhecidas.

Page 51: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

Page 52: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Métodos de classificação supervisionada:

• Baseados em separabilidade (entropia): árvores de decisão e

variantes.

• Baseados em particionamento: SVM (support vector machines).

Page 53: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Árvores de Decisão

• Uma árvore representa uma função discreta para aproximar/

representar os dados de treinamento

• Árvores de Decisão classificam instâncias ordenando-as da raíz

para algum nó folha

• Cada nó da árvore representa um atributo

Page 54: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Árvores de Decisão • Considere a tomada de decisão para o problema “Jogar Tênis”

• Classifica se um determinado dia é adequado ou não para jogar tênis

• Por exemplo:

• Tendo a instância:

• <Panorama=Ensolarado, Temperatura=Quente, Umidade=Alta>

• Saída:

• Não!

Page 55: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Árvores de Decisão são adequadas para problemas em

que:

• Instâncias são representadas por pares atributo-valor

• Há um conjunto fixo de atributos (ex: Umidade) e seus valores (ex:

Alta, Normal)

• Situação ideal é quando cada atributo pode assumir poucos

valores (discretos), no entanto, árvores de decisão podem,

também, trabalhar com atributos reais (contínuos)

Page 56: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Árvores de decisão

• A função a ser aproximada tem valores discretos

• No exemplo a função deve produzir “Sim” ou “Não”

• Pode-se facilmente estendê-las para produzir mais de dois valores

de saída

• Tornam-se mais complexas e menos utilizadas em cenários cujos

valores de saída são reais (contínuos)

Page 57: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Aplicações comuns:

• Diagnóstico de pacientes

• Problemas em equipamentos mecânicos e elétricos

• Análise de crédito

Page 58: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Support Vector Machine (SVM)

• Deseja-se construir hiperplanos para separar pontos de duas

classes

• Em duas dimensões, hiperplanos são linhas

• Ex. Classificação linear

Page 59: Mineração de Dados Aplicada - walderson.comwalderson.com/site/wp-content/uploads/2017/02/Mineracao-de-Dados... · O que é Weka? •Weka é um Software livre do tipo open source

Classificação

• Support Vector Machine (SVM)

• Deseja-se a linha que maximiza a margem entre os exemplos de

ambas as classes