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);
159 arma::Row<size_t>& predictedLabels,
160 arma::mat& probabilities);
170 arma::Row<size_t>& predictedLabels);
175 template<
typename Archive>
176 void serialize(Archive& ar,
const unsigned int );
185 std::vector<WeakLearnerType> wl;
187 std::vector<double> alpha;
195 namespace serialization {
197 template<
typename WeakLearnerType,
typename MatType>
198 struct version<
mlpack::adaboost::AdaBoost<WeakLearnerType, MatType>>
200 BOOST_STATIC_CONSTANT(
int, value = 1);
207 #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.
void Classify(const MatType &test, arma::Row< size_t > &predictedLabels, arma::mat &probabilities)
Classify the given test points.
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.
WeakLearnerType & WeakLearner(const size_t i)
Modify the given weak learner (be careful!).