26 "predicted label should be of multilabels type\n");
28 "actual label should be of multilabels type\n");
30 "predicted labels and actual labels should be of same type\n");
36 "predicted labels and actual labels should have same number of labels\n");
38 "predicted labels and actual labels should have same number of classes\n");
43 for (
index_t k=0; k<num_labels; k++)
51 while (i<slabel_true.
vlen && j<slabel_pred.
vlen)
54 if (slabel_true[i] == slabel_pred[j])
61 else if (slabel_true[i] < slabel_pred[j])
72 accuracy += ((float)true_pos /
73 (
float)(slabel_true.
vlen + slabel_pred.
vlen - true_pos));
76 return accuracy/num_labels;
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
virtual float64_t evaluate(CLabels *predicted, CLabels *ground_truth)
virtual int32_t get_num_labels() const
virtual int32_t get_num_classes() const
SGVector< int32_t > get_label(int32_t j)
all of classes and functions are contained in the shogun namespace
sparse label class for multilabel classification (sets of labels)
Multilabel Labels for multi-label classification.
virtual ~CMultilabelAccuracy()
Class Evaluation, a base class for other classes used to evaluate labels, e.g. accuracy of classifica...