gtsam
4.0.0
gtsam
|
Decision Tree L = label for variables Y = function range (any algebra), e.g., bool, int, double.
Public Member Functions | |
Standard Constructors | |
DecisionTree (const Y &y) | |
Create a constant. | |
DecisionTree (const L &label, const Y &y1, const Y &y2) | |
Create a new leaf function splitting on a variable. | |
DecisionTree (const LabelC &label, const Y &y1, const Y &y2) | |
Allow Label+Cardinality for convenience. | |
DecisionTree (const std::vector< LabelC > &labelCs, const std::vector< Y > &ys) | |
Create from keys and a corresponding vector of values. | |
DecisionTree (const std::vector< LabelC > &labelCs, const std::string &table) | |
Create from keys and string table. | |
template<typename Iterator > | |
DecisionTree (Iterator begin, Iterator end, const L &label) | |
Create DecisionTree from others. | |
DecisionTree (const L &label, const DecisionTree &f0, const DecisionTree &f1) | |
Create DecisionTree from two others. | |
template<typename M , typename X > | |
DecisionTree (const DecisionTree< M, X > &other, const std::map< M, L > &map, boost::function< Y(const X &)> op) | |
Convert from a different type. | |
Testable | |
void | print (const std::string &s="DecisionTree") const |
GTSAM-style print. | |
bool | equals (const DecisionTree &other, double tol=1e-9) const |
Standard Interface | |
virtual | ~DecisionTree () |
Make virtual. | |
bool | operator== (const DecisionTree &q) const |
equality | |
const Y & | operator() (const Assignment< L > &x) const |
evaluate | |
DecisionTree | apply (const Unary &op) const |
apply Unary operation "op" to f | |
DecisionTree | apply (const DecisionTree &g, const Binary &op) const |
apply binary operation "op" to f and g | |
DecisionTree | choose (const L &label, size_t index) const |
create a new function where value(label)==index It's like "restrict" in Darwiche09book pg329, 330? | |
DecisionTree | combine (const L &label, size_t cardinality, const Binary &op) const |
combine subtrees on key with binary operation "op" | |
DecisionTree | combine (const LabelC &labelC, const Binary &op) const |
combine with LabelC for convenience | |
void | dot (std::ostream &os, bool showZero=true) const |
output to graphviz format, stream version | |
void | dot (const std::string &name, bool showZero=true) const |
output to graphviz format, open a file | |
Advanced Interface | |
DecisionTree (const NodePtr &root) | |
template<typename Iterator > | |
NodePtr | compose (Iterator begin, Iterator end, const L &label) const |
Public Attributes | |
NodePtr | root_ |
Public Types | |
typedef boost::function< Y(const Y &)> | Unary |
Handy typedefs for unary and binary function types. | |
typedef boost::function< Y(const Y &, const Y &)> | Binary |
typedef std::pair< L, size_t > | LabelC |
A label annotated with cardinality. | |
typedef Node::Ptr | NodePtr |
---------------------— Node base class ------------------------— More... | |
Classes | |
class | Choice |
class | Leaf |
class | Node |
---------------------— Node base class ------------------------— More... | |
Protected Member Functions | |
template<typename It , typename ValueIt > | |
NodePtr | create (It begin, It end, ValueIt beginY, ValueIt endY) const |
Internal recursive function to create from keys, cardinalities, and Y values. | |
template<typename M , typename X > | |
NodePtr | convert (const typename DecisionTree< M, X >::NodePtr &f, const std::map< M, L > &map, boost::function< Y(const X &)> op) |
Convert to a different type. | |
DecisionTree () | |
Default constructor. | |
typedef Node::Ptr gtsam::DecisionTree< L, Y >::NodePtr |
---------------------— Node base class ------------------------—
A function is a shared pointer to the root of a DT