楼主: xingzhaoh
5109 8

[问答] 关于贝叶斯网络的例子 [推广有奖]

副教授

20%

还不是VIP/贵宾

-

威望
0
论坛币
3407 个
通用积分
13.9638
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
583 点
帖子
421
精华
0
在线时间
703 小时
注册时间
2011-9-14
最后登录
2023-11-17

楼主
xingzhaoh 发表于 2016-4-13 10:14:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠,谁有关于贝叶斯网络的R语言例子和代码?可以分享一下指导一下,越详细越好?
谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:贝叶斯网络 贝叶斯网 贝叶斯 各位大侠 分享一下 网络

沙发
444165395@qq.co 发表于 2017-1-21 19:17:58
请问您找到了吗,我也正在学习贝叶斯网络,能否共享一下?

藤椅
xingzhaoh 发表于 2017-6-13 07:20:14
444165395@qq.co 发表于 2017-1-21 19:17
请问您找到了吗,我也正在学习贝叶斯网络,能否共享一下?
学的很痛苦

板凳
jiandong4388 学生认证  发表于 2017-6-13 07:58:05 来自手机
只是学了代码。具体例子还没有找到。

报纸
范晶1994 发表于 2017-8-26 10:56:14
jiandong4388 发表于 2017-6-13 07:58
只是学了代码。具体例子还没有找到。
能分享下代码吗

地板
大笨蛋林林 发表于 2019-9-11 09:38:59
jiandong4388 发表于 2017-6-13 07:58
只是学了代码。具体例子还没有找到。
可以分享一下贝叶斯网络学习的代码吗?

7
wqp694712729 学生认证  发表于 2020-4-11 19:45:57
可以去看一下我的帖子

8
wqp694712729 学生认证  发表于 2020-4-11 19:51:15
在做毕业设计的时候做的一个贝叶斯网络,下面是程序代码,有问题可以一起交流
library(bnlearn)
survey <- read.csv("C:\\Users\\Administrator.DESKTOP-DD2HFLO\\Desktop\\survey.csv")
str(survey)

#把整型变量转换为数值型变量
survey2=as.data.frame(matrix(as.numeric(as.matrix(survey)),nrow=33,ncol=10))
colnames(survey2)=c("SY", "SJ", "KF", "LT", "DD", "T", "W", "A",
                    "J", "N")
str(survey2)
#生成贝叶斯网络
dg <- empty.graph(nodes = c("X","N","SY","SJ","KF","LT","DD","T","W","A","J"))
dg <- set.arc(dg, from = "X", to ="T")
dg <- set.arc(dg, from = "X", to ="W")
dg <- set.arc(dg, from = "X", to ="A")
dg <- set.arc(dg, from = "X", to ="J")
dg <- set.arc(dg, from = "N", to ="T")
dg <- set.arc(dg, from = "N", to ="W")
dg <- set.arc(dg, from = "N", to ="A")
dg <- set.arc(dg, from = "N", to ="J")
dg <- set.arc(dg, from = "SY", to ="T")
dg <- set.arc(dg, from = "SY", to ="W")
dg <- set.arc(dg, from = "SY", to ="A")
dg <- set.arc(dg, from = "SY", to ="J")
dg <- set.arc(dg, from = "SJ", to ="T")
dg <- set.arc(dg, from = "SJ", to ="W")
dg <- set.arc(dg, from = "SJ", to ="A")
dg <- set.arc(dg, from = "SJ", to ="J")
dg <- set.arc(dg, from = "KF", to ="T")
dg <- set.arc(dg, from = "KF", to ="W")
dg <- set.arc(dg, from = "KF", to ="A")
dg <- set.arc(dg, from = "KF", to ="J")
dg <- set.arc(dg, from = "LT", to ="T")
dg <- set.arc(dg, from = "LT", to ="W")
dg <- set.arc(dg, from = "LT", to ="A")
dg <- set.arc(dg, from = "LT", to ="J")
dg <- set.arc(dg, from = "DD", to ="T")
dg <- set.arc(dg, from = "DD", to ="W")
dg <- set.arc(dg, from = "DD", to ="A")
dg <- set.arc(dg, from = "DD", to ="J")
dg <- set.arc(dg, from = "T", to ="J")
dg <- set.arc(dg, from = "W", to ="J")
dg <- set.arc(dg, from = "A", to ="J")
dg
#绘制网络
library(Rgraphviz)
graphviz.plot(dg, layout = "fdp")
plot(dg, radius = 250, arrow = 30)
#结构学习
survey2.bn <- gs(survey2,undirected = FALSE)
survey2.bn
#结构学习调试过程
survey2.bn <- gs(survey2,debug = TRUE)
#结构学习得到网络的无向图
graphviz.plot(survey2.bn, layout = "fdp")
#对网络进行评分和修正
survey2.bn <- hc(survey2)
survey2.bn
graphviz.plot(survey2.bn, layout = "fdp")#调试后得到有向网络

#得分
score(survey2.bn, data = survey2, type = "bic-g") ####出错

#参数学习
survey2.bn <- gs(survey2, undirected = FALSE)
survey2.bn2 <- hc(survey2)
survey2.fit <- bn.fit(survey2.bn2, data = survey2)
survey2.fit <- bn.fit(survey2.bn, data = survey2)
#Error in bn.fit(survey2.bn, data = survey2) : the graph is only partially directed.
survey2.fitA
#离散化
survey2.d <- discretize(survey2, method = "interval", breaks = 3)
survey2.dgs <- gs(survey2.d)
plot(survey2.dgs, radius = 200, arrow = 30)##无向图
survey2.dhc <- hc(survey2.d)
plot(survey2.dhc, radius = 160, arrow = 40)##gs算法与hc算法结果出现差异
all.equal(cpdag(survey2.dgs), cpdag(survey2.dhc))
#参数学习结果
survey2.fit2 <- bn.fit(survey2.dhc, data = survey2.d)
survey2.fit2A

9
小可乐儿儿 发表于 2021-3-11 19:26:01
wqp694712729 发表于 2020-4-11 19:51
在做毕业设计的时候做的一个贝叶斯网络,下面是程序代码,有问题可以一起交流
library(bnlearn)
survey
请问你的原始数据是什么样的啊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 20:12