64 fDeltaPruneStrength(0),
66 fLogger( new
MsgLogger(
"ExpectedErrorPruneTool") )
86 Log() << kWARNING <<
"Sorry automatic pruning strength determination is not implemented yet" <<
Endl;
88 if( dt == NULL || (IsAutomatic() && validationSample == NULL) ) {
97 Log() << kFATAL <<
"Sorry automatic pruning strength determination is not implemented yet" <<
Endl;
168 return new PruningInfo( -1.0, fPruneStrength, fPruneSequence );
180 this->FindListOfNodes(
l);
181 this->FindListOfNodes(
r);
182 if (this->GetSubTreeError(node) >= this->GetNodeError(node)) {
184 fPruneSequence.push_back(node);
199 (
l->GetNEvents() * this->GetSubTreeError(
l) +
200 r->GetNEvents() * this->GetSubTreeError(
r)) /
205 return this->GetNodeError(node);
232 errorRate = std::min(1.0,(1.0 - (
f-fPruneStrength*df)));
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
virtual DecisionTreeNode * GetLeft() const
Int_t GetNodeType(void) const
return node type: 1 signal node, -1 bkg leave, 0 intermediate Node
Float_t GetNEvents(void) const
return the number of events that entered the node (during training), or -1 if traininfo undefined
Float_t GetPurity(void) const
return S/(S+B) (purity) at this node (from training)
Bool_t IsTerminal() const
flag indicates whether this node is terminal
virtual DecisionTreeNode * GetRight() const
Implementation of a Decision Tree.
Double_t GetNodePurityLimit() const
virtual DecisionTreeNode * GetRoot() const
ostringstream derivative to redirect and format output
MsgLogger & Endl(MsgLogger &ml)
Double_t Sqrt(Double_t x)
Returns the square root of x.