yat  0.8.3pre
ConsensusInputRanker.h
00001 #ifndef _theplu_yat_classifier_consensusinputranker_ 
00002 #define _theplu_yat_classifier_consensusinputranker_ 
00003 
00004 // $Id: ConsensusInputRanker.h 2119 2009-12-12 23:11:43Z peter $
00005 
00006 /*
00007   Copyright (C) 2004, 2005 Peter Johansson
00008   Copyright (C) 2006 Jari Häkkinen, Peter Johansson, Markus Ringnér
00009   Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson
00010 
00011   This file is part of the yat library, http://dev.thep.lu.se/yat
00012 
00013   The yat library is free software; you can redistribute it and/or
00014   modify it under the terms of the GNU General Public License as
00015   published by the Free Software Foundation; either version 3 of the
00016   License, or (at your option) any later version.
00017 
00018   The yat library is distributed in the hope that it will be useful,
00019   but WITHOUT ANY WARRANTY; without even the implied warranty of
00020   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00021   General Public License for more details.
00022 
00023   You should have received a copy of the GNU General Public License
00024   along with yat. If not, see <http://www.gnu.org/licenses/>.
00025 */
00026 
00027 #include "InputRanker.h"
00028 
00029 #include <vector>
00030 
00031 namespace theplu {
00032 namespace yat {
00033 namespace statistics {
00034   class Score;
00035   class VectorFunction;
00036 }
00037 namespace classifier {  
00038 
00039   class IRRetrieve;
00040   class MatrixLookup;
00041   class MatrixLookupWeighted;
00042   class Sampler;
00043 
00067   class ConsensusInputRanker
00068   {
00069   
00070   public:
00071 
00077     ConsensusInputRanker(const IRRetrieve&, const statistics::VectorFunction&);
00078     
00085     void add(const Sampler& sampler, const MatrixLookup&, 
00086              const statistics::Score& s);
00087     
00096     void add(const Sampler& sampler, const MatrixLookupWeighted& data, 
00097              const statistics::Score& score);
00098     
00107     void add(const InputRanker& ir);
00108     
00113     size_t id(size_t i) const;
00114     
00118     const InputRanker& input_ranker(size_t i) const;
00119 
00124     size_t rank(size_t i) const;
00125     
00132     void reserve(size_t n);
00133 
00134 
00138     void update(void);
00139 
00140 
00141   private:
00142 
00143     std::vector<size_t> id_;
00144     std::vector<InputRanker> input_rankers_;
00145     std::vector<size_t> rank_;
00146     const IRRetrieve& retriever_;
00147     const statistics::VectorFunction& vec_func_;
00148   };
00149 
00150 }}} // of namespace classifier, yat, and theplu
00151 
00152 #endif

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