37 #ifndef SHARK_ALGORITHMS_TRAINERS_NORMALIZECOMPONENTSUNITINTERVAL_H 38 #define SHARK_ALGORITHMS_TRAINERS_NORMALIZECOMPONENTSUNITINTERVAL_H 71 template <
class DataType = RealVector>
82 {
return "NormalizeComponentsUnitInterval"; }
89 RealVector min = input.
element(0);
90 RealVector max = input.
element(0);
91 for(std::size_t i=1; i != ic; i++){
92 for(std::size_t d = 0; d != dc; d++){
94 min(d) = std::min(min(d), x);
95 max(d) = std::max(max(d), x);
99 RealVector diagonal(dc);
100 RealVector offset(dc);
102 for (std::size_t d=0; d != dc; d++)
104 if (min(d) == max(d))
107 offset(d) = -min(d) + 0.5;
111 double n = 1.0 / (max(d) - min(d));
113 offset(d) = -min(d) * n;