Upload
venetia-natasha
View
26
Download
0
Embed Size (px)
DESCRIPTION
Exercícios. Java Bayes Embayes/R. 1. JavaBayes 0.4. Iniciar JavaBayes 0.4 Criação de nova rede Nós Arcos Probabilidades. Nós e arcos. Edit node. Edição de probabilidades. Edição de probabilidades. Consultas à rede. Probabilidade posterior, sem observações: Ouvir latidos - PowerPoint PPT Presentation
Citation preview
Exercícios
Java BayesEmbayes/R
1. JavaBayes 0.4
Iniciar JavaBayes 0.4Criação de nova rede Nós Arcos Probabilidades
Nós e arcos
Edit node
Edição de probabilidades
Edição de probabilidadestrue false
p(fam fora) 0.15 0.85
p(prob bexiga) 0.01 0.99
p(luz acesa | fam fora = true ) 0.60 0.40
p(luz acesa | fam fora = false ) 0.05 0.95
p(cach fora | fam fora = true & prob bexiga = true)
0.99 0.01
p(cach fora | fam fora = true & prob bexiga = false)
0.90 0.10
p(cach fora | fam fora = false & prob bexiga = true)
0.97 0.03
p(cach fora | fam fora = false & prob bexiga = false)
0.30 0.70
p(ouvir latidos | cach fora = true) 0.70 0.30
p(ouvir latidos | cach fora = false) 0.01 0.99
Consultas à redeProbabilidade posterior, sem observações:
•Ouvir latidostrue = 0.28 false = 0.72
Probabilidade posterior:Observações: Cachorro fora -> true•Problema bexiga
true = 0.02 false = 0.98•Ouvir latidos
true = 0.70 false = 0.30
Probabilidade posterior:Observações: Luzes acesas -> false, Ouvir
latidos= true•Família fora
true = 0.17 false = 0.83•Cachorro fora
true = 0.97 false = 0.03
Outras consultas
Ouvir latidos: true
Luzes acesas: false
Cachorro fora: true
Familia fora: false
iBNetzhttp://www.pmr.poli.usp.br/ltd/People/asaheki/software/
Interface para o EmBayes
• Mais opções para visualização e edição
Rede para decisão médica
Projeto em conjunto com Hospital Universitário-USPConstrução feita com o auxílio de especialistas médicosTem como objetivo a identificação de doenças cardíacas
Rede para decisão médica (II)
2. Embayes/R
Iniciar Rterm ex: > c:\Arquivos de Programas\R\r1080\bin\rterm
Alterar para pasta de trabalho desejada ex: > setwd(“c:/EmBayesR”)
Carregar “sources.r” source(“sources.r”)
Operações em Redes Bayesianas
Nova rede rede = newNetwork(“rede1”)
Adicionar variáveis rede$addVar(“no1”) rede$addVar(“no2”, c(“est1”, “est2”,
“est3”)) rede$addVar(“no3”)
Mostrar variáveis rede$listVars()
Operações em Redes Bayes. (II)
Ligar variáveis rede$addArc(“no1”, “no2”) rede$addArc(“no1”, “no3”)
Definir probabilidades rede$setProbabilities(“no1”, c(0.2, 0.8)) rede$setProbabilities(“no2”, c(0.1, 0.4, 0.2,
0.25, 0.7, 0.35)) rede$setProbabilities(“no3”,
c(0.4,0.3,0.6,0.7))
Operações em Redes Bayes. (III)
Consultas/observações rede$query(“no1”) rede$query(c(“no2”, “no3”)) rede$observeVariable(“no2”, “est1”) rede$query(“no1”)
Alterações rede$deleteVar(“no2”) rede$deleteArc(“no1”, “no3”)
AprendizadoBase de dados adult dataLearn <-
readDiscreteData(“adult_learn.in") adultLearn <- convertRData(dataLearn)
dataTest = readDiscreteData(“adult_test.in") adultTest <- convertRData(dataTest)
Aprendizado (II)Aprendizado TAN – parâmetros default
redeA = learnNetwork(algorithm = "TAN", learnData = adultLearn)
redeA$testNetwork(adultTest) redeA$showNetwork() – edição manual
Novo teste
adultTest$reopen()
redeA$testNetwork(adultTest)
Aprendizado (III)Aprendizado Naive-Bayes Base de dados
adultLearn$reopen() adultTest$reopen()
redeB = learnNetwork(algorithm=“NB”, learnData = lettersLearn, maxIterations = 1, likelihoodChange = 0.01)
redeB$testNetwork(lettersTest) redeB$listVars() redeB$observeVariable(“X12”) redeB$showNetwork() redeB$query(“c”)