SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MachineEvaluation.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  * Copyright (C) 2012 Jacob Walker
8  *
9  * Some code adapted from CrossValidation class by
10  * Heiko Strathmann
11  */
12 
13 #ifndef CMACHINEEVALUATION_H_
14 #define CMACHINEEVALUATION_H_
15 
16 #include <shogun/base/SGObject.h>
20 
21 namespace shogun
22 {
23 
24 class CMachine;
25 class CFeatures;
26 class CLabels;
27 class CSplittingStrategy;
28 class CEvaluation;
29 
35 {
36 
37 public:
38 
40 
49  CMachineEvaluation(CMachine* machine, CFeatures* features, CLabels* labels,
50  CSplittingStrategy* splitting_strategy,
51  CEvaluation* evaluation_criterion, bool autolock = true);
52 
60  CMachineEvaluation(CMachine* machine, CLabels* labels,
61  CSplittingStrategy* splitting_strategy,
62  CEvaluation* evaluation_criterion, bool autolock = true);
63 
64 
65  virtual ~CMachineEvaluation();
66 
69 
77  virtual CEvaluationResult* evaluate() = 0;
78 
80  CMachine* get_machine() const;
81 
84  void set_autolock(bool autolock) { m_autolock = autolock; }
85 
86 protected:
87 
89  virtual void init();
90 
91 protected:
92 
95 
98 
101 
104 
107 
110 
113 
114 };
115 
116 } /* namespace shogun */
117 
118 #endif /* CMACHINEEVALUATION_H_ */

SHOGUN Machine Learning Toolbox - Documentation