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-2011 Soeren Sonnenburg 00008 * Written (W) 2012 Fernando José Iglesias García and Sergey Lisitsyn 00009 * Copyright (C) 2012 Sergey Lisitsyn, Fernando José Iglesias Garcia 00010 */ 00011 00012 #ifndef _NATIVEMULTICLASSMACHINE_H___ 00013 #define _NATIVEMULTICLASSMACHINE_H___ 00014 00015 #include <shogun/machine/MulticlassMachine.h> 00016 00017 namespace shogun 00018 { 00019 00021 class CNativeMulticlassMachine : public CMulticlassMachine 00022 { 00023 public: 00025 CNativeMulticlassMachine() 00026 { 00027 } 00028 00030 virtual ~CNativeMulticlassMachine() 00031 { 00032 } 00033 00035 virtual const char* get_name() const 00036 { 00037 return "NativeMulticlassMachine"; 00038 } 00039 00040 protected: 00042 void init_strategy() { } 00043 00045 void clear_machines() { } 00046 00048 virtual bool init_machine_for_train(CFeatures* data) { return true; } 00049 00051 virtual bool init_machines_for_apply(CFeatures* data) { return true; } 00052 00054 virtual bool is_ready() { return true; } 00055 00057 virtual CMachine* get_machine_from_trained(CMachine* machine) { return NULL; } 00058 00060 virtual int32_t get_num_rhs_vectors() { return 0; } 00061 00066 virtual void add_machine_subset(SGVector<index_t> subset) { } 00067 00069 virtual void remove_machine_subset() { } 00070 00072 virtual bool is_acceptable_machine(CMachine *machine) { return true; } 00073 00074 }; 00075 } 00076 #endif