yat  0.21pre
SupervisedClassifier.h
1 #ifndef _theplu_yat_classifier_supervisedclassifier_
2 #define _theplu_yat_classifier_supervisedclassifier_
3 
4 // $Id: SupervisedClassifier.h 4207 2022-08-26 04:36:28Z peter $
5 
6 /*
7  Copyright (C) 2005 Markus Ringnér
8  Copyright (C) 2006 Jari Häkkinen, Peter Johansson, Markus Ringnér
9  Copyright (C) 2007 Jari Häkkinen, Peter Johansson
10  Copyright (C) 2008 Jari Häkkinen, Peter Johansson, Markus Ringnér
11  Copyright (C) 2022 Peter Johansson
12 
13  This file is part of the yat library, http://dev.thep.lu.se/yat
14 
15  The yat library is free software; you can redistribute it and/or
16  modify it under the terms of the GNU General Public License as
17  published by the Free Software Foundation; either version 3 of the
18  License, or (at your option) any later version.
19 
20  The yat library is distributed in the hope that it will be useful,
21  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23  General Public License for more details.
24 
25  You should have received a copy of the GNU General Public License
26  along with yat. If not, see <http://www.gnu.org/licenses/>.
27 */
28 
29 #include <cstddef>
30 
31 namespace theplu {
32 namespace yat {
33 
34  namespace utility {
35  class Matrix;
36  }
37 
38 namespace classifier {
39 
40  class MatrixLookup;
41  class MatrixLookupWeighted;
42  class Target;
43 
58  {
59 
60  public:
65 
66 
70  virtual ~SupervisedClassifier(void);
71 
72 
88  virtual SupervisedClassifier*
89  make_classifier() const =0;
90 
91 
109  virtual void predict(const MatrixLookup& data, utility::Matrix& result) const =0;
110 
111 
118  virtual void predict(const MatrixLookupWeighted& data, utility::Matrix& result) const =0;
119 
120 
131  virtual void train(const MatrixLookup& data, const Target& targets)=0;
132 
140  virtual void train(const MatrixLookupWeighted& data, const Target& targets)=0;
141 
142  };
143 
144 }}} // of namespace classifier, yat, and theplu
145 
146 #endif
General view into utility::Matrix.
Definition: MatrixLookup.h:70
Class for containing sample labels.
Definition: Target.h:47
The Department of Theoretical Physics namespace as we define it.
virtual void predict(const MatrixLookup &data, utility::Matrix &result) const =0
Make predictions for unweighted test data.
Interface class for supervised classifiers that use data in a matrix format.
Definition: SupervisedClassifier.h:57
virtual void train(const MatrixLookup &data, const Target &targets)=0
Train the classifier using unweighted training data with known targets.
General view into utility::MatrixWeighted.
Definition: MatrixLookupWeighted.h:63
virtual ~SupervisedClassifier(void)
Destructor.
virtual SupervisedClassifier * make_classifier() const =0
Create an untrained copy of the classifier.
Interface to GSL matrix.
Definition: Matrix.h:104

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14