57 return f.value() == 1;
94 template <
bool is_learn>
146 data.
all->
eta *= multiplier;
148 data.
all->
eta /= multiplier;
175 THROW(
"sensitivity for baseline without --global_only not implemented");
190 return baseline_sens + sens;
195 auto data = scoped_calloc_or_throw<baseline>();
196 bool baseline_option =
false;
203 .help(
"Learn an additive baseline (from constant features) and a residual separately in regression."))
204 .
add(
make_option(
"lr_multiplier", data->lr_multiplier).help(
"learning rate multiplier for baseline model"))
207 .help(
"use separate example with only global constant for baseline predictions"))
210 .help(
"only use baseline when the example contains enabled flag"));
213 if (!baseline_option)
220 data->ec->in_use =
true;
224 if (loss_function_type !=
"logistic")
225 data->lr_scaling =
true;
v_array< namespace_index > indices
label_parser simple_label
void predict(E &ec, size_t i=0)
void copy_example_metadata(bool, example *dst, example *src)
void(* delete_label)(void *)
void dealloc_example(void(*delete_label)(void *), example &ec, void(*delete_prediction)(void *))
void set_baseline_enabled(example *ec)
base_learner * make_base(learner< T, E > &base)
const float max_multiplier
virtual void add_and_parse(const option_group_definition &group)=0
constexpr unsigned char message_namespace
example * alloc_examples(size_t, size_t count=1)
std::array< features, NUM_NAMESPACES > feature_space
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 push_back(const T &new_ele)
const size_t baseline_enabled_idx
float sensitivity(baseline &data, base_learner &base, example &ec)
virtual std::string getType()=0
constexpr uint64_t constant
void reset_baseline_disabled(example *ec)
base_learner * baseline_setup(options_i &options, vw &all)
void init_global(baseline &data)
float sensitivity(example &ec, size_t i=0)
option_group_definition & add(T &&op)
int add(svm_params ¶ms, svm_example *fec)
typed_option< T > make_option(std::string name, T &location)
void set_sensitivity(float(*u)(T &data, base_learner &base, example &))
std::vector< std::string > interactions
void move_feature_namespace(example *dst, example *src, namespace_index c)
void predict_or_learn(baseline &data, single_learner &base, example &ec)
LEARNER::base_learner * setup_base(options_i &options, vw &all)
void learn(E &ec, size_t i=0)
constexpr unsigned char constant_namespace
bool baseline_enabled(example *ec)