342 auto data = scoped_calloc_or_throw<ect>();
345 new_options.add(
make_option(
"ect", data->k).keep().help(
"Error correcting tournament with <k> labels"))
346 .
add(
make_option(
"error", data->errors).keep().default_value(0).help(
"errors allowed by ECT"))
349 .default_value(
"identity")
351 .help(
"Specify the link function: identity, logistic, glf1 or poisson"));
357 size_t wpp =
create_circuit(*data.get(), data->k, data->errors + 1);
360 if (link ==
"logistic")
361 data->class_boundary = 0.5;
void learn(ect &e, single_learner &base, example &ec)
void predict(ect &e, single_learner &base, example &ec)
base_learner * make_base(learner< T, E > &base)
virtual void add_and_parse(const option_group_definition &group)=0
single_learner * as_singleline(learner< T, E > *l)
virtual bool was_supplied(const std::string &key)=0
int add(svm_params ¶ms, svm_example *fec)
size_t create_circuit(ect &e, uint64_t max_label, uint64_t eliminations)
typed_option< T > make_option(std::string name, T &location)
learner< T, E > & init_multiclass_learner(free_ptr< T > &dat, L *base, void(*learn)(T &, L &, E &), void(*predict)(T &, L &, E &), parser *p, size_t ws, prediction_type::prediction_type_t pred_type=prediction_type::multiclass)
LEARNER::base_learner * setup_base(options_i &options, vw &all)