Skip to content
A Python library for gradient-boosted statistical relational models.
Python Prolog Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
datasets/ToyFather
docs
srlearn
.coveragerc
.gitignore
.pylintrc
.travis.yml
LICENSE
MANIFEST.in
Makefile
README.rst
appveyor.yml
requirements.txt
setup.cfg
setup.py

README.rst

srlearn

Repository preview image: "srlearn. Python wrappers around BoostSRL with a scikit-learn-style interface. pip install srlearn."

License LGTM code quality analysis Travis CI continuous integration build status AppVeyor Windows build status Code coverage status CircleCI Documentation status

srlearn is a set of Python wrappers around BoostSRL with a scikit-learn interface.

Getting Started

Prerequisites:

  • Java 1.8
  • Python (3.6, 3.7)

Installation

pip install srlearn

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 srlearn.rdn import BoostedRDN
>>> from srlearn import Background
>>> from srlearn import example_data
>>> bk = Background(
...     modes=example_data.train.modes,
...     use_std_logic_variables=True,
... )
>>> clf = BoostedRDN(
...     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 srlearn.Database objects, so this hides some of the complexity behind the scenes.

This example abstracts away some complexity in exchange for compactness. For more examples, see the Example Gallery.

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.

You can’t perform that action at this time.