MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / bagging

Function bagging

examples/machine_learning/bagging.cpp:62–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60}
61
62array bagging(array &train_feats, array &test_feats, array &train_labels,
63 int num_classes, int num_models, int sample_size) {
64 int num_train = train_feats.dims(0);
65 int num_test = test_feats.dims(0);
66
67 array idx = floor(randu(sample_size, num_models) * num_train);
68 array labels_all = constant(0, num_test, num_classes);
69 array off = seq(num_test);
70
71 for (int i = 0; i < num_models; i++) {
72 array ii = idx(span, i);
73
74 array train_feats_ii = lookup(train_feats, ii, 0);
75 array train_labels_ii = train_labels(ii);
76
77 // Get the predicted results
78 array labels_ii = knn(train_feats_ii, test_feats, train_labels_ii);
79 array lidx = labels_ii * num_test + off;
80
81 labels_all(lidx) = labels_all(lidx) + 1;
82 }
83
84 array val, labels;
85 max(val, labels, labels_all, 1);
86
87 return labels;
88}
89
90void bagging_demo(bool console, int perc) {
91 array train_images, train_labels;

Callers 1

bagging_demoFunction · 0.85

Calls 9

floorFunction · 0.85
randuFunction · 0.85
constantFunction · 0.85
seqClass · 0.85
knnFunction · 0.70
idxFunction · 0.50
lookupClass · 0.50
maxFunction · 0.50
dimsMethod · 0.45

Tested by

no test coverage detected