58 #ifndef GROUPEDTRAININGDATA 59 #define GROUPEDTRAININGDATA 101 :_labelsStoredInExtraArray( false)
106 :_labelsStoredInExtraArray( false)
111 template<
typename ForwardIter,
typename Accessor>
114 :_labelsStoredInExtraArray( false)
116 create( FV_begin, FV_end, accessor);
121 template<
typename ForwardIter,
typename Accessor>
127 return static_cast<unsigned int>(_classIndexToLabel.size());
132 return _classIndexToLabel[classIndex];
137 return _classIndexToLabel;
142 return _classStartIndizes[classIndex];
147 return _featureVectors.size();
154 return _featureVectors[i];
158 double label(
unsigned int fvIndex)
const 160 if( _labelsStoredInExtraArray)
163 return _labels[fvIndex];
167 SVM_ASSERT( fvIndex < _featureVectors.size());
168 return _featureVectors[fvIndex]->getLabel();
175 return _featureVectors;
180 return _featureVectors;
183 typename std::vector<FV*>::const_iterator
FV_begin()
const 185 return _featureVectors.begin();
188 typename std::vector<FV*>::const_iterator
FV_end()
const 190 return _featureVectors.end();
195 std::vector<FV*> _featureVectors;
196 std::vector<unsigned int> _classStartIndizes;
197 std::vector<double> _classIndexToLabel;
198 bool _labelsStoredInExtraArray;
199 std::vector<double> _labels;
205 #include "GroupedTrainingData.icc"
The GroupedTrainingData class is a container for feature vectors.
double label(unsigned int fvIndex) const
std::vector< FV * > & allFeatureVectors()
const std::vector< FV * > & allFeatureVectors() const
#define SVM_ASSERT(condition)
size_t nFeatureVectors() const
#define CHECK_CLASS_TEMPLATE1(c)
unsigned int nClasses() const
GroupedTrainingData(const SVM_Problem< FV > &problem)
std::vector< FV * >::const_iterator FV_begin() const
void create(const SVM_Problem< FV > &problem)
GroupedTrainingData(ForwardIter FV_begin, const ForwardIter &FV_end, Accessor accessor)
FV * featureVector(unsigned int i) const
unsigned int classStartIndex(int classIndex) const
double classIndexToLabel(int classIndex) const
std::vector< FV * >::const_iterator FV_end() const
const std::vector< double > & classIndizesToLabels() const