400 new_options.add(
make_option(
"boosting", data->N).keep().help(
"Online boosting with <N> weak learners"))
403 .help(
"weak learner's edge (=0.1), used only by online BBM"))
407 .default_value(
"BBM")
408 .help(
"specify the boosting algorithm: BBM (default), logistic (AdaBoost.OL.W), adaptive (AdaBoost.OL)"));
422 cerr <<
"Number of weak learners = " << data->N << endl;
424 cerr <<
"Gamma = " << data->gamma << endl;
426 data->C = std::vector<std::vector<int64_t> >(data->N, std::vector<int64_t>(data->N, -1));
430 data->alpha = std::vector<float>(data->N, 0);
431 data->v = std::vector<float>(data->N, 1);
434 if (data->alg ==
"BBM")
435 l = &init_learner<boosting, example>(
437 else if (data->alg ==
"logistic")
439 l = &init_learner<boosting, example>(data,
as_singleline(
setup_base(options, all)), predict_or_learn_logistic<true>,
440 predict_or_learn_logistic<false>, data->N);
443 else if (data->alg ==
"adaptive")
445 l = &init_learner<boosting, example>(data,
as_singleline(
setup_base(options, all)), predict_or_learn_adaptive<true>,
446 predict_or_learn_adaptive<false>, data->N);
450 THROW(
"Unrecognized boosting algorithm: \'" << data->alg <<
"\' Bailing!");
base_learner * make_base(learner< T, E > &base)
virtual void add_and_parse(const option_group_definition &group)=0
void set_save_load(void(*sl)(T &, io_buf &, bool, bool))
void save_load(boosting &o, io_buf &model_file, bool read, bool text)
std::shared_ptr< rand_state > get_random_state()
std::unique_ptr< T, free_fn > free_ptr
single_learner * as_singleline(learner< T, E > *l)
void return_example(vw &all, boosting &, example &ec)
virtual bool was_supplied(const std::string &key)=0
int add(svm_params ¶ms, svm_example *fec)
void save_load_sampling(boosting &o, io_buf &model_file, bool read, bool text)
typed_option< T > make_option(std::string name, T &location)
LEARNER::base_learner * setup_base(options_i &options, vw &all)