Skip to content

Latest commit

 

History

History
77 lines (69 loc) · 2.95 KB

README.md

File metadata and controls

77 lines (69 loc) · 2.95 KB

stratified-models

A python package for training stratified machine learning models with laplacian regularization.
Based on and inspired by these great papers:

A work in progress.

Todos:

CI/CD:

  • fix cvxpy installation in nox
  • run pre-commit in nox (or, if it's too hard, in ci)
  • dependabot
  • uncomment stratified_models/__init__.py?
  • coverage report and badge
  • pack

Accelerations:

  • replace pandas with dask/polars
  • replace numpy with dask arrays/jax/torch
  • implement a multi-threaded/processing version of ADMM (rust or dask?)
  • implement prox of circle graph and path graphs using FFT

Usability:

  • util to transform a continuous feature to discrete and automatically get the right path graph for it.
    • constant width
    • percentile
  • util to normalize target and regressors before optimization
  • util to create common models:
    • ridge
    • lasso
    • ols
    • logistic regression
    • svm? (would require to compute the prox for the hinge loss)
  • integration with optuna for hyperparameter optimization out of the box
  • util for featureless prediction (non parametric)
  • construct arbitrary regularization graphs without networkx

Algorithms:

Tests:

  • no regularization
  • multiple local regularizations
  • more than 2 graphs
  • no graphs
  • no data (expect theta=0)