5 #ifndef NODE_FUZZY_SPLIT
6 #define NODE_FUZZY_SPLIT
8 #include "../n_train.h"
24 void set_threshold(ArrayXf& x, VectorXf& y,
bool classification);
27 float gain(
const VectorXf& lsplit,
const VectorXf& rsplit,
28 bool classification=
false,
29 vector<float> unique_classes = vector<float>());
data holding X, y, and Z data
void eval_eqn(State &state)
Evaluates the node symbolically.
void evaluate(const Data &data, State &state)
Evaluates the node and updates the state states.
NodeFuzzySplit * clone_impl() const override
void set_threshold(ArrayXf &x, VectorXf &y, bool classification)
Uses a heuristic to set a splitting threshold.
float gini_impurity_index(const VectorXf &classes, vector< float > uc)
gini impurity of classes in classes
NodeFuzzySplit * rnd_clone_impl() const override
float gain(const VectorXf &lsplit, const VectorXf &rsplit, bool classification=false, vector< float > unique_classes=vector< float >())
returns the gain of a split
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(NodeFuzzyFixedSplit< float >, name, otype, arity, complexity, visits, train, threshold, threshold_set) NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(NodeFuzzyFixedSplit< int >
contains various types of State actually used by feat