Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BAMT 2.0.0 - new features, refactoring, architecture refreshment #108

Open
3 of 34 tasks
jrzkaminski opened this issue Apr 22, 2024 · 1 comment
Open
3 of 34 tasks
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request refactoring
Milestone

Comments

@jrzkaminski
Copy link
Collaborator

jrzkaminski commented Apr 22, 2024

Current BAMT architecture has a number of disadvantages, some clunky code and other limitations. Thus, it was decided to make a full refactoring. This refreshment will not only include new refactored code and API but also new features (like vectorized sampling and other operations, new algorithms for structure learning, score-functions etc.)
For now, here is a checklist of modules that should be implemented in 2.0.0 architecture:

The development of BAMT 2.0.0 is held in 2.0.0 branch of the repository. If you, the reader of the issue, have decided to implement some module or submodule, please reply to this message, create a separate issue and add it to milestone and project.

The goal of these changes is also to make a sklearn-like interface, so the usual pipeline looks like that:

# read data
data = pd.read_csv("data.csv")

# define optimizers and score functions
dag_score_function = DAGScoreFunction(**parameters)
dag_optimizer = DAG_optimizer(**parameters)


# get a structure, maybe in networkx format?
G = dag_optimizer.optimize(data, ** parameters)

# define parameters estimator and BN
parameters_estimator = ParametersEstimator(**parameters)
bn = ContinuousBayesianNetwork(**parameters)

# fit the bn
bn.fit(data, ParametersEstimator, **parameters)
bn.sample(1000)
bn.predict(data.drop[["col1", "col2"]])
@jrzkaminski jrzkaminski added documentation Improvements or additions to documentation enhancement New feature or request refactoring labels Apr 22, 2024
@jrzkaminski jrzkaminski added this to the BAMT 2.0.0 milestone Apr 22, 2024
@jrzkaminski
Copy link
Collaborator Author

jrzkaminski commented Jul 5, 2024

distribution module has been implemented

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request refactoring
Projects
Status: 🏗 In progress
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants