1#ifndef FSTDATASPLITTERHOLDOUT_H
2#define FSTDATASPLITTERHOLDOUT_H
99template<
class INTERVALCONTAINER,
typename IDXTYPE>
100class Data_Splitter_Holdout :
public Clonable_Impl<Data_Splitter_Holdout<INTERVALCONTAINER,IDXTYPE>,Data_Splitter<INTERVALCONTAINER,IDXTYPE>,CLONE_INHERIT,CLONE_INHERIT,CLONE_DEEP> {
108 virtual std::ostream&
print(std::ostream& os)
const override {os <<
"Data_Splitter_Holdout()";
return os;}
112 virtual const char*
splitter_name()
const override {
return "Data_Splitter_Holdout";}
115 const IDXTYPE trsiz=((*c)->n *
perctrain)/100;
116 const IDXTYPE tesiz=(*c)->n-trsiz;
118 (*c)->train->clear(); (*c)->train->push_back(tri);
119 (*c)->test->clear(); (*c)->test->push_back(tei);
CRTP mixin implementing the Clonable protocol for a concrete class.
Definition clonable.hpp:184
Implements train/test data splitting: use initial x% of original data for training,...
Definition data_splitter_holdout.hpp:100
virtual bool prepareNextSplit() override
advance split-sequence state; false = no more splits
Definition data_splitter_holdout.hpp:113
virtual IDXTYPE getNoOfSplits() const override
Definition data_splitter_holdout.hpp:106
Data_Splitter< INTERVALLER, IDXTYPE > TCC
Definition data_splitter_holdout.hpp:110
Clonable_Impl< Data_Splitter_Holdout, Data_Splitter< INTERVALLER, IDXTYPE >, CLONE_INHERIT, CLONE_INHERIT, CLONE_DEEP > parent_impl
Definition data_splitter_holdout.hpp:102
virtual std::ostream & print(std::ostream &os) const override
writes a human-readable identification of the splitter and its configuration; base default writes not...
Definition data_splitter_holdout.hpp:108
Data_Splitter_Holdout(const IDXTYPE _perctrain)
the initial _perctrain % of each class trains, the rest tests (single split)
Definition data_splitter_holdout.hpp:103
Data_Splitter_Holdout(const Data_Splitter_Holdout &dsp)
copies configuration
Definition data_splitter_holdout.hpp:104
virtual const char * splitter_name() const override
class name, used in error messages
Definition data_splitter_holdout.hpp:112
const IDXTYPE perctrain
Definition data_splitter_holdout.hpp:122
virtual void splitClassFirst(typename TCC::ClassIterator c, const unsigned int) override
write first-split train/test intervals of class cidx (c is that class's entry in csplit)
Definition data_splitter_holdout.hpp:114
Abstract class, defines interface for data splitting implementations (for use in data accessors).
Definition data_splitter.hpp:124
std::vector< PClassSplitter >::const_iterator ClassIterator
iterator over csplit, as passed to the per-class splitClassFirst()/splitClassNext() hooks
Definition data_splitter.hpp:174
Defines interface for data splitting implementations (for use in data accessors).
FST4 specific error passing class.
The Feature Selection Toolbox 4 library: every library component – data access, criteria and classifi...
Definition data_accessor.hpp:80
@ CLONE_DEEP
new Derived(*this), then set_cloned()
Definition clonable.hpp:149
@ CLONE_INHERIT
do not add behavior; defer to the Base class body (typically a family-level throwing default)
Definition clonable.hpp:147
void notify(const std::string msg)
Prints msg followed by a newline via syncout::print(); a no-op unless the preprocessor macro DEBUG is...
Definition global.hpp:112
Support structure to hold data interval (referring into data held by data accessor).
Definition data_intervaller.hpp:88