1#ifndef FSTDATASPLITTERRANDFIX_H
2#define FSTDATASPLITTERRANDFIX_H
101template<
class INTERVALCONTAINER,
typename IDXTYPE,
typename BINTYPE>
115 virtual void makeRandomSplit(
const IDXTYPE n,
const std::shared_ptr<INTERVALCONTAINER> list_train,
const std::shared_ptr<INTERVALCONTAINER> list_test)
override;
118template<
class INTERVALCONTAINER,
typename IDXTYPE,
typename BINTYPE>
127 const BINTYPE id_empty = 0;
128 const BINTYPE id_train = 1;
131 assert(trsiz+tesiz<=n);
152 throw fst_error(
"Data_Splitter_TrainRandom_TestFixed::makeRandomSplit() error.");
CRTP mixin implementing the Clonable protocol for a concrete class.
Definition clonable.hpp:184
Implements train/test data splitting: use randomly chosen x% of data samples for training and another...
Definition data_splitter_randrand.hpp:107
std::unique_ptr< BINTYPE[]> _data
pattern selection array: one BINTYPE label (id_empty/id_train/id_test) per sample index,...
Definition data_splitter_randrand.hpp:158
const IDXTYPE perctest
Definition data_splitter_randrand.hpp:161
const IDXTYPE splits
Definition data_splitter_randrand.hpp:162
IDXTYPE _n_max
actual _data size (capacity; may exceed the current class size n)
Definition data_splitter_randrand.hpp:157
void translate(const IDXTYPE n, const BINTYPE id_fill, const std::shared_ptr< INTERVALCONTAINER > lst)
Converts the binary _data labeling (id_fill vs. everything else) over indices [0,n) into lst's list o...
Definition data_splitter_randrand.hpp:204
void fill_randomly(const IDXTYPE n, const BINTYPE id_empty, const BINTYPE id_fill, const IDXTYPE count, const IDXTYPE minidx, const IDXTYPE maxidx)
Randomly relabels count of the still-id_empty slots of _data (within [minidx,maxidx]) to id_fill; dra...
Definition data_splitter_randrand.hpp:169
void fill(const IDXTYPE n, const BINTYPE id_empty, const BINTYPE id_fill, const IDXTYPE minidx, const IDXTYPE maxidx)
Relabels every still-id_empty slot of _data (within [minidx,maxidx]) to id_fill, unconditionally (no ...
Definition data_splitter_randrand.hpp:194
const IDXTYPE perctrain
Definition data_splitter_randrand.hpp:160
Implements train/test data splitting: equal to Data_Splitter_RandomRandom except that the same test d...
Definition data_splitter_randfix.hpp:102
Data_Splitter_TrainRandom_TestFixed(const Data_Splitter_TrainRandom_TestFixed &dsp)
copies configuration
Definition data_splitter_randfix.hpp:107
Data_Splitter< INTERVALLER, IDXTYPE > TCC
Definition data_splitter_randfix.hpp:112
virtual void makeRandomSplit(const IDXTYPE n, const std::shared_ptr< INTERVALCONTAINER > list_train, const std::shared_ptr< INTERVALCONTAINER > list_test) override
Definition data_splitter_randfix.hpp:119
Data_Splitter_RandomRandom< INTERVALLER, IDXTYPE, BINTYPE > parent
Definition data_splitter_randfix.hpp:104
Clonable_Impl< Data_Splitter_TrainRandom_TestFixed, parent, CLONE_INHERIT, CLONE_INHERIT, CLONE_DEEP > parent_impl
Definition data_splitter_randfix.hpp:105
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_randfix.hpp:110
Data_Splitter_TrainRandom_TestFixed(const IDXTYPE _splits, const IDXTYPE _perctrain, const IDXTYPE _perctest, const bool randomize=false)
same parameters as Data_Splitter_RandomRandom; the test part is always the fixed trailing _perctest %...
Definition data_splitter_randfix.hpp:106
Abstract class, defines interface for data splitting implementations (for use in data accessors).
Definition data_splitter.hpp:124
FST4 specific error passing class.
Definition error.hpp:61
Implements train/test data splitting: use randomly chosen x% of data samples for training and another...
FST4 specific error passing class.
The Feature Selection Toolbox 4 library: every library component – data access, criteria and classifi...
Definition data_accessor.hpp:80
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