A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DSI – Desenvolvimento de Sistemas Inteligentes

Apresentações semelhantes


Apresentação em tema: "DSI – Desenvolvimento de Sistemas Inteligentes"— Transcrição da apresentação:

1 DSI – Desenvolvimento de Sistemas Inteligentes
sexta-feira, 22 de fevereiro de 2019

2 24 WEKA DSI – Desenvolvimento de Sistemas Inteligentes
Introdução Métodos Suportados Origem dos Dados Jogar ou não tênis usando árvores de decisão Matriz de Confusão Instalando o WEKA Exercícios Prof. Frederico Brito Fernandes sexta-feira, 22 de fevereiro de 2019

3 Universidade de Waikato - Nova Zelândia
(1) Introdução Universidade de Waikato - Nova Zelândia Waikato Environment for Knowledge Analysis Coleção de algoritmos de aprendizagem de máquina para resolução de problemas de Data Mining implementado em Java open source software

4 (2) Métodos de aprendizagem suportados
decision tree inducers rule learners naive Bayes decision tables locally weighted regression support vector machines instance-based learners logistic regression voted perceptrons Multi-Layer Perceptron etc

5 Arquivo local no formato .arff Arquivo em URL no formato .arff
(3) Origem dos Dados Arquivo local no formato .arff Arquivo em URL no formato .arff Tabelas de Banco de Dados via JDBC

6 O weka lê os dados no formato .arff
(3) Preparando os dados O weka lê os dados no formato .arff Uma lista de todas as instâncias, onde o valor dos atributos são separados por vírgula mais um cabeçalho Ex(weather.arff): @relation weather %Nome do arquivo @attribute outlook {sunny, overcast, rainy} @attribute temperature real %Atributo e tipo @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data %Início dos dados sunny,85,85,FALSE,no overcast,83,86,FALSE,yes

7 (4) Problema: jogar ou não golf/tênis
Dados do tempo Algoritmo weka.classifier.j48.J48 <=75 >75

8 (4) Aprendizado de árvores de decisão
J48 pruned tree outlook = sunny | humidity <= 75: yes (2.0) | humidity > 75: no (3.0) outlook = overcast: yes (4.0) outlook = rainy | windy = TRUE: no (2.0) | windy = FALSE: yes (3.0) Number of Leaves : 5 Size of the tree : 8

9 a b <-- classified as 8 1 | a = yes 2 3 | b = no
(5) Matriz de Confusão === Confusion Matrix === a b <-- classified as 8 1 | a = yes 2 3 | b = no

10 (6) Instalando o software
1. Instale o WEKA a partir de 2. Interface gráfica é composta por: SimpleCLI – abre uma sessão no sistema operacional pronta para executar comandos do weka Explorer – faz um teste específico para um classificador (é aqui que iremos trabalhar) Experimenter – realize testes entre vários classificadores Knowledge Flow – permite criar experimentos complexos usando componentes gráficos ArffViewer – visualizador de arquivos arff Log 3. Dentro da aplicação Java Utilize a biblioteca weka.jar para criar um classificador dentro do seu projeto java

11 (7) Criando uma MLP em Java
import java.io.FileReader; import java.io.IOException; import weka.classifiers.functions.MultilayerPerceptron; import weka.core.Instance; import weka.core.Instances; public class RedeNeural { private static final int outlook=0; private static final int temperature=1; private static final int humidity=2; private static final int windy=3; public static void main(String[] args) throws IOException, Exception { Instances arq = new Instances(new FileReader("C:/Arquivos de programas/Weka-3-5/data/weather.arff")); arq.setClassIndex(arq.numAttributes() - 1); MultilayerPerceptron rna = new MultilayerPerceptron(); rna.buildClassifier(arq); Instance entrada = new Instance(5); entrada.setValue(outlook, 0); entrada.setValue(temperature, 69); entrada.setValue(humidity, 70); entrada.setValue(windy, 1); entrada.setDataset(arq); System.out.println("Esse cara vale: " + rna.classifyInstance(entrada)); entrada.setValue(temperature, 72); entrada.setValue(humidity, 95); System.out.println("Esse exemplo vale: " + rna.classifyInstance(entrada)); }

12 (7) Criando uma MLP em Java: exercícios
Em cada problema listado abaixo, você deverá: Usar a interface gráfica no WEKA para criar um classificador MLP para esse problema Criar um projeto no Eclipse que realize essa classificação Problemas: Tabela verdade do OR Reconhecimento de três caracteres: Classificação de bom e mau pagador: Idade Renda Filhos Sexo CLASSE 25 R$ 1.100,00 1 M BOM (1) 42 R$ 3.500,00 F MAU (0) 32 R$ 4.200,00 5 18 R$ 500,00


Carregar ppt "DSI – Desenvolvimento de Sistemas Inteligentes"

Apresentações semelhantes


Anúncios Google