yat
0.8.3pre
|
00001 #ifndef _theplu_yat_classifier_kernel_mev_ 00002 #define _theplu_yat_classifier_kernel_mev_ 00003 00004 // $Id: Kernel_MEV.h 2119 2009-12-12 23:11:43Z peter $ 00005 00006 /* 00007 Copyright (C) 2003 Peter Johansson 00008 Copyright (C) 2004, 2005 Jari Häkkinen, Peter Johansson 00009 Copyright (C) 2006 Jari Häkkinen, Peter Johansson, Markus Ringnér 00010 Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson 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 "Kernel.h" 00029 #include "KernelFunction.h" 00030 00031 namespace theplu { 00032 namespace yat { 00033 namespace classifier { 00034 class MatrixLookup; 00035 class MatrixLookupWeighted; 00036 00048 class Kernel_MEV : public Kernel 00049 { 00050 00051 public: 00052 00058 Kernel_MEV(const MatrixLookup& data, const KernelFunction& kf, 00059 const bool own=false); 00060 00061 00067 Kernel_MEV(const MatrixLookupWeighted& data, const KernelFunction& kf, 00068 const bool own=false); 00069 00070 00075 Kernel_MEV(const Kernel_MEV& kernel, const std::vector<size_t>& index); 00076 00077 00082 double operator()(const size_t row, const size_t column) const; 00083 00092 const Kernel_MEV* make_kernel(const MatrixLookup&, 00093 const bool own=false) const; 00094 00095 00104 const Kernel_MEV* make_kernel(const MatrixLookupWeighted&, 00105 const bool own=false) const; 00106 00107 00108 private: 00112 Kernel_MEV(const Kernel_MEV&); 00113 const Kernel_MEV& operator=(const Kernel_MEV&); 00114 00115 }; // class Kernel_MEV 00116 00117 }}} // of namespace classifier, yat, and theplu 00118 00119 #endif