yat  0.21pre
Classes | Typedefs
theplu::yat::normalizer Namespace Reference

Normalization of data. More...

Classes

class  ColumnNormalizer
 Using a functor T to normalize each column. More...
 
class  Gauss
 Gaussian Normalizer. More...
 
class  qQuantileNormalizer
 Perform Q-quantile normalization. More...
 
class  QuantileNormalizer
 Perform quantile normalization. More...
 
class  QuantileNormalizer2
 Perform quantile normalization. More...
 
class  RangeNormalizer
 
class  RowNormalizer
 Using a functor T to normalize each column. More...
 
class  Spearman
 Replace elements with normalized rank. More...
 
class  Zscore
 Zero mean and unity variance. More...
 

Typedefs

template<typename T = statistics::Average>
using Centralizer = RangeNormalizer< T, std::minus< double > >
 Centralize a range. More...
 
using UnityScaler = RangeNormalizer< detail::UnityScalerFactor, std::multiplies< double > >
 Scale a range to unity. More...
 

Detailed Description

Normalization of data.

Typedef Documentation

◆ Centralizer

template<typename T = statistics::Average>
using theplu::yat::normalizer::Centralizer = typedef RangeNormalizer<T, std::minus<double> >

Centralize a range.

The class centralizes a range [first, last) in two steps. First, the center value is calculaterd using the functor UnaryFunction to calculate the center. Second, the center value is subtracted from each element in range [first, last) . UnaryFunction must be a functor that has an operator:

return_type operator()(InputIterator, InputIterator) const

where return_type must be convertible to value_type of InputIterator. By default the center value is calculated as the arithmetic mean via class statistics::Average, but this can be changed using an alternative functor such as statistics::Percentiler.

Since
New in yat 0.5

◆ UnityScaler

using theplu::yat::normalizer::UnityScaler = typedef RangeNormalizer<detail::UnityScalerFactor, std::multiplies<double> >

Scale a range to unity.

The sum of input range is calculated. If the input range is unweighted: $\sum x_i $; if the input range is weighted: $ \sum w_i x_i $ and the data value in the result range is calculated as the result[i] = input[i] / sum . Consequently, the sum of elements in the resulting range is unity, except in the case when the input range is weighted and the result range is unweighed the information about the weights gets lost.

Since
New in yat 0.18

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14