Feat C++ API
A feature engineering automation tool
|
Represents nodes in a program. More...
#include <node.h>
Public Member Functions | |
Node () | |
virtual | ~Node () |
virtual void | evaluate (const Data &data, State &state)=0 |
Evaluates the node and updates the state states. More... | |
virtual void | eval_eqn (State &state)=0 |
evaluates the node symbolically More... | |
unsigned int | total_arity () |
ArrayXf | limited (ArrayXf x) |
limits node output to be between MIN_FLT and MAX_FLT More... | |
void | eval_complexity (map< char, vector< unsigned int >> &cstate) |
evaluates complexity of this node in the context of its child nodes. More... | |
void | eval_complexity_db (map< char, vector< string >> &cstate) |
evaluates complexity of this node in the context of its child nodes. More... | |
virtual bool | isNodeDx () |
check of node type More... | |
virtual bool | isNodeTrain () |
std::unique_ptr< Node > | clone () const |
makes a unique copy of this node More... | |
std::unique_ptr< Node > | rnd_clone () const |
makes a randomized unique copy ofnode More... | |
Public Attributes | |
string | name |
node type More... | |
string | variable_name |
variable name, if any More... | |
char | otype |
output type More... | |
std::map< char, unsigned int > | arity |
arity of the operator More... | |
int | complexity |
complexity of node More... | |
int | visits = 0 |
Protected Member Functions | |
virtual Node * | clone_impl () const =0 |
virtual Node * | rnd_clone_impl () const =0 |
std::unique_ptr< Node > FT::Pop::Op::Node::clone | ( | ) | const |
|
protectedpure virtual |
Implemented in FT::Pop::Op::NodeVariable< T >, FT::Pop::Op::NodeConstant, FT::Pop::Op::NodeVar, FT::Pop::Op::NodeSlope, FT::Pop::Op::NodeSkew, FT::Pop::Op::NodeRecent, FT::Pop::Op::NodeMin, FT::Pop::Op::NodeMedian, FT::Pop::Op::NodeMean, FT::Pop::Op::NodeMax, FT::Pop::Op::NodeLongitudinal, FT::Pop::Op::NodeKurtosis, FT::Pop::Op::NodeCount, FT::Pop::Op::NodeXor, FT::Pop::Op::NodeOr, FT::Pop::Op::NodeNot, FT::Pop::Op::NodeLessThan, FT::Pop::Op::NodeLEQ, FT::Pop::Op::NodeGreaterThan, FT::Pop::Op::NodeGEQ, FT::Pop::Op::NodeEqual, FT::Pop::Op::NodeAnd, FT::Pop::Op::NodeSplit< T >, FT::Pop::Op::NodeFuzzySplit< T >, FT::Pop::Op::NodeFuzzyFixedSplit< T >, FT::Pop::Op::NodeIfThenElse, FT::Pop::Op::NodeIf, FT::Pop::Op::NodeTanh, FT::Pop::Op::NodeSubtract, FT::Pop::Op::NodeStep, FT::Pop::Op::NodeSquare, FT::Pop::Op::NodeSqrt, FT::Pop::Op::NodeSin, FT::Pop::Op::NodeSign, FT::Pop::Op::NodeRelu, FT::Pop::Op::NodeMultiply, FT::Pop::Op::NodeLogit, FT::Pop::Op::NodeLog, FT::Pop::Op::NodeGaussian, FT::Pop::Op::NodeFloat< T >, FT::Pop::Op::NodeExponential, FT::Pop::Op::NodeExponent, FT::Pop::Op::NodeDivide, FT::Pop::Op::NodeCube, FT::Pop::Op::NodeCos, FT::Pop::Op::NodeAdd, and FT::Pop::Op::Node2dGaussian.
void FT::Pop::Op::Node::eval_complexity | ( | map< char, vector< unsigned int >> & | cstate | ) |
void FT::Pop::Op::Node::eval_complexity_db | ( | map< char, vector< string >> & | cstate | ) |
|
pure virtual |
evaluates the node symbolically
Implemented in FT::Pop::Op::NodeVariable< T >, FT::Pop::Op::NodeConstant, FT::Pop::Op::NodeVar, FT::Pop::Op::NodeSlope, FT::Pop::Op::NodeSkew, FT::Pop::Op::NodeRecent, FT::Pop::Op::NodeMin, FT::Pop::Op::NodeMedian, FT::Pop::Op::NodeMean, FT::Pop::Op::NodeMax, FT::Pop::Op::NodeLongitudinal, FT::Pop::Op::NodeKurtosis, FT::Pop::Op::NodeCount, FT::Pop::Op::NodeXor, FT::Pop::Op::NodeOr, FT::Pop::Op::NodeNot, FT::Pop::Op::NodeLessThan, FT::Pop::Op::NodeLEQ, FT::Pop::Op::NodeGreaterThan, FT::Pop::Op::NodeGEQ, FT::Pop::Op::NodeEqual, FT::Pop::Op::NodeAnd, FT::Pop::Op::NodeSplit< T >, FT::Pop::Op::NodeFuzzySplit< T >, FT::Pop::Op::NodeFuzzyFixedSplit< T >, FT::Pop::Op::NodeIfThenElse, FT::Pop::Op::NodeIf, FT::Pop::Op::NodeTanh, FT::Pop::Op::NodeSubtract, FT::Pop::Op::NodeStep, FT::Pop::Op::NodeSquare, FT::Pop::Op::NodeSqrt, FT::Pop::Op::NodeSin, FT::Pop::Op::NodeSign, FT::Pop::Op::NodeRelu, FT::Pop::Op::NodeMultiply, FT::Pop::Op::NodeLogit, FT::Pop::Op::NodeLog, FT::Pop::Op::NodeGaussian, FT::Pop::Op::NodeFloat< T >, FT::Pop::Op::NodeExponential, FT::Pop::Op::NodeExponent, FT::Pop::Op::NodeDivide, FT::Pop::Op::NodeCube, FT::Pop::Op::NodeCos, FT::Pop::Op::NodeAdd, and FT::Pop::Op::Node2dGaussian.
Evaluates the node and updates the state states.
Implemented in FT::Pop::Op::NodeVariable< T >, FT::Pop::Op::NodeConstant, FT::Pop::Op::NodeVar, FT::Pop::Op::NodeSlope, FT::Pop::Op::NodeSkew, FT::Pop::Op::NodeRecent, FT::Pop::Op::NodeMin, FT::Pop::Op::NodeMedian, FT::Pop::Op::NodeMean, FT::Pop::Op::NodeMax, FT::Pop::Op::NodeLongitudinal, FT::Pop::Op::NodeKurtosis, FT::Pop::Op::NodeCount, FT::Pop::Op::NodeXor, FT::Pop::Op::NodeOr, FT::Pop::Op::NodeNot, FT::Pop::Op::NodeLessThan, FT::Pop::Op::NodeLEQ, FT::Pop::Op::NodeGreaterThan, FT::Pop::Op::NodeGEQ, FT::Pop::Op::NodeEqual, FT::Pop::Op::NodeAnd, FT::Pop::Op::NodeSplit< T >, FT::Pop::Op::NodeFuzzySplit< T >, FT::Pop::Op::NodeFuzzyFixedSplit< T >, FT::Pop::Op::NodeIfThenElse, FT::Pop::Op::NodeIf, FT::Pop::Op::NodeTanh, FT::Pop::Op::NodeSubtract, FT::Pop::Op::NodeStep, FT::Pop::Op::NodeSquare, FT::Pop::Op::NodeSqrt, FT::Pop::Op::NodeSin, FT::Pop::Op::NodeSign, FT::Pop::Op::NodeRelu, FT::Pop::Op::NodeMultiply, FT::Pop::Op::NodeLogit, FT::Pop::Op::NodeLog, FT::Pop::Op::NodeGaussian, FT::Pop::Op::NodeFloat< T >, FT::Pop::Op::NodeExponential, FT::Pop::Op::NodeExponent, FT::Pop::Op::NodeDivide, FT::Pop::Op::NodeCube, FT::Pop::Op::NodeCos, FT::Pop::Op::NodeAdd, and FT::Pop::Op::Node2dGaussian.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in FT::Pop::Op::NodeTrain.
ArrayXf FT::Pop::Op::Node::limited | ( | ArrayXf | x | ) |
std::unique_ptr< Node > FT::Pop::Op::Node::rnd_clone | ( | ) | const |
|
protectedpure virtual |
Implemented in FT::Pop::Op::NodeVariable< T >, FT::Pop::Op::NodeConstant, FT::Pop::Op::NodeVar, FT::Pop::Op::NodeSlope, FT::Pop::Op::NodeSkew, FT::Pop::Op::NodeRecent, FT::Pop::Op::NodeMin, FT::Pop::Op::NodeMedian, FT::Pop::Op::NodeMean, FT::Pop::Op::NodeMax, FT::Pop::Op::NodeLongitudinal, FT::Pop::Op::NodeKurtosis, FT::Pop::Op::NodeCount, FT::Pop::Op::NodeXor, FT::Pop::Op::NodeOr, FT::Pop::Op::NodeNot, FT::Pop::Op::NodeLessThan, FT::Pop::Op::NodeLEQ, FT::Pop::Op::NodeGreaterThan, FT::Pop::Op::NodeGEQ, FT::Pop::Op::NodeEqual, FT::Pop::Op::NodeAnd, FT::Pop::Op::NodeSplit< T >, FT::Pop::Op::NodeFuzzySplit< T >, FT::Pop::Op::NodeFuzzyFixedSplit< T >, FT::Pop::Op::NodeIfThenElse, FT::Pop::Op::NodeIf, FT::Pop::Op::NodeTanh, FT::Pop::Op::NodeSubtract, FT::Pop::Op::NodeStep, FT::Pop::Op::NodeSquare, FT::Pop::Op::NodeSqrt, FT::Pop::Op::NodeSin, FT::Pop::Op::NodeSign, FT::Pop::Op::NodeRelu, FT::Pop::Op::NodeMultiply, FT::Pop::Op::NodeLogit, FT::Pop::Op::NodeLog, FT::Pop::Op::NodeGaussian, FT::Pop::Op::NodeFloat< T >, FT::Pop::Op::NodeExponential, FT::Pop::Op::NodeExponent, FT::Pop::Op::NodeDivide, FT::Pop::Op::NodeCube, FT::Pop::Op::NodeCos, FT::Pop::Op::NodeAdd, and FT::Pop::Op::Node2dGaussian.
std::map<char, unsigned int> FT::Pop::Op::Node::arity |