📄 adaboost_ecoc.h
字号:
// -*- C++ -*-#ifndef __LEMGA_MULTICLASS_ADABOOST_ECOC_H__#define __LEMGA_MULTICLASS_ADABOOST_ECOC_H__/** @file * @brief Declare @link lemga::AdaBoost_ECOC AdaBoost_ECOC@endlink class. * * $Id: adaboost_ecoc.h 2541 2006-01-10 06:02:27Z ling $ */#include "multiclass_ecoc.h"#include "shared_ptr.h"namespace lemga {typedef std::vector<DataWgt> JointWgt;typedef const_shared_ptr<JointWgt> pJointWgt;/** @brief AdaBoost.ECC with exponential cost and Hamming distance. */class AdaBoost_ECOC : public MultiClass_ECOC {public: enum PARTITION_METHOD { RANDOM_HALF, MAX_CUT, MAX_CUT_GREEDY };protected: PARTITION_METHOD par_method;public: AdaBoost_ECOC () : MultiClass_ECOC(), par_method(MAX_CUT_GREEDY) {} explicit AdaBoost_ECOC (std::istream& is) { is >> *this; } virtual const id_t& id () const; virtual AdaBoost_ECOC* create () const { return new AdaBoost_ECOC(); } virtual AdaBoost_ECOC* clone () const { return new AdaBoost_ECOC(*this); } void set_partition_method (PARTITION_METHOD m) { par_method = m; }protected: // only valid during training JointWgt joint_wgt; std::vector<bool> cur_err; pDataWgt cur_smpwgt; pDataWgt smpwgt_with_partition (const ECOC_VECTOR&); virtual void reset_training (); virtual bool ECOC_partition (UINT, ECOC_VECTOR&); virtual pLearnModel train_with_partition (ECOC_VECTOR&); virtual REAL assign_weight (const ECOC_VECTOR&, const LearnModel&); virtual void update_training (const ECOC_VECTOR&); std::vector<std::vector<REAL> > confusion_matrix () const; ECOC_VECTOR max_cut (UINT) const; ECOC_VECTOR max_cut_greedy (UINT) const; ECOC_VECTOR random_half (UINT) const;};} // namespace lemga#ifdef __ADABOOST_ECOC_H__#warning "This header file may conflict with another `adaboost_ecoc.h' file."#endif#define __ADABOOST_ECOC_H__#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -