Developed by Jude Shavlik, Tushar Khot, Sriraam Natarajan, and members of the StARLinG Lab.
As with the standard gradient-boosting approach, our approach turns the model-learning problem to learning a sequence of regression models. The key difference to the standard approaches is that we learn relational regression models (i.e. regression models that operate on relational data). We assume the data to be in predicate-logic format and the output are essentially first-order regression trees where the inner nodes contain conjunctions of logical predicates.
Getting Started
Prerequisites:
- Java (tested with openjdk 1.8.0_144)
Installation:
- Download stable jar file and auc.jar for measuring performance.
- Download stable source with git.
git clone -b master https://github.com/boost-starai/BoostSRL.git
- Nightly builds with git.
git clone -b development https://github.com/boost-starai/BoostSRL.git
Basic Usage
BoostSRL assumes that data are contained in files with data structured in predicate-logic format.
Positive Examples:
father(harrypotter,jamespotter).
father(ginnyweasley,arthurweasley).
father(ronweasley,arthurweasley).
...
Negative Examples:
father(harrypotter,mollyweasley).
father(harrypotter,lilypotter).
father(harrypotter,ronweasley).
...
Facts:
male(harrypotter).
male(jamespotter).
siblingof(ronweasley,fredweasley).
siblingof(ronweasley,georgeweasley).
childof(jamespotter,harrypotter).
childof(lilypotter,harrypotter).
...
Learning a Relational Dependency Network:
[~/BoostSRL/]$ java -jar v1-0.jar -l -train train/ -target father -trees 10
Inference with the Relational Dependency Network:
[~/BoostSRL/]$ java -jar v1-0.jar -i -model train/models/ -test test/ -target father -aucJarPath . -trees 10
Acknowledgements
We would like to thank our users, our supporters, and Professor Natarajan.