28 #ifndef MLPACK_METHODS_ADABOOST_ADABOOST_HPP 29 #define MLPACK_METHODS_ADABOOST_ADABOOST_HPP 79 template<
typename WeakLearnerType = mlpack::perceptron::Perceptron<>,
80 typename MatType = arma::mat>
97 const arma::Row<size_t>& labels,
98 const size_t numClasses,
99 const WeakLearnerType& other,
100 const size_t iterations = 100,
101 const double tolerance = 1e-6);
107 AdaBoost(
const double tolerance = 1e-6);
121 double Alpha(
const size_t i)
const {
return alpha[i]; }
123 double&
Alpha(
const size_t i) {
return alpha[i]; }
126 const WeakLearnerType&
WeakLearner(
const size_t i)
const {
return wl[i]; }
142 double Train(
const MatType& data,
143 const arma::Row<size_t>& labels,
144 const size_t numClasses,
145 const WeakLearnerType& learner,
146 const size_t iterations = 100,
147 const double tolerance = 1e-6);
156 void Classify(
const MatType& test, arma::Row<size_t>& predictedLabels);
161 template<
typename Archive>
162 void serialize(Archive& ar,
const unsigned int );
171 std::vector<WeakLearnerType> wl;
173 std::vector<double> alpha;
181 namespace serialization {
183 template<
typename WeakLearnerType,
typename MatType>
184 struct version<
mlpack::adaboost::AdaBoost<WeakLearnerType, MatType>>
186 BOOST_STATIC_CONSTANT(
int, value = 1);
193 #include "adaboost_impl.hpp" const WeakLearnerType & WeakLearner(const size_t i) const
Get the given weak learner.
Set the serialization version of the adaboost class.
double Tolerance() const
Get the tolerance for stopping the optimization during training.
The core includes that mlpack expects; standard C++ includes and Armadillo.
size_t WeakLearners() const
Get the number of weak learners in the model.
size_t NumClasses() const
Get the number of classes this model is trained on.
AdaBoost(const MatType &data, const arma::Row< size_t > &labels, const size_t numClasses, const WeakLearnerType &other, const size_t iterations=100, const double tolerance=1e-6)
Constructor.
double & Alpha(const size_t i)
Modify the weight for the given weak learner (be careful!).
double Train(const MatType &data, const arma::Row< size_t > &labels, const size_t numClasses, const WeakLearnerType &learner, const size_t iterations=100, const double tolerance=1e-6)
Train AdaBoost on the given dataset.
double & Tolerance()
Modify the tolerance for stopping the optimization during training.
double Alpha(const size_t i) const
Get the weights for the given weak learner.
void serialize(Archive &ar, const unsigned int)
Serialize the AdaBoost model.
void Classify(const MatType &test, arma::Row< size_t > &predictedLabels)
Classify the given test points.
WeakLearnerType & WeakLearner(const size_t i)
Modify the given weak learner (be careful!).