mixle.inference.structure_embedded module¶
Structure learning over embedded heterogeneous fields.
mixle.inference.learn_bayesian_network() can model flat records containing
categorical, count, real, and fixed-length vector fields. This module adapts
free-text fields into that workflow by embedding each text value with
mixle.represent.fit_embedder() and representing the field as a
multivariate vector node.
The learned graph relates the embedding vector to other fields through multivariate conditional-linear-Gaussian factors or by using vector components as parent design features. Representative examples per embedding cluster remain available for interpretation, but the model itself uses the full vector.
- class EmbeddedFieldCodec(field, embedder, centroids, representatives)[source]
Bases:
objectOne text field’s bridge into the graph: embed to a vector; centroids are for interpretability.
- vector(value)[source]
Embed one field value as a numeric vector.
- class EmbeddedStructureModel(net, codecs)[source]
Bases:
objectA discovered dependency graph over records whose text fields ride in as embedding VECTORS.
- encode_record(x)[source]
The record with each text field replaced by its embedding vector.
- encode_records(rows)[source]
Replace configured text fields with embedding vectors for each record.
- log_density(x)[source]
Evaluate log density after embedding text fields in one record.
- seq_log_density(rows)[source]
Evaluate log density for records after embedding text fields.
- learn_structure_embedded(data, *, text_fields='auto', n_clusters=8, embed_dim=16, seed=0, max_parents=2, **embed_kw)[source]
Discover cross-field structure where some fields are free text (see module docstring).
- Parameters:
data (Sequence[tuple]) – flat tuple records; text fields may hold arbitrary strings.
text_fields (Sequence[int] | str) – which field indices to embed, or
"auto"– every string-valued field with too many distinct values to be a categorical.n_clusters (int) – number of representative clusters surfaced by
describe()(interpretability only; the model uses the full embedding vector, not a cluster code).embed_dim (int) – embedding dimension for
mixle.represent.fit_embedder()– the vector node’s dim.**embed_kw (Any) – forwarded to
fit_embedder(epochs,hidden,feature_dim, …).seed (int)
max_parents (int)
**embed_kw
- Return type:
EmbeddedStructureModel