Contextualized Markov Networks#

Markov Networks, inferred as precision matrices, are undirected graphs where edges indicate dependencies between nodes.#

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
X = np.random.normal(0, 1, size=(1000, 10))
C = np.random.uniform(-1, 1, size=(1000, 5))
%%capture
from contextualized.easy import ContextualizedMarkovNetworks

cmn = ContextualizedMarkovNetworks(encoder_type='ngam', num_archetypes=16, n_bootstraps=3)
cmn.fit(C, X, max_epochs=5)

# Get networks
networks = cmn.predict_networks(C)

# Get precision matrices
precision_mats = cmn.predict_precisions(C)