📄 ilearner.h
字号:
//LAB_LicenseBegin==============================================================
// Copyright (c) 2005-2006, Hicham GHORAYEB < ghorayeb@gmail.com >
// All rights reserved.
//
// This software is a Library for Adaptive Boosting. It provides a generic
// framework for the study of the Boosting algorithms. The framework provides
// the different tasks for boosting: Learning, Validation, Test, Profiling and
// Performance Analysis Tasks.
//
// This Library was developped during my PhD studies at:
// Ecole des Mines de Paris - Centre de Robotique( CAOR )
// http://caor.ensmp.fr
// under the supervision of Pr. Claude Laurgeau and Bruno Steux
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the distribution.
// * Neither the name of the Ecole des Mines de Paris nor the names of
// its contributors may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//================================================================LAB_LicenseEnd
#ifndef _LIBADABOOST_LEARNER_H_
#define _LIBADABOOST_LEARNER_H_
#include "LibAdaBoost/modules/Module.h"
#include "LibAdaBoost/modules/Publisher.h"
using namespace modules;
#include "LibAdaBoost/samples/learningsets/ILearningSet.h"
using namespace samples::learningsets;
#include "LibAdaBoost/classifiers/IClassifier.h"
using namespace classifiers;
#include <string>
using namespace std;
namespace learners{
class IWeakLearner;
class ILearner
:public Module
,public Publisher
{
public://Constructor & Destructor
ILearner()
:Publisher( "ILearner" )
,Module()
{
}
ILearner(const std::string &name)
:Publisher( name )
,Module()
{
}
virtual ~ILearner(){};
public://Module
virtual std::string GetName(void) const = 0;
std::string GetType(void) const {return "ILearner";}
virtual void SetOptions(const modules::options::ModuleOptions &options) = 0;
public:// ILearner
virtual void Learn(void) = 0;
virtual void Reset(void) = 0;
virtual IClassifier *GetResult(void) = 0;
virtual ILearningSet *GetLearningSet(void) = 0;
virtual void SetLearningSet(ILearningSet *learningSet) = 0;
virtual IWeakLearner *GetWeakLearner(void) = 0;
virtual void SetWeakLearner(IWeakLearner *weakLearner) = 0;
};
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -