全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2584 4
2020-04-15
我写完程序了,也能成功运行,但是写文章时该报告哪些数据呢?哪位大神指教一下下
二维码

扫码加我 拉你入群

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

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

全部回复
2020-4-15 11:18:41
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



这是代码
二维码

扫码加我 拉你入群

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

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

2021-5-7 20:45:19
wqp694712729 发表于 2020-4-15 11:18
library(bnlearn)
survey
老哥,你的代码太好了,太全面了,感谢老哥分享代码
二维码

扫码加我 拉你入群

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

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

2021-5-8 05:41:29
wqp694712729 发表于 2020-4-15 09:22
我写完程序了,也能成功运行,但是写文章时该报告哪些数据呢?哪位大神指教一下下
谢谢楼主分享
二维码

扫码加我 拉你入群

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

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

2023-2-14 23:03:16
写得很好!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群