Builders

class bamt.builders.builders_base.ParamDict[source]

Bases: TypedDict

init_edges: Sequence[str] | None
init_nodes: List[str] | None
remove_init_edges: bool
white_list: Tuple[str, str] | None
bl_add: List[str] | None
class bamt.builders.builders_base.StructureBuilder(descriptor: Dict[str, Dict[str, str]])[source]

Bases: object

Base Class for Structure Builder. It can restrict nodes defined by RESTRICTIONS

restrict(data: DataFrame, init_nodes: List[str] | None, bl_add: List[str] | None)[source]
Parameters:
  • data – data to deal with

  • init_nodes – nodes to begin with (thus they have no parents)

  • bl_add – additional vertices

get_family()[source]

A function that updates a skeleton;

class bamt.builders.builders_base.VerticesDefiner(descriptor: Dict[str, Dict[str, str]], regressor: object | None)[source]

Bases: StructureBuilder

Main class for defining vertices

overwrite_vertex(has_logit: bool, use_mixture: bool, classifier: Callable | None, regressor: Callable | None)[source]

Level 2: Redefined nodes according structure (parents) :param classifier: an object to pass into logit, condLogit nodes :param regressor: an object to pass into gaussian nodes :param has_logit allows edges from cont to disc nodes :param use_mixture allows using Mixture

class bamt.builders.builders_base.EdgesDefiner(descriptor: Dict[str, Dict[str, str]])[source]

Bases: StructureBuilder

class bamt.builders.builders_base.BaseDefiner(data: DataFrame, descriptor: Dict[str, Dict[str, str]], scoring_function: Tuple[str, Callable] | Tuple[str], regressor: object | None = None)[source]

Bases: VerticesDefiner, EdgesDefiner

class bamt.builders.hc_builder.HillClimbDefiner(data: DataFrame, descriptor: Dict[str, Dict[str, str]], scoring_function: Tuple[str, Callable] | Tuple[str], regressor: object | None = None)[source]

Bases: BaseDefiner

Object to define structure and pass it into skeleton

apply_K2(data: DataFrame, init_edges: List[Tuple[str, str]] | None, progress_bar: bool, remove_init_edges: bool, white_list: List[Tuple[str, str]] | None)[source]
Parameters:
  • init_edges – list of tuples, a graph to start learning with

  • remove_init_edges – allows changes in a model defined by user

  • data – user’s data

  • progress_bar – verbose regime

  • white_list – list of allowed edges

apply_group1(data: DataFrame, progress_bar: bool, init_edges: List[Tuple[str, str]] | None, remove_init_edges: bool, white_list: List[Tuple[str, str]] | None)[source]

This method implements the group of scoring functions. Group: “MI” - Mutual Information, “LL” - Log Likelihood, “BIC” - Bayesian Information Criteria, “AIC” - Akaike information Criteria.

class bamt.builders.hc_builder.HCStructureBuilder(data: DataFrame, descriptor: Dict[str, Dict[str, str]], scoring_function: Tuple[str, Callable], regressor: object | None, has_logit: bool, use_mixture: bool)[source]

Bases: HillClimbDefiner

Final object with build method

build(data: DataFrame, progress_bar: bool, classifier: object | None, regressor: object | None, params: ParamDict | None = None, **kwargs)[source]