Skip to content

Commit 8d2de9c

Browse files
committed
Updates docs
1 parent 1deb88a commit 8d2de9c

File tree

92 files changed

+4943
-1288
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+4943
-1288
lines changed
285 KB
Loading
20.9 KB
Loading
25.7 KB
Loading

_modules/index.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ <h1>All modules for which code is available</h1>
4646
<li><a href="pgmpy/estimators/StructureScore.html">pgmpy.estimators.StructureScore</a></li>
4747
<li><a href="pgmpy/estimators/TreeSearch.html">pgmpy.estimators.TreeSearch</a></li>
4848
<li><a href="pgmpy/estimators/expert.html">pgmpy.estimators.expert</a></li>
49+
<li><a href="pgmpy/factors/continuous/LinearGaussianCPD.html">pgmpy.factors.continuous.LinearGaussianCPD</a></li>
4950
<li><a href="pgmpy/factors/continuous/discretize.html">pgmpy.factors.continuous.discretize</a></li>
5051
<li><a href="pgmpy/factors/discrete/CPD.html">pgmpy.factors.discrete.CPD</a></li>
5152
<li><a href="pgmpy/factors/discrete/DiscreteFactor.html">pgmpy.factors.discrete.DiscreteFactor</a></li>
@@ -63,10 +64,10 @@ <h1>All modules for which code is available</h1>
6364
<li><a href="pgmpy/models/DynamicBayesianNetwork.html">pgmpy.models.DynamicBayesianNetwork</a></li>
6465
<li><a href="pgmpy/models/FactorGraph.html">pgmpy.models.FactorGraph</a></li>
6566
<li><a href="pgmpy/models/JunctionTree.html">pgmpy.models.JunctionTree</a></li>
67+
<li><a href="pgmpy/models/LinearGaussianBayesianNetwork.html">pgmpy.models.LinearGaussianBayesianNetwork</a></li>
6668
<li><a href="pgmpy/models/MarkovChain.html">pgmpy.models.MarkovChain</a></li>
6769
<li><a href="pgmpy/models/MarkovNetwork.html">pgmpy.models.MarkovNetwork</a></li>
6870
<li><a href="pgmpy/models/NaiveBayes.html">pgmpy.models.NaiveBayes</a></li>
69-
<li><a href="pgmpy/models/NoisyOrModel.html">pgmpy.models.NoisyOrModel</a></li>
7071
<li><a href="pgmpy/models/SEM.html">pgmpy.models.SEM</a></li>
7172
<li><a href="pgmpy/readwrite/BIF.html">pgmpy.readwrite.BIF</a></li>
7273
<li><a href="pgmpy/readwrite/PomdpX.html">pgmpy.readwrite.PomdpX</a></li>
@@ -80,7 +81,7 @@ <h1>All modules for which code is available</h1>
8081

8182
</div>
8283
</div>
83-
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
84+
<div class="sphinxsidebar" role="navigation" aria-label="Main">
8485
<div class="sphinxsidebarwrapper">
8586
<p class="logo">
8687
<a href="../index.html">
@@ -156,7 +157,7 @@ <h3 id="searchlabel">Quick search</h3>
156157
&#169;2023, Ankur Ankan.
157158

158159
|
159-
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.3.7</a>
160+
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.4.7</a>
160161
&amp; <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
161162

162163
</div>

_modules/pgmpy/base/DAG.html

Lines changed: 122 additions & 46 deletions
Large diffs are not rendered by default.

_modules/pgmpy/estimators/BayesianEstimator.html

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ <h1>Source code for pgmpy.estimators.BayesianEstimator</h1><div class="highlight
3939
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
4040
<span class="kn">from</span> <span class="nn">joblib</span> <span class="kn">import</span> <span class="n">Parallel</span><span class="p">,</span> <span class="n">delayed</span>
4141

42+
<span class="kn">from</span> <span class="nn">pgmpy.base</span> <span class="kn">import</span> <span class="n">DAG</span>
4243
<span class="kn">from</span> <span class="nn">pgmpy.estimators</span> <span class="kn">import</span> <span class="n">ParameterEstimator</span>
4344
<span class="kn">from</span> <span class="nn">pgmpy.factors.discrete</span> <span class="kn">import</span> <span class="n">TabularCPD</span>
4445
<span class="kn">from</span> <span class="nn">pgmpy.global_vars</span> <span class="kn">import</span> <span class="n">logger</span>
@@ -54,15 +55,20 @@ <h1>Source code for pgmpy.estimators.BayesianEstimator</h1><div class="highlight
5455
<span class="sd"> &quot;&quot;&quot;</span>
5556

5657
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">model</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
57-
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">BayesianNetwork</span><span class="p">):</span>
58+
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="p">(</span><span class="n">DAG</span><span class="p">,</span> <span class="n">BayesianNetwork</span><span class="p">)):</span>
5859
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
59-
<span class="s2">&quot;Bayesian Parameter Estimation is only implemented for BayesianNetwork&quot;</span>
60-
<span class="p">)</span>
61-
<span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">latents</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
62-
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
63-
<span class="sa">f</span><span class="s2">&quot;Bayesian Parameter Estimation works only on models with all observed variables. Found latent variables: </span><span class="si">{</span><span class="n">model</span><span class="o">.</span><span class="n">latents</span><span class="si">}</span><span class="s2">&quot;</span>
60+
<span class="s2">&quot;Bayesian Parameter Estimation is only implemented for DAG or BayesianNetwork&quot;</span>
6461
<span class="p">)</span>
6562

63+
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="p">(</span><span class="n">DAG</span><span class="p">,</span> <span class="n">BayesianNetwork</span><span class="p">)):</span>
64+
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">latents</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
65+
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
66+
<span class="sa">f</span><span class="s2">&quot;Bayesian Parameter Estimation works only on models with all observed variables. Found latent variables: </span><span class="si">{</span><span class="n">model</span><span class="o">.</span><span class="n">latents</span><span class="si">}</span><span class="s2">&quot;</span>
67+
<span class="p">)</span>
68+
69+
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">DAG</span><span class="p">):</span>
70+
<span class="n">model</span> <span class="o">=</span> <span class="n">BayesianNetwork</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">edges</span><span class="p">())</span>
71+
6672
<span class="nb">super</span><span class="p">(</span><span class="n">BayesianEstimator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
6773

6874
<div class="viewcode-block" id="BayesianEstimator.get_parameters">

_modules/pgmpy/estimators/ExhaustiveSearch.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ <h1>Source code for pgmpy.estimators.ExhaustiveSearch</h1><div class="highlight"
3838
<span class="kn">import</span> <span class="nn">networkx</span> <span class="k">as</span> <span class="nn">nx</span>
3939

4040
<span class="kn">from</span> <span class="nn">pgmpy.base</span> <span class="kn">import</span> <span class="n">DAG</span>
41-
<span class="kn">from</span> <span class="nn">pgmpy.estimators</span> <span class="kn">import</span> <span class="n">K2Score</span><span class="p">,</span> <span class="n">ScoreCache</span><span class="p">,</span> <span class="n">StructureEstimator</span>
41+
<span class="kn">from</span> <span class="nn">pgmpy.estimators</span> <span class="kn">import</span> <span class="n">K2</span><span class="p">,</span> <span class="n">ScoreCache</span><span class="p">,</span> <span class="n">StructureEstimator</span>
4242
<span class="kn">from</span> <span class="nn">pgmpy.global_vars</span> <span class="kn">import</span> <span class="n">logger</span>
4343
<span class="kn">from</span> <span class="nn">pgmpy.utils.mathext</span> <span class="kn">import</span> <span class="n">powerset</span>
4444

@@ -54,11 +54,11 @@ <h1>Source code for pgmpy.estimators.ExhaustiveSearch</h1><div class="highlight"
5454
<span class="sd"> ----------</span>
5555
<span class="sd"> data: pandas DataFrame object</span>
5656
<span class="sd"> dataframe object where each column represents one variable.</span>
57-
<span class="sd"> (If some values in the data are missing the data cells should be set to `numpy.nan`.</span>
58-
<span class="sd"> Note that pandas converts each column containing `numpy.nan`s to dtype `float`.)</span>
57+
<span class="sd"> (If some values in the data are missing the data cells should be set to `numpy.NaN`.</span>
58+
<span class="sd"> Note that pandas converts each column containing `numpy.NaN`s to dtype `float`.)</span>
5959

60-
<span class="sd"> scoring_method: Instance of a `StructureScore`-subclass (`K2Score` is used as default)</span>
61-
<span class="sd"> An instance of `K2Score`, `BDeuScore`, `BicScore` or &#39;AICScore&#39;.</span>
60+
<span class="sd"> scoring_method: Instance of a `StructureScore`-subclass (`K2` is used as default)</span>
61+
<span class="sd"> An instance of `K2`, `BDeu`, `BIC` or &#39;AIC&#39;.</span>
6262
<span class="sd"> This score is optimized during structure estimation by the `estimate`-method.</span>
6363

6464
<span class="sd"> state_names: dict (optional)</span>
@@ -79,7 +79,7 @@ <h1>Source code for pgmpy.estimators.ExhaustiveSearch</h1><div class="highlight"
7979
<span class="k">else</span><span class="p">:</span>
8080
<span class="bp">self</span><span class="o">.</span><span class="n">scoring_method</span> <span class="o">=</span> <span class="n">scoring_method</span>
8181
<span class="k">else</span><span class="p">:</span>
82-
<span class="bp">self</span><span class="o">.</span><span class="n">scoring_method</span> <span class="o">=</span> <span class="n">ScoreCache</span><span class="o">.</span><span class="n">ScoreCache</span><span class="p">(</span><span class="n">K2Score</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">),</span> <span class="n">data</span><span class="p">)</span>
82+
<span class="bp">self</span><span class="o">.</span><span class="n">scoring_method</span> <span class="o">=</span> <span class="n">ScoreCache</span><span class="o">.</span><span class="n">ScoreCache</span><span class="p">(</span><span class="n">K2</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">),</span> <span class="n">data</span><span class="p">)</span>
8383

8484
<span class="nb">super</span><span class="p">(</span><span class="n">ExhaustiveSearch</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
8585

@@ -157,11 +157,11 @@ <h1>Source code for pgmpy.estimators.ExhaustiveSearch</h1><div class="highlight"
157157
<span class="sd"> --------</span>
158158
<span class="sd"> &gt;&gt;&gt; import pandas as pd</span>
159159
<span class="sd"> &gt;&gt;&gt; import numpy as np</span>
160-
<span class="sd"> &gt;&gt;&gt; from pgmpy.estimators import ExhaustiveSearch, K2Score</span>
160+
<span class="sd"> &gt;&gt;&gt; from pgmpy.estimators import ExhaustiveSearch, K2</span>
161161
<span class="sd"> &gt;&gt;&gt; # create random data sample with 3 variables, where B and C are identical:</span>
162162
<span class="sd"> &gt;&gt;&gt; data = pd.DataFrame(np.random.randint(0, 5, size=(5000, 2)), columns=list(&#39;AB&#39;))</span>
163163
<span class="sd"> &gt;&gt;&gt; data[&#39;C&#39;] = data[&#39;B&#39;]</span>
164-
<span class="sd"> &gt;&gt;&gt; searcher = ExhaustiveSearch(data, scoring_method=K2Score(data))</span>
164+
<span class="sd"> &gt;&gt;&gt; searcher = ExhaustiveSearch(data, scoring_method=K2(data))</span>
165165
<span class="sd"> &gt;&gt;&gt; for score, model in searcher.all_scores():</span>
166166
<span class="sd"> ... print(&quot;{0}\t{1}&quot;.format(score, model.edges()))</span>
167167
<span class="sd"> -24234.44977974726 [(&#39;A&#39;, &#39;B&#39;), (&#39;A&#39;, &#39;C&#39;)]</span>

0 commit comments

Comments
 (0)