16 : fDatasets(datasets),
70 throw std::invalid_argument(
71 "The sampling_ratio is too low: not enough entries in the majority class to sample from.\n"
72 "Choose sampling_ratio > " +
73 minRatio +
" or set replacement to True.");
113 std::size_t
index = 0;
136 std::size_t
index = 0;
154 std::uniform_int_distribution<> dist(0, max - 1);
157 for (std::size_t i = 0; i <
n_samples; ++i) {
160 std::random_device
rd;
190 for (std::size_t i = 0; i < max; ++i)
194 std::random_device
rd;
205 for (std::size_t i = 0; i <
n_samples; ++i) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
void SampleWithoutReplacement(std::size_t n_samples, std::size_t max)
Add indices without replacement to fSamples.
void SetupRandomUndersampler()
Calculate fNumEntries and major/minor variables for the random undersampler.
void RandomOversampler(RFlat2DMatrix &ShuffledTensor)
Oversample entries randomly from the minority dataset.
void SampleWithReplacement(std::size_t n_samples, std::size_t max)
Add indices with replacement to fSamples.
void SetupRandomOversampler()
Calculate fNumEntries and major/minor variables for the random oversampler.
void SetupSampler()
Calculate fNumEntries and major/minor variables.
std::vector< std::size_t > fSamples
std::unique_ptr< RFlat2DMatrixOperators > fTensorOperators
RSampler(std::vector< RFlat2DMatrix > &datasets, const std::string &sampleType, float sampleRatio, bool replacement=false, bool shuffle=true, std::size_t setSeed=0)
void RandomUndersampler(RFlat2DMatrix &ShuffledTensor)
Undersample entries randomly from the majority dataset.
std::size_t fNumResampledMajor
std::vector< RFlat2DMatrix > & fDatasets
void Sampler(RFlat2DMatrix &SampledTensor)
Collection of sampling types.
std::size_t fNumResampledMinor
const_iterator begin() const
const_iterator end() const
Wrapper around ROOT::RVec<float> representing a 2D matrix.