yat  0.8.3pre
SupervisedClassifier.h
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

Generated on Thu Dec 20 2012 03:12:57 for yat by  doxygen 1.8.0-20120409