The Header-Only Library For Random Forests
GPL-3.0 License
Canopy is a C++ header-only template library for random forests. Random forests are a highly flexible and effective method for constructing machine learning models for a number of tasks by aggregating a number of decision trees.
The focus of this library is on providing an implementation that:
Canopy is unashamedly an advanced tool, intended for users with a reasonable familiarity with C++ who are prepared to dig into the details of how random forests work to create new, efficient algorithms tailored to their own specific purpose. If you just want a quick tool to classify your personal collection of iris stamens, it probably isn't what you are looking for...
The library contains a base class, randomForestBase
, from which a range of
models may be derived. There are also two predefined models that you can use
straight away:
classifier
- A random forest classifiercircularRegressor
- A random forest model for predicting circular-valuedOthers may be added in the future... if you develop one, feel free to contribute it!
Canopy requires a C++11 enabled compiler (preferably C++14) and depends upon the following popular, open-source libraries:
The full documentation for the library is provided here, and includes installation instructions, explanations and examples.
Canopy was written by Chris Bridge at the University of Oxford's Institute of Biomedical Engineering.
An early version of canopy was used in the implementation of a model to analyse medical ultrasound videos of the fetal heart. More details are available in these documents:
or on the author's website at http://chrisbridge.science/research.html.