Skip to content

Releases: erdogant/bnlearn

v0.7.1

09 May 18:11
Compare
Choose a tag to compare
  • smooth parameter added to parameter_learning
import bnlearn as bn
DAG = bn.import_DAG('water', verbose=0)
# Sampling
df = bn.sampling(DAG, n=1000)
# Parameter learning
model = bn.parameter_learning.fit(DAG, df, smooth=None)

v0.7.0

28 Mar 10:12
Compare
Choose a tag to compare
  • Fix for plotting due to new version of networkx. The version of networkx should be >= 2.7.1
  • Layout can now be changed more easily
  • figsize added as an input parameter which is more convenient than width/height.
import bnlearn as bn
df = bn.import_example('asia')
model = bn.structure_learning.fit(df)
# Plot
bn.plot(model)
# Plot with different layouts
bn.plot(model, params_static={'layout':'spectral_layout'})
bn.plot(model, params_static={'layout':'planar_layout'})
bn.plot(model, params_static={'layout':'kamada_kawai_layout'})
bn.plot(model, params_static={'layout':'spring_layout'})
bn.plot(model, params_static={'layout':'circular_layout', "figsize": (15, 10)})

v0.6.3

19 Mar 19:30
Compare
Choose a tag to compare
  • added pyvis to setup file and requirements.

v0.6.2

03 Mar 21:22
Compare
Choose a tag to compare
  • fix for bn.print_CPD()
  • name convention: bayesianmodel into bayesiannetwork

0.6.1

20 Feb 21:33
Compare
Choose a tag to compare
  • Name convention: BayesianModel is changed into BayesianNetwork

0.6.0

08 Feb 11:50
Compare
Choose a tag to compare
import bnlearn as bn
# Load large example with source-target edges
vec = bn.import_example("stormofswords")
# Convert to dataframe
df = bn.vec2df(vec['source'], vec['target'], weights=vec['weight'])

0.5.2

28 Jan 19:35
Compare
Choose a tag to compare
  • Added new functionality vec2df to create dataframe from source-target-weights
  • Added new example to demonstrate the usage
  • updated some docstrings

Example vec2df:

import bnlearn as bn

source=['Cloudy','Cloudy','Sprinkler','Rain']
target=['Sprinkler','Rain','Wet_Grass','Wet_Grass']
weights=[1,2,1,3]

# Convert into sparse datamatrix
df = bn.vec2df(source, target, weights=weights)

#    Cloudy   Rain  Sprinkler  Wet_Grass
# 0    True  False       True      False
# 1    True   True      False      False
# 2    True   True      False      False
# 3   False  False       True       True
# 4   False   True      False       True
# 5   False   True      False       True
# 6   False   True      False       True

0.5.1

03 Jan 14:02
Compare
Choose a tag to compare
  • Improvements in independence test. It should also work now after parameter_learning.
  • Improvements in plots
  • Code refactoring

0.5.0

02 Jan 22:27
Compare
Choose a tag to compare
  • implementation of bnlearn.independence_test functionality that allows to compute edge strength
  • plots improved for the edge weights
  • more pep styling
  • some code refactoring
# Example:

# Load asia DAG
df = bn.import_example(data='alarm')
# Structure learning of sampled dataset
model = bn.structure_learning.fit(df)
# Compute edge strength with the chi_square test statistic. Set prune=True to remove the none-significant edges.
model = bn.independence_test(model, df, test='chi_square', prune=False)
# Make plot
bn.plot(model)

0.4.11

18 Dec 16:31
Compare
Choose a tag to compare
  • small fixes