UnlabelledClassificationData::UnlabelledClassificationData(UINT numDimensions,string datasetName,string infoText):debugLog("[DEBUG ULCD]"),errorLog("[ERROR ULCD]"),warningLog("[WARNING ULCD]") { this->datasetName = datasetName; this->numDimensions = numDimensions; this->infoText = infoText; totalNumSamples = 0; crossValidationSetup = false; useExternalRanges = false; if( numDimensions > 0 ) setNumDimensions( numDimensions ); }
LabelledClassificationData::LabelledClassificationData(UINT numDimensions,string datasetName,string infoText){ this->datasetName = datasetName; this->numDimensions = numDimensions; this->infoText = infoText; totalNumSamples = 0; crossValidationSetup = false; useExternalRanges = false; allowNullGestureClass = false; if( numDimensions > 0 ) setNumDimensions( numDimensions ); debugLog.setProceedingText("[DEBUG LCD]"); errorLog.setProceedingText("[ERROR LCD]"); warningLog.setProceedingText("[WARNING LCD]"); }
GRT_BEGIN_NAMESPACE ClassificationData::ClassificationData(const UINT numDimensions,const std::string datasetName,const std::string infoText){ this->datasetName = datasetName; this->numDimensions = numDimensions; this->infoText = infoText; totalNumSamples = 0; crossValidationSetup = false; useExternalRanges = false; allowNullGestureClass = true; if( numDimensions > 0 ) setNumDimensions( numDimensions ); infoLog.setProceedingText("[ClassificationData]"); debugLog.setProceedingText("[DEBUG ClassificationData]"); errorLog.setProceedingText("[ERROR ClassificationData]"); warningLog.setProceedingText("[WARNING ClassificationData]"); }
GRT_BEGIN_NAMESPACE TimeSeriesClassificationData::TimeSeriesClassificationData(UINT numDimensions,std::string datasetName,std::string infoText){ debugLog.setProceedingText("[DEBUG TSCD]"); errorLog.setProceedingText("[ERROR TSCD]"); warningLog.setProceedingText("[WARNING TSCD]"); this->numDimensions = numDimensions; this->datasetName = datasetName; this->infoText = infoText; totalNumSamples = 0; crossValidationSetup = false; useExternalRanges = false; allowNullGestureClass = true; if( numDimensions > 0 ){ setNumDimensions(numDimensions); } }
GRT_BEGIN_NAMESPACE //Constructors and Destructors ClassificationDataStream::ClassificationDataStream(const UINT numDimensions,const std::string datasetName,const std::string infoText){ this->numDimensions= numDimensions; this->datasetName = datasetName; this->infoText = infoText; playbackIndex = 0; trackingClass = false; useExternalRanges = false; debugLog.setProceedingText("[DEBUG ClassificationDataStream]"); errorLog.setProceedingText("[ERROR ClassificationDataStream]"); warningLog.setProceedingText("[WARNING ClassificationDataStream]"); infoLog.setProceedingText(""); if( numDimensions > 0 ){ setNumDimensions(numDimensions); } }
bool UnlabelledClassificationData::loadDatasetFromCSVFile(string filename){ fstream file; string value; UINT numFeatures = 0; datasetName = "NOT_SET"; infoText = ""; //Clear any previous data clear(); //Try and open the file file.open( filename.c_str(), std::ios::in ); if( !file.is_open() ){ errorLog << "loadDatasetFromCSVFile(string filename) - Failed to open file!" << endl; return false; } //Read the first line to work out how many features are in the data getline( file, value ); for(UINT i=0; i<value.size(); i++){ if( value[i] == ',' ){ numFeatures++; } } //There will be one more feature at the end so add this numFeatures++; //If there are no commas in the first line then the data is not in the correct format if( numFeatures == 0 ){ errorLog << "loadDatasetFromCSVFile(string filename) - Failed to find any features in the file - there appear to be no commas in the first row!" << endl; return false; } cout << "NUM FEATURES: " << numFeatures << endl; //Setup the labelled classification data setNumDimensions( numFeatures ); //Reset the file to read from the start file.seekg( ios_base::beg ); //Read the data UINT lineCounter = 0; vector< double > sample(numFeatures,0); while ( file.good() ) { //Read the value getline( file, value, ',' ); sample[ lineCounter ] = stringToDouble( value ); if( ++lineCounter == numFeatures+1 ){ lineCounter = 0; addSample(sample); } } file.close(); return true; }