yat
0.20.3pre
|
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... | |
Normalization of data.
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:
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.
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: ; if the input range is weighted: 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.