前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BayesianNetworks包-贝叶斯网络建模和预测

BayesianNetworks包-贝叶斯网络建模和预测

作者头像
R语言数据分析指南
发布2024-07-25 16:10:16
580
发布2024-07-25 16:10:16
举报
文章被收录于专栏:R语言数据分析指南

欢迎关注R语言数据分析指南

本节来介绍一款可用于贝叶斯网络建模和预测流程的R包「BayesianNetworks」。该包内容丰富作者配有详细的案例文档,使用过程也非常的简单明了,更多详细内容请参考作者的官方文档。

官方文档

https://pakillo.github.io/BayesianNetworks/

安装R程序包

代码语言:javascript
复制
library(tidyverse)

install.packages("cmdstanr", repos = c('https://stan-dev.r-universe.dev', getOption("repos")))

remotes::install_github("Pakillo/BayesianNetworks")
library(BayesianNetworks)
library(cmdstanr)
cmdstanr::install_cmdstan() #此程序包49M安装容易失败
# 安装完后会出现cmdstan的路径写入下方代码,以实际为准
set_cmdstan_path("/Users/xxx/.cmdstan/cmdstan-2.35.0")

准备数据

代码语言:javascript
复制
data(web)
plot_counts_obs(web, sort = FALSE) # 可视化原始数据集 web 中的计数,不进行排序。
代码语言:javascript
复制
# 准备数据以供模型使用。mat 参数是输入的矩阵(此处为 web 数据集),sampl.eff 参数指定采样效率,这里为每行设置了20。

dt <- prepare_data(mat = web, sampl.eff = rep(20, nrow(web)))

设置并拟合模型

代码语言:javascript
复制
set.seed(1)
options(mc.cores = 4) #设置并行计算使用的核心数,这里使用4个核心
fit <- fit_model(dt, refresh = 0)

检查模型

代码语言:javascript
复制
check_model(fit, data = dt)

获取后验分布

代码语言:javascript
复制
post <- get_posterior(fit, data = dt)

plot_interaction_prob(post) # 可视化交互概率

预测计数并可视化

代码语言:javascript
复制
pred.df <- predict_counts(fit, data = dt) # 使用拟合模型 fit 和数据 dt 进行预测,生成预测计数
plot_counts_pred(pred.df, sort = FALSE) # 可视化预测的计数,不进行排序
代码语言:javascript
复制
plot_counts_pred_obs(pred.df, data = dt) # 将预测的计数和观察到的计数进行对比并可视化

绘制残差

代码语言:javascript
复制
plot_residuals(pred.df, data = dt, sort = FALSE)

2024更新文档清单

2024年已更新案例图展示

2023年案例图展示

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 欢迎关注R语言数据分析指南
  • 官方文档
  • 安装R程序包
  • 准备数据
  • 设置并拟合模型
  • 检查模型
  • 获取后验分布
  • 预测计数并可视化
  • 绘制残差
  • 2024更新文档清单
  • 2024年已更新案例图展示
  • 2023年案例图展示
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档