boostsrl
boostsrl is a set of Python wrappers around BoostSRL with a scikit-learn interface.
- Documentation: https://boostsrl.readthedocs.io/en/latest/
- Questions? Contact Alexander L. Hayes (hayesall)
Getting Started
Prerequisites:
- Java 1.8
- Python (3.6, 3.7)
Installation
pip install boostsrl
Basic Usage
The general setup should be similar to scikit-learn. But there are a few extra requirements in terms of setting background knowledge and formatting the data.
A minimal working example (using the Toy-Cancer data set imported with 'example_data') is:
>>> from boostsrl.rdn import RDN
>>> from boostsrl import Background
>>> from boostsrl import example_data
>>> bk = Background(
... modes=example_data.train.modes,
... use_std_logic_variables=True,
... )
>>> clf = RDN(
... background=bk,
... target='cancer',
... )
>>> clf.fit(example_data.train)
>>> clf.predict_proba(example_data.test)
array([0.88079619, 0.88079619, 0.88079619, 0.3075821 , 0.3075821 ])
>>> clf.classes_
array([1., 1., 1., 0., 0.])
example_data.train
and example_data.test
are each boostsrl.Database
objects, so this hides some of
the complexity behind the scenes.
This example abstracts away some complexity in exchange for compactness. For more thorough examples, see the 'docs/examples/' directory.
Contributing
We have adopted the Contributor Covenant Code of Conduct version 1.4. Please read, follow, and report any incidents which violate this.
Questions, Issues, and Pull Requests are welcome. Please refer to CONTRIBUTING.md for information on submitting issues and pull requests.
Versioning and Releases
We use SemVer for versioning. See Releases for stable versions that are available, or the Project Page on PyPi.