yat
0.8.3pre
|
00001 #ifndef _theplu_yat_classifier_supervisedclassifier_ 00002 #define _theplu_yat_classifier_supervisedclassifier_ 00003 00004 // $Id: SupervisedClassifier.h 2119 2009-12-12 23:11:43Z peter $ 00005 00006 /* 00007 Copyright (C) 2005 Markus Ringnér 00008 Copyright (C) 2006 Jari Häkkinen, Peter Johansson, Markus Ringnér 00009 Copyright (C) 2007 Jari Häkkinen, Peter Johansson 00010 Copyright (C) 2008 Jari Häkkinen, Peter Johansson, Markus Ringnér 00011 00012 This file is part of the yat library, http://dev.thep.lu.se/yat 00013 00014 The yat library is free software; you can redistribute it and/or 00015 modify it under the terms of the GNU General Public License as 00016 published by the Free Software Foundation; either version 3 of the 00017 License, or (at your option) any later version. 00018 00019 The yat library is distributed in the hope that it will be useful, 00020 but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 General Public License for more details. 00023 00024 You should have received a copy of the GNU General Public License 00025 along with yat. If not, see <http://www.gnu.org/licenses/>. 00026 */ 00027 00028 #include <cstddef> 00029 00030 namespace theplu { 00031 namespace yat { 00032 00033 namespace utility { 00034 class Matrix; 00035 } 00036 00037 namespace classifier { 00038 00039 class MatrixLookup; 00040 class MatrixLookupWeighted; 00041 class Target; 00042 00056 class SupervisedClassifier 00057 { 00058 00059 public: 00063 SupervisedClassifier(void); 00064 00065 00069 virtual ~SupervisedClassifier(void); 00070 00071 00087 virtual SupervisedClassifier* 00088 make_classifier() const =0; 00089 00090 00108 virtual void predict(const MatrixLookup& data, utility::Matrix& result) const =0; 00109 00110 00117 virtual void predict(const MatrixLookupWeighted& data, utility::Matrix& result) const =0; 00118 00119 00130 virtual void train(const MatrixLookup& data, const Target& targets)=0; 00131 00139 virtual void train(const MatrixLookupWeighted& data, const Target& targets)=0; 00140 00141 }; 00142 00143 }}} // of namespace classifier, yat, and theplu 00144 00145 #endif