Ultra 0.9.4
Loading...
Searching...
No Matches
holdout_validation.h
Go to the documentation of this file.
1
12
13#if !defined(ULTRA_HOLDOUT_VALIDATION_H)
14#define ULTRA_HOLDOUT_VALIDATION_H
15
18
19namespace ultra::src
20{
21
35{
36public:
37 struct params
38 {
39 params() noexcept {}
40
46 int training_perc {70};
47
53
55 bool shuffle {true};
56
64 bool stratify {true};
65 };
66
67 explicit holdout_validation(src::problem &, params = {});
68
69 [[nodiscard]] evaluation_context training_setup(unsigned) noexcept override;
70
71 // Holdout validation uses a single, fixed split, so selecting the training
72 // dataset doesn't change the evaluation context across runs.
73 [[nodiscard]] evaluation_context shake(unsigned) noexcept override
74 { return evaluation_context::unchanged; }
75
76 bool validation_setup(unsigned) noexcept override;
77
78 [[nodiscard]] std::unique_ptr<validation_strategy> clone() const override;
79
80private:
81 src::problem &prob_;
82};
83
84} // namespace ultra::src
85
86#endif // include guard
evaluation_context training_setup(unsigned) noexcept override
Definition holdout_validation.cc:212
bool validation_setup(unsigned) noexcept override
Definition holdout_validation.cc:218
std::unique_ptr< validation_strategy > clone() const override
Definition holdout_validation.cc:244
holdout_validation(src::problem &, params={})
Definition holdout_validation.cc:155
evaluation_context shake(unsigned) noexcept override
Definition holdout_validation.h:73
Definition gp/src/problem.h:66
Definition validation_strategy.h:29
evaluation_context
Definition evaluation_context.h:28
int validation_perc
Definition holdout_validation.h:52
bool stratify
Definition holdout_validation.h:64
bool shuffle
Whether or not to shuffle the data before splitting.
Definition holdout_validation.h:55
int training_perc
Definition holdout_validation.h:46