yat/classifier/BootstrapSampler.h

Code
Comments
Other
Rev Date Author Line
4200 19 Aug 22 peter 1 #ifndef _theplu_yat_classifier_bootstrap_sampler_
823 19 Mar 07 peter 2 #define _theplu_yat_classifier_bootstrap_sampler_
823 19 Mar 07 peter 3
823 19 Mar 07 peter 4 // $Id$
823 19 Mar 07 peter 5
823 19 Mar 07 peter 6 /*
4359 23 Aug 23 peter 7   Copyright (C) 2007 Peter Johansson
4359 23 Aug 23 peter 8   Copyright (C) 2008 Jari Häkkinen, Peter Johansson
823 19 Mar 07 peter 9
1437 25 Aug 08 peter 10   This file is part of the yat library, http://dev.thep.lu.se/yat
823 19 Mar 07 peter 11
823 19 Mar 07 peter 12   The yat library is free software; you can redistribute it and/or
823 19 Mar 07 peter 13   modify it under the terms of the GNU General Public License as
1486 09 Sep 08 jari 14   published by the Free Software Foundation; either version 3 of the
823 19 Mar 07 peter 15   License, or (at your option) any later version.
823 19 Mar 07 peter 16
823 19 Mar 07 peter 17   The yat library is distributed in the hope that it will be useful,
823 19 Mar 07 peter 18   but WITHOUT ANY WARRANTY; without even the implied warranty of
823 19 Mar 07 peter 19   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
823 19 Mar 07 peter 20   General Public License for more details.
823 19 Mar 07 peter 21
823 19 Mar 07 peter 22   You should have received a copy of the GNU General Public License
1487 10 Sep 08 jari 23   along with yat. If not, see <http://www.gnu.org/licenses/>.
823 19 Mar 07 peter 24 */
823 19 Mar 07 peter 25
823 19 Mar 07 peter 26 #include "Sampler.h"
823 19 Mar 07 peter 27
823 19 Mar 07 peter 28 namespace theplu {
823 19 Mar 07 peter 29 namespace yat {
823 19 Mar 07 peter 30 namespace classifier {
823 19 Mar 07 peter 31
823 19 Mar 07 peter 32   class Target;
823 19 Mar 07 peter 33
823 19 Mar 07 peter 34   /**
4200 19 Aug 22 peter 35      @brief Class creating trainingset and validationset using bootstrapping.
823 19 Mar 07 peter 36
823 19 Mar 07 peter 37      This is done in a balanced way, meaning the proportions between
823 19 Mar 07 peter 38      the classes in the trainingset is equal to the proportions in the
823 19 Mar 07 peter 39      whole dataset. For each class \f$ N_i \f$ samples are drawn with
4200 19 Aug 22 peter 40      replacement, where \f$ N_i \f$ is number of samples in class i.
823 19 Mar 07 peter 41   */
823 19 Mar 07 peter 42   class BootstrapSampler : public Sampler
823 19 Mar 07 peter 43   {
823 19 Mar 07 peter 44
823 19 Mar 07 peter 45   public:
823 19 Mar 07 peter 46     ///
4200 19 Aug 22 peter 47     /// @brief Constructor
823 19 Mar 07 peter 48     ///
4200 19 Aug 22 peter 49     /// @a target targets.
823 19 Mar 07 peter 50     /// @a N total number of partitions.
823 19 Mar 07 peter 51     ///
823 19 Mar 07 peter 52     BootstrapSampler(const Target& target, const size_t N);
823 19 Mar 07 peter 53
823 19 Mar 07 peter 54     ///
823 19 Mar 07 peter 55     /// Destructor
823 19 Mar 07 peter 56     ///
823 19 Mar 07 peter 57     virtual ~BootstrapSampler();
823 19 Mar 07 peter 58
823 19 Mar 07 peter 59   private:
4200 19 Aug 22 peter 60     void build(const Target& target, size_t N);
823 19 Mar 07 peter 61
823 19 Mar 07 peter 62   };
823 19 Mar 07 peter 63
823 19 Mar 07 peter 64 }}} // of namespace classifier, yat, and theplu
823 19 Mar 07 peter 65 #endif