BayesianNetwork

BayesianNetwork: Interactive Bayesian Network Modeling and Analysis - Published in JOSS (2018)

https://github.com/paulgovan/bayesiannetwork

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

bayesian-networks learning-algorithm network-measures r

Scientific Fields

Materials Science Physical Sciences - 60% confidence
Earth and Environmental Sciences Physical Sciences - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

Bayesian Network Modeling and Analysis

Basic Info
Statistics
  • Stars: 124
  • Watchers: 9
  • Forks: 38
  • Open Issues: 6
  • Releases: 7
Topics
bayesian-networks learning-algorithm network-measures r
Created over 10 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License Code of conduct

README.html














README












































CRAN status CRAN CRAN OK OK DOI

BayesianNetwork

BayesianNetwork is a Shiny web application for Bayesian network modeling and analysis, powered by the bnlearn package. To learn more about this project, check out this paper.

Getting Started

To install BayesianNetwork in R:

install.packages("BayesianNetwork")

Or to install the latest developmental version:

devtools::install_github('paulgovan/BayesianNetwork')

To launch the app:

BayesianNetwork::BayesianNetwork()

Or to access the app through a browser, visit paulgovan.shinyapps.io/BayesianNetwork.

Example

Home

Launching the app brings up the Home tab. The Home tab is basically a landing page that gives a brief introduction to the app and includes two value boxes, one each for the number of nodes and arcs in the network. The following figure shows the basic Home tab.

BayesianNetwork comes with a number of simulated and “real world” data sets. This example will use the “Sample Discrete Network”, which is the selected network by default.

Structure

Click Structure in the sidepanel to begin learning the network from the data. The Bayesian network is automatically displayed in the Bayesian Network box.

In order to learn the structure of a network for a given data set, upload the data set in csv format using The Data Input box. Data should be numeric or factored and should not contain any NULL/NaN/NA values. Again, this example uses the “Sample Discrete Network”, which should already be loaded.

Select a learning algorithm from the Structural Learning box. The classes of available structural learning algorithms include:
* Constraint-based algorithms * Score-based algorithms * Hybrid-structure algorithms * Local discovery algorithms

To view the network score, select a score function from the The Network Score box.

“Sample Discrete Network” contains six discrete variables, stored as factors with either 2 or 3 levels. The structure of this simple Bayesian network can be learned using the grow-shrink algorithm, which is the selected algorithm by default.

Try different combinations of structural learning algorithms and score functions in order to see the effect (if any) on the resulting Bayesian network.

Parameters

Select the grow-shrink algorithm once again and then click Parameters in the sidepanel in order to learn the parameters of the network. The selected parameters are automically displayed in the Network Parameters box.

Select a learning algorithm from the Parameter Learning box. This app supports both maximum-likelihood and Bayesian estimation of the parameters. Note that Bayesian parameter learning is currently only implemented for discrete data sets. Then select the type of chart to display in the Parameter Infographic box and, for the discrete case, choose the preferred node. For example, the selected node A is a discrete node with three levels: a, b, and c.

Inference

Click Inference in the sidebar to add evidence to the network. Select evidence to add to the model using the Evidence box and select a conditional event of interest using the Event box. The resulting conditional probabilities are automatically displayed in the Event Parameter box. For example, the following figure shows the conditional probability of event B, given evidence of c for node A. Changing the evidence for node A to a or b similarly changes the conditional probability of event B. Note that inference is currently not supported for continuous variables.

Measures

Click Measures in the sidepanel to bring up a number of tools for classic network analysis. The Measures tab has a number of node and network measures. The node measures include: * Markov blanket * Neighborhood * Parents * Children * In degree * Out degree * Incident arcs * Incoming arcs * Outgoing arcs

Select a node measure in the Controls box and the result will be displayed in the Node Measure box.

The Controls box also contains different options for displaying hierarchical clusters/dendograms for the network. Select the type of dendogram to display (row, column, both, or none) and the resulting dendogram(s) will be displayed along with the adjacency matrix in the Adjacency Matrix box.

Editor

Finally, click Editor in the sidepanel in order to bring up the interactive code editor. Some example markdown is automatically displayed in the Editor box. Click the Run button to knit the code and the resulting report will be displayed in the body of the app.

Note that the Editor is only available in the package (not on shinyapps.io).

Code of Conduct

Please note that the BayesianNetwork project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Owner

  • Name: Paul Govan
  • Login: paulgovan
  • Kind: user
  • Location: Greenville, SC
  • Company: GE Renewable Energy

Technical Leader | Reliability and Data Analytics | Renewable Energy

JOSS Publication

BayesianNetwork: Interactive Bayesian Network Modeling and Analysis
Published
January 04, 2018
Volume 3, Issue 21, Page 425
Authors
Paul B. Govan ORCID
GE Renewable Energy
Editor
Kathryn Huff ORCID
Tags
bayesian-networks network-measures learning-algorithms r shiny

Papers & Mentions

Total mentions: 1

shinyBN: an online application for interactive Bayesian network inference and visualization
Last synced: 2 months ago

GitHub Events

Total
  • Watch event: 7
  • Push event: 2
  • Fork event: 1
Last Year
  • Watch event: 7
  • Push event: 2
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 167
  • Total Committers: 1
  • Avg Commits per committer: 167.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Paul Govan p****1@a****m 167
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 18
  • Total pull requests: 3
  • Average time to close issues: 3 months
  • Average time to close pull requests: less than a minute
  • Total issue authors: 12
  • Total pull request authors: 1
  • Average comments per issue: 2.11
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • paulgovan (4)
  • rgiordan (3)
  • barracuda156 (1)
  • PierreBiousse (1)
  • eteuler (1)
  • hazelnutsgz (1)
  • Tavpritesh (1)
  • nilaykd (1)
  • wdiestel (1)
  • MayaGans (1)
  • pmultani20 (1)
  • ponnet (1)
Pull Request Authors
  • paulgovan (6)
Top Labels
Issue Labels
help wanted (3) enhancement (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 311 last-month
  • Total docker downloads: 41,971
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 6
  • Total maintainers: 1
cran.r-project.org: BayesianNetwork

Bayesian Network Modeling and Analysis

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 311 Last month
  • Docker Downloads: 41,971
Rankings
Forks count: 1.9%
Stargazers count: 3.8%
Average: 21.5%
Dependent packages count: 29.8%
Dependent repos count: 35.5%
Downloads: 36.4%
Maintainers (1)
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • R >= 2.10.0 depends
  • bnlearn * imports
  • heatmaply * imports
  • lattice * imports
  • networkD3 * imports
  • plotly * imports
  • rintrojs * imports
  • shiny * imports
  • shinyAce * imports
  • shinyWidgets * imports
  • shinydashboard * imports
  • shinytest * imports
  • testthat * imports
  • knitr * suggests
  • rmarkdown * suggests