Classifier.cpp

Go to the documentation of this file.
00001 /*
00002  * This program is free software; you can redistribute it and/or modify
00003  * it under the terms of the GNU General Public License as published by
00004  * the Free Software Foundation; either version 3 of the License, or
00005  * (at your option) any later version.
00006  *
00007  * Written (W) 1999-2009 Soeren Sonnenburg
00008  * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
00009  */
00010 
00011 #include "classifier/Classifier.h"
00012 
00013 CClassifier::CClassifier() : CSGObject(), max_train_time(0), labels(NULL),
00014     solver_type(ST_AUTO)
00015 {
00016 }
00017 
00018 CClassifier::~CClassifier()
00019 {
00020     SG_UNREF(labels);
00021 }
00022 
00023 CLabels* CClassifier::classify(CLabels* output)
00024 {
00025     if (labels)
00026     {
00027         int32_t num=labels->get_num_labels();
00028         ASSERT(num>0);
00029 
00030         if (!output)
00031         {
00032             output=new CLabels(num);
00033             SG_REF(output);
00034         }
00035 
00036         for (int32_t i=0; i<num; i++)
00037             output->set_label(i, classify_example(i));
00038 
00039         return output;
00040     }
00041 
00042     return NULL;
00043 }

SHOGUN Machine Learning Toolbox - Documentation