00001
00002 #ifndef __LEMGA_AGGREGATING_LPBOOST_H__
00003 #define __LEMGA_AGGREGATING_LPBOOST_H__
00004
00011 #include "boosting.h"
00012
00013 namespace lemga {
00014
00058 class LPBoost : public Boosting {
00059 REAL RegC;
00060
00061 public:
00062 explicit LPBoost (REAL _C = 1.0) : Boosting(false) { set_C(_C); }
00063 explicit LPBoost (std::istream& is) { is >> *this; }
00064
00065 virtual const id_t& id () const;
00066 virtual LPBoost* create () const { return new LPBoost(); }
00067 virtual LPBoost* clone () const { return new LPBoost(*this); }
00068
00069 virtual REAL train ();
00070
00072 REAL C () const { return RegC; }
00074 void set_C (REAL _C) { assert(_C >= 0); RegC = _C; }
00075 };
00076
00077 }
00078
00079 #ifdef __LPBOOST_H__
00080 #warning "This header file may conflict with another `lpboost.h' file."
00081 #endif
00082 #define __LPBOOST_H__
00083 #endif