Ultra 0.9.4
Loading...
Searching...
No Matches
standard_scaler.h
Go to the documentation of this file.
1
12
13#if !defined(ULTRA_STANDARD_SCALER_H)
14#define ULTRA_STANDARD_SCALER_H
15
17
18#include <string>
19#include <utility>
20#include <vector>
21
22namespace ultra::src
23{
24
28class standard_scaler
29{
30public:
32 {
33 double anchor {0.0};
34 double scale {1.0};
35 double mean {0.0};
36 double std_dev {1.0};
37 };
38
39 struct options
40 {
41 bool scale_inputs {true};
42 bool scale_output {false};
43 };
44
45 standard_scaler() = default;
46 explicit standard_scaler(options) noexcept;
47
48 void fit(const dataframe &);
49 void transform(dataframe &) const;
50
51 [[nodiscard]] double inverse_transform_target(double) const;
52
53 [[nodiscard]] bool is_fitted() const noexcept { return is_fitted_; }
54 [[nodiscard]] bool is_valid() const noexcept;
55
56private:
57 std::vector<std::pair<std::string, domain_t>> schema_ {};
58 std::vector<column_stats> input_stats_ {};
59 column_stats output_stats_ {};
60
61 options opt_ {};
62 bool is_fitted_ {false};
63};
64
65} // namespace ultra::src
66
67#endif // include guard
Definition dataframe.h:76
Definition standard_scaler.h:29
void transform(dataframe &) const
Definition standard_scaler.cc:151
void fit(const dataframe &)
Definition standard_scaler.cc:36
bool is_valid() const noexcept
Definition standard_scaler.cc:210
double inverse_transform_target(double) const
Definition standard_scaler.cc:196
STL namespace.
domain_t
Definition value.h:38
Definition standard_scaler.h:32
double std_dev
Standard deviation in scale units.
Definition standard_scaler.h:36
double mean
Mean offset from anchor, in scale units.
Definition standard_scaler.h:35
double scale
Scaling factor for numerical stability.
Definition standard_scaler.h:34
double anchor
Reference offset for numerical stability.
Definition standard_scaler.h:33
Definition standard_scaler.h:40
bool scale_inputs
Standardise feature columns.
Definition standard_scaler.h:41
bool scale_output
Standardise target column (opt-in for MAE/MSE).
Definition standard_scaler.h:42