Recent Releases of Contextualized

Contextualized - v0.2.9-1

What's Changed

  • Reorganize README.md by @blengerich in https://github.com/cnellington/Contextualized/pull/244
  • add nonsquared correlation to baseline network correlation prediction by @cnellington in https://github.com/cnellington/Contextualized/pull/245
  • Fix NOTEARS and DAGMA losses.py by @BaihengChen in https://github.com/cnellington/Contextualized/pull/253
  • Multi-device DAGMA Training and No-val-set Easy training by @cnellington in https://github.com/cnellington/Contextualized/pull/256
  • Issue/252 duplicate functions and unclear link function by @jxmils in https://github.com/cnellington/Contextualized/pull/257

New Contributors

  • @BaihengChen made their first contribution in https://github.com/cnellington/Contextualized/pull/253
  • @jxmils made their first contribution in https://github.com/cnellington/Contextualized/pull/257

Full Changelog: https://github.com/cnellington/Contextualized/compare/v0.2.8...v0.2.9

Scientific Software - Peer-reviewed - Python
Published by cnellington 11 months ago

Contextualized - v0.2.8 -- Documentation Overhaul, New Statistical Tests (JOSS)

New tagged v0.2.8 release for Zenodo archive for JOSS

Scientific Software - Peer-reviewed - Python
Published by cnellington over 1 year ago

Contextualized - v0.2.8 -- Documentation Overhaul, New Statistical Tests

Major Updates

Minor Updates

  • Fixed bug in easy correlation networks prediction when indivudal_preds=False
  • Increased overall test coverage to 87%, only leaving out visualization utilities.
  • Added tests for correctness to all analysis tools. Models must identify the significance of known heterogeneous and homogeneous effects to pass integration tests.

Auto-generated release notes

  • create sequential context testing utility function by @aaron10l in https://github.com/cnellington/Contextualized/pull/220
  • Sequential testing bugfixes, updated docs by @cnellington in https://github.com/cnellington/Contextualized/pull/227
  • sequential testing function unittest by @aaron10l in https://github.com/cnellington/Contextualized/pull/234
  • add network quicktests to main test file, fix bug with averaged correlation networks by @cnellington in https://github.com/cnellington/Contextualized/pull/236
  • Website cleaning by @cnellington in https://github.com/cnellington/Contextualized/pull/239
  • clean up easy regression notebook by @aaron10l in https://github.com/cnellington/Contextualized/pull/240
  • add link to comparison with linear interpretability methods by @cnellington in https://github.com/cnellington/Contextualized/pull/241

Full Changelog: https://github.com/cnellington/Contextualized/compare/v0.2.7...v0.2.8

Scientific Software - Peer-reviewed - Python
Published by cnellington over 1 year ago

Contextualized - v0.2.7 -- Linear Encoders, API Reference, and Developer Resources

Major Updates - Contextualize all models with linear encoders for simplicity and interpretability (set encoder_type='linear') - Added stable versions to all requirements, upgrading to torch >=2.1.0 and lightning >=2.0.0, Python >=3.8 - Added API reference for contextualized.easy and contextualized.analysis and search to online documentation - Added the Benefits of Contextualized ML demo notebook to the website - Silenced most pytorch logging to make the important stuff stand out

Minor Updates - Fixed bug in easy Bayesian networks error computation - Resolved distributed training on GPUs for the dags TensorDataset - Depreciating dev branch, using pypi for stable versioning and main branch for active development - Added tests for correctness, where models must recover known known data generation mechanisms to pass (not just converging on random data) - All code is black formatted and began adding type hints and docstrings as standard practice. Docstrings use Google style now. - Added resources and scripts to standardize development workflows and requirements (dev_requirements.txt, make_docs.sh, format_style.sh)

Scientific Software - Peer-reviewed - Python
Published by cnellington about 2 years ago

Contextualized - v0.2.6 -- Consistency Tests, P-values

Contextualization adds new flexibility to model inference. In this update, we add tests to assess when contextualization captures meaningful heterogeneous effects, and determine when these effects should be ignored.

Use analysis.pvals to estimate the significance of effects captured by contextualized modeling - calc_homogeneous_context_effects_pvals tests if the direct effect of context on outcomes is significant - calc_homogeneous_predictor_effects_pvals tests if the effect of context-invariant models on outcomes is significant - calc_heterogeneous_predictor_effects_pvals tests it the effect of context-dependent models on outcomes is significant

Use analysis.bootstraps with select_good_bootstraps to select only training runs which converge for follow-up analysis.

Scientific Software - Peer-reviewed - Python
Published by cnellington over 2 years ago

Contextualized - v0.2.5 -- DAG losses, factor graphs, neighborhood selection, and sklearn-style graph baselines

  • Major NOTMAD upgrades: Infer Contextualized DAGs with NOTMAD using the NOTEARS, Poly, or DAGMA losses, and use factor graphs to infer high dimensional DAGs!
  • More Contextualized Networks: Use ContextualizedNeighborhoodSelection in the regression module to do contextualized neighborhood selection and infer graphs using lasso regression with minimal assumptions.
  • Network Baselines: Use contextualized.baselines to infer traditional correlation networks and Bayesian networks using a simple sklearn-style interface (fit, predict, measure_mses), and create "grouped" versions of these models using any grouping or discrete context (e.g. clustering, feature splits, age groups, cell types) with the GroupedNetworks class -- and follow up with ContextualizedCorrelationNetworks or ContextualizedBayesianNetworks in the easy module to see how much more accurate contextualized models can be!
  • Set metamodel_type='Naive' in the regression and dags lightning_modules to remove archetypes and estimate models directly from a neural network (not yet in the sklearn-style easy models).
  • Set fit_intercept=False in the regression lightning_modules to remove contextualized intercepts, and only infer models with context-varying coefficients (not yet in the sklearn-style easy models).
  • Various bugfixes, including a sign-flip in easy correlation measure_mses.
  • Disabled dynamic trainer output to improve readability of stdout

Scientific Software - Peer-reviewed - Python
Published by cnellington over 2 years ago

Contextualized - v0.2.4 -- BCELoss and Easy Network MSE

  • Contextualized Classifier now uses binary cross-entropy loss, solving a problem with nan-values in backpropagation
  • Bugfix in Contextualized Easy Networks measure_mse

Scientific Software - Peer-reviewed - Python
Published by cnellington about 3 years ago

Contextualized - v0.2.3 -- Easy Early Stopping + Bugfixes

  • Added kwargs for controlling early stopping and checkpointing in the easy modules
  • Bugfixes for predicting bootstrapped vs. averaged params in easy modules

Scientific Software - Peer-reviewed - Python
Published by cnellington about 3 years ago

Contextualized - v0.2.2 -- Analysis Utils and PyPI

  • Added analysis and plotting utilities for contextualized models under contextualized.analysis
  • Install the latest stable release of Contextualized from PyPI with pip install contextualized-ml

Scientific Software - Peer-reviewed - Python
Published by cnellington about 3 years ago

Contextualized - v0.2.0 -- Contextualized Graphical Models

  • Estimate contextualized graphical models under a cohesive PyTorch Lightning framework, with simple multi-gpu acceleration.
    • Bayesian networks: contextualized.dags.torch_notmad.torch_notmad.NOTMAD_model
    • Correlation networks: contextualized.regression.lightning_modules.ContextualizedCorrelation
    • Markov networks: contextualized.regression.lightning_modules.ContextualizedMarkovGraph

Scientific Software - Peer-reviewed - Python
Published by cnellington about 3 years ago

Contextualized - v0.1.2 -- Saving, loading, and base_predictors

  • Include a base_predictor in your contextualized.regression or contextualized.easy object to improve learning and restrict contextualized to estimate only non-base effects (differences in parameters/outcomes from the base model)
  • Easily share your results and transfer your experiments between machines with contextualized.save and contextualized.load

Scientific Software - Peer-reviewed - Python
Published by cnellington over 3 years ago

Contextualized - v0.1.1

  • Fixed classifier prediction shapes
  • Added classifier demo

Scientific Software - Peer-reviewed - Python
Published by cnellington over 3 years ago

Contextualized - v0.1.0 -- Introducing Contextualized

This release introduces tools for estimating the following models with context-specific parameters: - Linear Regression - Logistic Regression - Univariate (scalar) Linear and Logistic Regression - Correlation - Directed Acyclic Graphs (DAGs, Bayesian networks)

As well as demos and a preliminary test suite.

Scientific Software - Peer-reviewed - Python
Published by cnellington over 3 years ago