1#ifndef FSTDATASPLITTER5050_H
2#define FSTDATASPLITTER5050_H
98template<
class INTERVALCONTAINER,
typename IDXTYPE>
99class Data_Splitter_5050 :
public Clonable_Impl<Data_Splitter_5050<INTERVALCONTAINER,IDXTYPE>,Data_Splitter<INTERVALCONTAINER,IDXTYPE>,CLONE_INHERIT,CLONE_INHERIT,CLONE_DEEP> {
102 Data_Splitter_5050() :
parent_impl() {
notify(
"Data_Splitter_5050 constructor.");}
107 virtual std::ostream&
print(std::ostream& os)
const override {os <<
"Data_Splitter_5050()";
return os;}
111 virtual const char*
splitter_name()
const override {
return "Data_Splitter_5050";}
114 const IDXTYPE trsiz=(*c)->n/2;
115 const IDXTYPE tesiz=(*c)->n-trsiz;
117 (*c)->train->clear(); (*c)->train->push_back(tri);
118 (*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: first 50% of original data for training, second 50% for testing...
Definition data_splitter_5050.hpp:99
virtual const char * splitter_name() const override
class name, used in error messages
Definition data_splitter_5050.hpp:111
Clonable_Impl< Data_Splitter_5050, Data_Splitter< INTERVALLER, IDXTYPE >, CLONE_INHERIT, CLONE_INHERIT, CLONE_DEEP > parent_impl
Definition data_splitter_5050.hpp:101
Data_Splitter< INTERVALLER, IDXTYPE > TCC
Definition data_splitter_5050.hpp:109
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_5050.hpp:113
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_5050.hpp:107
virtual IDXTYPE getNoOfSplits() const override
Definition data_splitter_5050.hpp:105
Data_Splitter_5050(const Data_Splitter_5050 &dsp)
copies configuration (this splitter is parameterless, so there is nothing else to copy)
Definition data_splitter_5050.hpp:103
virtual bool prepareNextSplit() override
advance split-sequence state; false = no more splits
Definition data_splitter_5050.hpp:112
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