21
Alunos: Cassius Busemeyer Cristiane Luquetta

Mineração de Dados na Base Soybean Large

Embed Size (px)

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/).

Citation preview

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!