27 for (
auto& cl : ld.
costs)
37 std::cout <<
"Probability " << prob <<
" is not possible, replacing with 1e-3. Fix your dataset. " << std::endl;
47 cs_labels.
costs.clear();
48 for (uint32_t i = 0; i < examples.size(); i++)
53 if (ld.
costs.size() == 1 && ld.
costs[0].cost != FLT_MAX)
55 cs_labels.
costs.push_back(wc);
62 cs_labels.
costs.clear();
63 for (uint32_t i = 0; i < examples.size(); i++)
68 if (ld.
costs.size() == 1 && ld.
costs[0].cost != FLT_MAX)
70 cs_labels.
costs.push_back(wc);
77 cs_labels.
costs.clear();
78 for (uint32_t i = 0; i < examples.size(); i++)
81 cs_labels.
costs.push_back(wc);
91 if (ld.
costs.size() == 0 || (ld.
costs.size() == 1 && ld.
costs[0].cost != FLT_MAX))
112 cs_ld.
costs.push_back(wc);
118 for (
auto& cl : ld.
costs)
135 cs_ld.
costs.push_back(wc);
146 cs_labels.
costs.clear();
147 for (
size_t i = 0; i < ec_seq.size(); i++)
153 if (ld.
costs.size() == 1 && ld.
costs[0].cost != FLT_MAX)
158 cs_labels.
costs.push_back(wc);
166 cs_labels.
costs.clear();
167 for (uint32_t i = 0; i < action_vals.
size(); i++)
169 uint32_t current_action = action_vals[i].action;
172 if (current_action == chosen_action)
173 wc.
x = action_vals[i].score + sign_offset;
175 wc.
x = action_vals[i].score - sign_offset;
184 cs_labels.
costs.push_back(wc);
void gen_cs_example_sm(multi_ex &, uint32_t chosen_action, float sign_offset, ACTION_SCORE::action_scores action_vals, COST_SENSITIVE::label &cs_labels)
cb_class * get_observed_cost(CB::label &ld)
v_array< cb_class > costs
void gen_cs_example_dm(multi_ex &examples, COST_SENSITIVE::label &cs_labels)
CB::cb_class * known_cost
float avg_loss_regressors
constexpr bool observed_cost(cb_class *cl)
void gen_cs_example_ips(multi_ex &examples, COST_SENSITIVE::label &cs_labels, float clip_p)
std::vector< example * > multi_ex
float safe_probability(float prob)
void gen_cs_example_mtr(cb_to_cs_adf &c, multi_ex &ec_seq, COST_SENSITIVE::label &cs_labels)
void gen_cs_test_example(multi_ex &examples, COST_SENSITIVE::label &cs_labels)