170 likes | 246 Views
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
E N D
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
Consultas à rede • Probabilidade posterior, sem observações: • Ouvir latidos • true = 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/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-USP • Construção feita com o auxílio de especialistas médicos • Tem como objetivo a identificação de doenças cardíacas
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”)
Aprendizado • Base 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”)