Mineração de Dados na Base Soybean Large

21
Alunos: Cassius Busemeyer Cristiane Luquetta

description

Aplicação de técnicas de mineração de dados na base soybean large, disponibilizada no site UCI KDD (http://kdd.ics.uci.edu/). Autores: Cassius Busemeyer, Cristiane Aparecida Luquetta.

Transcript of Mineração de Dados na Base Soybean Large

Page 1: Mineração de Dados na Base Soybean Large

Alunos:

Cassius Busemeyer

Cristiane Luquetta

Page 2: Mineração de Dados na Base Soybean Large

As sete pontes de Königsberg:

Teoria dos grafos;

Vizinho mais próximos entre outros;

K-NN (vizinho mais próximo);

IB1.

Page 3: Mineração de Dados na Base Soybean Large

Instance Based Learning;

Pouco esforço computacional no treino;

Compara-se ao J.48 (autores do algoritmo);

Usa distância euclidiana para calcular similaridade.

Page 4: Mineração de Dados na Base Soybean Large

Vantagens

•Aceita valores ausentes (atribuindo um valor muito alto);

Desvantagens

•não pode determinar qual o número de vizinhos mais próximos a calcular;

•em alguns casos a distância euclidiana perde o poder de discriminação de diferenças, exigindo uma classificação dos dados;

•algoritmos posteriores IB2, IB3, IB4 e IB5 aceitam, mas ignoram os valores ausentes.

Page 5: Mineração de Dados na Base Soybean Large

Compara exemplos do treino com 1 (um) exemplo da base e classifica-o escolhendo a classe da instância com maior grau de similaridade;

Hãã: Pega o exemplo mais parecido

do conjunto de treino.

Page 6: Mineração de Dados na Base Soybean Large

PARA CADA x pertencente aos dados de treino FAÇA

1 PARA CADA y pertencente a base FAÇA

Sim [y] = similaridade (x,y)

2 ymax – alguns y pertencem a base com maximo sim[y]

3 SE class(x) = class (ymax)

ENTÃO classificação – correta

SENÃO classificação – incorreta

4 Classe – Classe U {x}

Page 7: Mineração de Dados na Base Soybean Large

Deriva da Teoria dos Jogos de John Von Neumann (1926);

Albert Tucker cria o dilema do prisioneiro (1950);

John Nash mostra que existe equilíbrio entre jogos não-cooperativos (1951).

Page 8: Mineração de Dados na Base Soybean Large

Vantagens

•Bastante usado para jogos;

Desvantagens

•Não aceita valores ausentes;

•Não funciona muito bem em bases grandes.

Page 9: Mineração de Dados na Base Soybean Large

São explorados os lances possíveis para cada jogada até o fim do jogo ou profundidade da árvore (n jogadas). E escolhido o melhor lance possível para o jogador;

Hãã: cria todas as jogadas possíveis de um

jogo até seu fim (ou até onde a máquina ou

tempo permitir) e escolhe a melhor.

Page 10: Mineração de Dados na Base Soybean Large

1. VERIFIQUE as próximas jogadas diretamente atingíveis a partir do tabuleiro corrente

SE a altura máxima de busca não tiver sido alcançada;SENÃO

RETORNE a estimativa (heurística) do tabuleiro corrente;2. ENTÃO caso uma se trate de posição de vitória, dê a ela a mais alta estimativa possível e retorne este valor;3. SENÃO considere todos os movimentos que o oponente possa fazer em seguida.

RETORNE a pior jogada /*do oponente*/ contra a máquina.

ATIVE recursivamente a expansão de estados;4. ESCOLHA a jogada com a mais alta estimativa.

Page 11: Mineração de Dados na Base Soybean Large

É comparado com métodos estatísticos, principalmente NBC (Naive Bayes Classifier);

Algoritmo funciona de modos diferentes para valores numéricos e nominais;

Vantagens

•Aceita valores ausentes (ignorando-os);

Desvantagens

• ???? (não encontrado na literatura);

Page 12: Mineração de Dados na Base Soybean Large

Cria um vetor descrevendo valores de um atributo e dá notas para cada valor de acordo com a classe, discretiza os dados, a classe mais votada ganha o atributo;

Hãã: cada valor de atributo de uma

instância vota numa classe e é eleita

a mais votada.

Page 13: Mineração de Dados na Base Soybean Large

LEIA a base de treino

INÍCIO

PARA CADA característica f

PARA CADA classe c

End_point = end_points[f] une-se com find_end_points (training Set, f,c); tipo (end_points[f]);

SE f é linear

Cada par de distintos pontos consecutivos em end_points[f] forma escala intervalar

SENÃO /* é nominal */

Cada ponto distinto em end_points forma um ponto de intervalo

PARA CADA intervalo i na dimensão de atributos f

PARA CADA Classe c

Interval_class_count[f,i,c]= 0

Count_instances(f,conjunto de treino);

PARA CADA intervalo i nos atributos

PARA CADA classe c

Interval_class_vote[f,i,c]=interval_class_count[f,i,c]/class_count[c]

Normalize interval_class_vote[f,i,c];

/*tal que somatório de intervalo_class_vote[f,i,c]=1 */

FIM.

Contagem de instâncias (f,conjunto de treino);

INÍCIO

PARA CADA instância no conjunto de treino

SE ef é conhecido

I = encontre intervalos (f,ef)

Ec= classe da instância e

SE i é um ponto de intervalo

SE ef= limite mais baixo de i

Interval_class_count[f,i,ec]+=1

SENÃO /* é um range interval*/

SE ef= limite mais baixo de i

Interval_class_count[f,i-1,ec]+=0.5

Interval_class_count[f,I,ec]+=0.5

SENÃO /* e entra no i*/

Interval_class_count[f,i,ec]+=1

FIM

Classificação do algoritmo

INÍCIO

PARA CADA classe c

Vote[c]=0

PARA CADA atributo f

PARA CADA classe c

Feature_vote[f,c] = 0

SE ef é um valor conhecido

I= encontre intervalos (f,ef)

SE I é um ponto de intervalo

SE ef= limite mais baixo de i

PARA CADA classe c

Feature_vote[f,c] = intervals_class_vote[f,I,c]

SENÃO /*É uma escala intervalar*/

PARA CADA classe c

Feature_vote[f,c] = interval_class_vote[f,i-1,c] + interval_class_vote[f,I,c]/2

SENÃO /*entra no intervalo i*/

PARA CADA classe c

Feature_vote[f,c] = interval_class_vote[f,I,c]

PARA CADA classe c

Vote[c] = vote[c] + feature_vote[f,c];

RETORNE a classe c com maior vote[c]

FIM

Page 14: Mineração de Dados na Base Soybean Large

Base sobre doenças da soja.

Originada de um trabalho Michalski e Chilausky;

Repositório disponibiliza duas versões:

340 instâncias e 307 instâncias;

Alguns autores dizem que Michalski e Chilausky não disponibilizaram os dados corretamente e não sabem como eles chegaram aos resultados divulgados;

Outros autores dizem que a base disponibilizada não é a mesma do trabalho original.

Page 15: Mineração de Dados na Base Soybean Large

Variação dos tipos de doenças da soja.

Causador: Fungo (mais temidas); Vírus; Nematóides; Fitoplasma; Protozoários; Plantas parasitárias; Agentes variados (poluição,

temperatura);

Por região geográfica: Existem doenças particulares do

Brasil, EUA.

Etc...

Page 16: Mineração de Dados na Base Soybean Large

Soybean_307

19 doenças

55 inst ausentes

712 val – 34/36 atributos

Soybean_290

15 doenças

39 inst ausentes

390 val – 19/36 atributos

Soybean_250

14 doenças

Nenhuma inst ausente

1 instância a mais excluída

Page 17: Mineração de Dados na Base Soybean Large

MiniMax;

V.F.I;Comparado c/ NaiveBayes.

IB1;Comparado com J.48.

Page 18: Mineração de Dados na Base Soybean Large

Todos os resultados passaram de 75% na fase inicial (dito como suficiente – Witten e Frank, 2005).

Use training set soybean_250 soybean_290 soybean_307

IB1 100,00% 100,00% 100,00%

J.48 95,20% 95,52% 95,11%

VFI 88,80% 84,83% 86,65%

NaiveBayes 92,00% 93,10% 93,16%

MiniMax 80,00% X X

Page 19: Mineração de Dados na Base Soybean Large

Algoritmo (nº part.) soybean_250 soybean_290 soybean_307

IB1 (10 folds) 88,00% 90,69% 91,21%

IB1 (30 folds) 88,80% 92,76% 90,88%

J.48 (10 folds) 87,20% 88,62% 83,06%

J.48 (30 folds) 88,00% 89,66% 81,43%

VFI (10 folds) 87,60% 82,41% 82,41%

VFI (30 folds) 87,20% 82,41% 82,08%

NaiveBayes (10 folds) 88,80% 89,31% 90,88%

NaiveBayes (30 folds) 88,40% 88,97% 90,88%

Minimax (10 folds) 40,40% X X

Minimax (30 folds) 40,40% X X

Page 20: Mineração de Dados na Base Soybean Large

Dificuldades:

Entendimento da base;

Pouca literatura ou literatura com informações divergentes sobre os algoritmos;

Pesquisadores não responderam/etapa de validação;

Próximos trabalhos:

Melhor avaliação e comparação de resultados.

Page 21: Mineração de Dados na Base Soybean Large

Obrigado!