package orandforest
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ecb0d2944c1a5d48f4bc6e219643e12430ec0c27b5ff2219e8e9cb55c813c8ab
md5=c4db62f8692d06e6fe0eea8f7d4d791e
Description
Random forests are an ensemble learning method for classification and regression. Random forests correct decision trees' habit of over-fitting to their training set. Cf. "Breiman, Leo, 2001. Random forests. Machine learning, 45(1), pp.5-32" for details.
Published: 15 Feb 2018
README
ORandForest
A pure OCaml implementation of a random forest classifier based on OC4.5. See Wikipedia for more information.
OC4.5 is an implementation of C4.5 that can be found here.
Compiling
This project uses OBuild as a compilation manager.
To sum up, in order to get the project running,
opam install obuild # If you don't have it yet
obuild configure
obuild build
obuild install
Documentation
You can generate the documentation by running ocamldoc
. However, you can have a quick glance at the not necessarily up-to-date precompiled documentation here. Same goes for OC4.5 here.
Basic usage example
Assuming you're using integers (if not, use Oc45.FloatOc45
and ORandForest.FloatRandForest
or reimplement the needed functions to functorize ORandForest.ORandForest
with your datatype, a basic session would look like the following
First generate a dataset;
let trainSet = Oc45.IntOc45.emptyTrainSet
nbFeatures nbCategories featuresContinuity in
Oc45.IntOc45.addDataList trainDataPoints trainSet
then tweak the dataset to your needs;
then turn it into a random forest;
let forest = ORandForest.IntRandForest.genRandomForest nbTrees trainSet in
then classify
let categories = List.map
(ORandForest.IntRandForest.classify forest) testDataPoints in