SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
KernelMulticlassMachine.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 1999-2012 Soeren Sonnenburg and Sergey Lisitsyn
8  * Written (W) 2012 Heiko Strathmann
9  * Copyright (C) 1999-2012 Fraunhofer Institute FIRST and Max-Planck-Society
10  */
11 
12 #ifndef _KERNELMULTICLASSMACHINE_H___
13 #define _KERNELMULTICLASSMACHINE_H___
14 
15 #include <shogun/lib/common.h>
17 #include <shogun/kernel/Kernel.h>
20 
21 namespace shogun
22 {
23 
24 class CKernel;
25 class CKernelMachine;
26 
29 {
30  public:
33 
40  CKernelMulticlassMachine(CMulticlassStrategy *strategy, CKernel* kernel, CKernelMachine* machine, CLabels* labs);
41 
43  virtual ~CKernelMulticlassMachine();
44 
46  virtual const char* get_name() const
47  {
48  return "KernelMulticlassMachine";
49  }
50 
55  void set_kernel(CKernel* k);
56 
62 
69  virtual void store_model_features();
70 
71  protected:
72 
74  virtual bool init_machine_for_train(CFeatures* data);
75 
77  virtual bool init_machines_for_apply(CFeatures* data);
78 
80  virtual bool is_ready();
81 
83  virtual CMachine* get_machine_from_trained(CMachine* machine);
84 
86  virtual int32_t get_num_rhs_vectors();
87 
92  virtual void add_machine_subset(SGVector<index_t> subset);
93 
95  virtual void remove_machine_subset();
96 
97  protected:
98 
101 
102 };
103 }
104 #endif

SHOGUN Machine Learning Toolbox - Documentation