00001 // -*- C++ -*- 00002 #ifndef __LEMGA_AGGREGATING_BAGGING_H__ 00003 #define __LEMGA_AGGREGATING_BAGGING_H__ 00004 00011 #include "aggregating.h" 00012 00013 namespace lemga { 00014 00020 class Bagging : public Aggregating { 00021 public: 00022 Bagging () : Aggregating() {} 00023 Bagging (const Aggregating& s) : Aggregating(s) {} 00024 explicit Bagging (std::istream& is) { is >> *this; } 00025 00026 virtual const id_t& id () const; 00027 virtual Bagging* create () const { return new Bagging(); } 00028 virtual Bagging* clone () const { return new Bagging(*this); } 00029 00030 virtual bool support_weighted_data () const { return true; } 00031 virtual void train (); 00032 virtual Output operator() (const Input&) const; 00033 virtual REAL margin_norm () const; 00034 virtual REAL margin_of (const Input&, const Output&) const; 00035 }; 00036 00037 } // namespace lemga 00038 00039 #ifdef __BAGGING_H__ 00040 #warning "This header file may conflict with another `bagging.h' file." 00041 #endif 00042 #define __BAGGING_H__ 00043 #endif