1 #include "../multi_array.hxx"
11 SampleRange(
int start,
int end,
int num_features)
15 this->min_boundaries.resize(num_features,-FLT_MAX);
16 this->max_boundaries.resize(num_features,FLT_MAX);
20 mutable std::vector<T> max_boundaries;
21 mutable std::vector<T> min_boundaries;
22 bool operator<(
const SampleRange& o)
const
29 class OnlinePredictionSet
33 OnlinePredictionSet(MultiArrayView<2,T,U>& features,
int num_sets)
35 this->features=features;
36 std::vector<int> init(features.shape(0));
37 for(
unsigned int i=0;i<init.size();++i)
39 indices.resize(num_sets,init);
40 std::set<SampleRange<T> > set_init;
41 set_init.insert(SampleRange<T>(0,init.size(),features.shape(1)));
42 ranges.resize(num_sets,set_init);
43 cumulativePredTime.resize(num_sets,0);
48 for(
unsigned int i=0;i<cumulativePredTime.size();++i)
50 if(cumulativePredTime[i]>cumulativePredTime[result])
57 void reset_tree(
int index)
59 index=index % ranges.size();
60 std::set<SampleRange<T> > set_init;
61 set_init.insert(SampleRange<T>(0,features.shape(0),features.shape(1)));
62 ranges[index]=set_init;
63 cumulativePredTime[index]=0;
65 std::vector<std::set<SampleRange<T> > > ranges;
66 std::vector<std::vector<int> > indices;
67 std::vector<int> cumulativePredTime;
68 MultiArray<2,T> features;