Skip to content
Back to skills

Graph Models

ASecurity

"Guides pomegranate BayesianNetwork and FactorGraph workflows,

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
developmentpythongonoderailsapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill graph-models --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Graph Models?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Graph Models
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-graph-models-arex-skill/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-graph-models-arex-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: graph-models
description: "Guides pomegranate BayesianNetwork and FactorGraph workflows,
  including categorical graph construction, structure learning, factor-graph
  inference, masked missing-value prediction, and graph troubleshooting."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# graph-models

## Use this sub-skill when

Use this sub-skill for directed categorical Bayesian networks, direct factor-graph inference, categorical structure learning, and discrete missing-value inference with `torch.masked.MaskedTensor`. It covers `BayesianNetwork`, `FactorGraph`, `Categorical`, `ConditionalCategorical`, and `JointCategorical` interactions.

## Start here

Typical imports:

```python
from pomegranate.distributions import Categorical, ConditionalCategorical, JointCategorical
from pomegranate.bayesian_network import BayesianNetwork
from pomegranate.factor_graph import FactorGraph
```

Read [references/api-reference.md](references/api-reference.md) for constructors, edge semantics, structure learning, and inference examples. Run [scripts/smoke_graph_models.py](scripts/smoke_graph_models.py) for a self-contained Monty Hall Bayesian-network check and a tiny factor-graph check.

## Core workflow

1. **Encode discrete variables as integer categories.** Bayesian networks and factor graphs are categorical/discrete in this implementation.
2. **Choose manual structure or learned structure.** For known graphs, pass distributions and edges. For data-driven categorical structure learning, pass `structure` or `algorithm='chow-liu'`/`'exact'` and call `fit`.
3. **Use the right distribution type.** Root Bayesian-network nodes use `Categorical`; child nodes with parents use `ConditionalCategorical`; factor-graph factors use `Categorical` or `JointCategorical`.
4. **Run inference with masks.** `predict`, `predict_proba`, and `predict_log_proba` infer missing variables from `torch.masked.MaskedTensor` where `mask=True` means observed.
5. **Interpret approximate inference carefully.** Factor-graph/sum-product inference is exact for tree-like structures and approximate for loopy graphs.

## Route elsewhere when

- The task is ordinary distribution fitting or scoring: read [../distributions/SKILL.md](../distributions/SKILL.md).
- The task is a supervised Bayes classifier, not a graphical model: read [../mixtures-and-classifiers/SKILL.md](../mixtures-and-classifiers/SKILL.md).
- The task is a Markov chain or HMM sequence model: read [../sequence-models/SKILL.md](../sequence-models/SKILL.md).

## Guardrails

- Edges are distribution-object pairs, not string node names.
- Do not use legacy `State`, `Node`, or `bake`; v1.x uses direct distribution objects.
- `BayesianNetwork` currently expects `Categorical` and `ConditionalCategorical` node distributions.
- `FactorGraph` is bipartite: edges connect marginals to factors, not factor-to-factor or marginal-to-marginal.
- `predict_proba` returns a list of tensors, one per variable, because variables can have different category counts.
- Read [references/troubleshooting.md](references/troubleshooting.md) when edges, masks, category shapes, structure learning, or convergence fail.

Files in this skill

  • SKILL.md3.1 KB
  • references/api-reference.md4 KB
  • references/troubleshooting.md3 KB
  • scripts/smoke_graph_models.py2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…