55 auto s = scoped_calloc_or_throw<scorer>();
59 .default_value(
"identity")
61 .help(
"Specify the link function: identity, logistic, glf1 or poisson"));
73 if (link ==
"identity")
74 l = &
init_learner(s, base, predict_or_learn<true, id>, predict_or_learn<false, id>);
75 else if (link ==
"logistic")
77 l = &
init_learner(s, base, predict_or_learn<true, logistic>, predict_or_learn<false, logistic>);
78 multipredict_f = multipredict<logistic>;
80 else if (link ==
"glf1")
82 l = &
init_learner(s, base, predict_or_learn<true, glf1>, predict_or_learn<false, glf1>);
83 multipredict_f = multipredict<glf1>;
85 else if (link ==
"poisson")
87 l = &
init_learner(s, base, predict_or_learn<true, expf>, predict_or_learn<false, expf>);
88 multipredict_f = multipredict<expf>;
91 THROW(
"Unknown link function: " << link);
void set_multipredict(void(*u)(T &, L &, E &, size_t, size_t, polyprediction *, bool))
void set_update(void(*u)(T &data, L &base, E &))
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)
learner< T, E > & init_learner(free_ptr< T > &dat, L *base, void(*learn)(T &, L &, E &), void(*predict)(T &, L &, E &), size_t ws, prediction_type::prediction_type_t pred_type)
void update(scorer &s, LEARNER::single_learner &base, example &ec)
LEARNER::single_learner * scorer
typed_option< T > make_option(std::string name, T &location)
LEARNER::base_learner * setup_base(options_i &options, vw &all)