34 int32_t num_classes=2;
48 SG_ERROR(
"Multiclass or binary labels required for stratified crossvalidation\n")
53 for (
index_t i=0; i<num_classes; ++i)
55 labels_per_class.
vector[i]=0;
59 labels_per_class.
vector[i]++;
63 for (
index_t i=0; i<num_classes; ++i)
65 if (labels_per_class.
vector[i]<num_subsets)
67 SG_WARNING(
"There are only %d labels of class %.18g, but %d "
68 "subsets. Labels of that class will not appear in every "
69 "subset!\n", labels_per_class.
vector[i], classes.
vector[i], num_subsets);
96 SG_ERROR(
"Multiclass or binary labels required for stratified crossvalidation\n")
virtual ELabelType get_label_type() const =0
The class Labels models labels, i.e. class assignments of objects.
virtual int32_t get_num_labels() const =0
multi-class labels 0,1,...
Abstract base class for all splitting types. Takes a CLabels instance and generates a desired number ...
int32_t get_num_elements() const
Template Dynamic array class that creates an array that can be used like a list or an array...
Multiclass Labels for multi-class classification.
virtual void build_subsets()
Dynamic array class for CSGObject pointers that creates an array that can be used like a list or an a...
all of classes and functions are contained in the shogun namespace
CDynamicObjectArray * m_subset_indices
CStratifiedCrossValidationSplitting()
int32_t get_num_elements() const
CSGObject * get_element(int32_t index) const
Dense integer or floating point labels.
const T & get_element(int32_t idx1, int32_t idx2=0, int32_t idx3=0) const
bool append_element(CSGObject *e)