How to install version alpha?
The Seldonian Toolkit is currently in the alpha stage of development. To install the latest version of the libraries in the toolkit:
These versions contain the latest bug fixes and features.
In this document, we cover what is included and excluded in the alpha version.
What is included in the version alpha API?
Packages/libraries
Engine features
-
A command line Seldonian interface.
-
Student's $t$-test for the confidence-bound calculation.
-
Parse tree capable of handling a wide range of user-provided behavioral constraints. Constraints can consist of basic mathematical operations (+,-,/,*) and use any combination of (min,max,abs,exp) functions.
-
Parse tree visualizer.
-
Efficient bound propagation in parse tree by limiting the number of confidence intervals that need to be calculated.
-
User can specify an arbitrary number of behavioral constraints for a single Seldonian algorithm.
-
User can specify split fraction between candidate selection and safety test.
-
Dataset loaders for CSV-formatted datasets.
-
Gradient descent with Adam optimizer module option for candidate selection.
-
Black box optimization using SciPy with barrier function module option for candidate selection.
-
Gradient descent visualizer.
-
Automatic differentiation using the "autograd" Python library for gradient descent.
-
User can provide gradient function for their custom primary objective. We provide several built-in gradient functions which are often faster than using autograd.
-
Support for parametric supervised learning algorithms (binary classification and regression) as well as offline ("batch") reinforcement learning algorithms.
-
Example reinforcement learning policies supporting discrete and continuous observation spaces, such as softmax.
-
Modular design to make implementing user-defined models and constraints seamless for developers. Tutorials to help guide design.
Experiments features
-
Three-plot generator (performance, solution rate, failure rate) for supervised learning and reinforcement learning Seldonian algorithms.
-
Logistic regression and random classifier baseline models for comparing against Seldonian classification algorithms.
-
Fairlearn experiment runner for several types of fairness constraints for comparing against Seldonian classification algorithms.
-
Generate resampled datasets that approximate ground truth using no additional data (supervised learning only).
-
Generate new episodes to use as ground truth from existing policy parameterizations (reinforcement learning only).
-
Modular design to make implementing new baselines seamless for developers.
GUI features
-
Flask application that users run locally.
-
Upload locally stored datasets.
-
Drag-and-drop to build a wide array of behavioral constraints.
-
Five definitions of fairness hardcoded for quick reference and use.
Limitations of the version alpha API
Many of the features below are in development. Check the Coming soon page to learn more. Feel free to raise an issue on github requesting new features.
-
The $t$-test confidence bound used when calculating the upper bound on the behavioral constraint relies on reasonable but possibly false assumptions about the distribution of the data. As a result, the algorithms implemented in version alpha are quasi-Seldonian. Hoeffding's concentration inequality does not rely on such assumptions and, once incorporated into the engine, will enable running true Seldonian algorithms.
-
Multiclass classification is not yet supported
-
Multiple label columns in a dataset are not supported (supervised learning). Currently, only a single label column is allowed.
-
Nonparameteric machine learning models (e.g., random forest), are not yet supported.