shark::NormalizeComponentsUnitInterval< DataType > Class Template Reference

Train a model to normalize the components of a dataset to fit into the unit inverval. More...

#include <shark/Algorithms/Trainers/NormalizeComponentsUnitInterval.h>

+ Inheritance diagram for shark::NormalizeComponentsUnitInterval< DataType >:

Public Member Functions

 NormalizeComponentsUnitInterval ()
 
std::string name () const
 From INameable: return the class name. More...
 
void train (Normalizer< DataType > &model, UnlabeledData< DataType > const &input)
 
- Public Member Functions inherited from shark::AbstractUnsupervisedTrainer< Normalizer< DataType > >
virtual void train (ModelType &model, const UnlabeledData< InputType > &inputset)=0
 Core of the Trainer interface. More...
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 
- Public Member Functions inherited from shark::ISerializable
virtual ~ISerializable ()
 Virtual d'tor. More...
 
virtual void read (InArchive &archive)
 Read the component from the supplied archive. More...
 
virtual void write (OutArchive &archive) const
 Write the component to the supplied archive. More...
 
void load (InArchive &archive, unsigned int version)
 Versioned loading of components, calls read(...). More...
 
void save (OutArchive &archive, unsigned int version) const
 Versioned storing of components, calls write(...). More...
 
 BOOST_SERIALIZATION_SPLIT_MEMBER ()
 

Additional Inherited Members

- Public Types inherited from shark::AbstractUnsupervisedTrainer< Normalizer< DataType > >
typedef Normalizer< DataType > ModelType
 
typedef Normalizer< DataType > ::InputType InputType
 

Detailed Description

template<class DataType = RealVector>
class shark::NormalizeComponentsUnitInterval< DataType >

Train a model to normalize the components of a dataset to fit into the unit inverval.

Normalizing the components of a dataset works via training a LinearMap model. This model is then applied to the dataset in order to perform the normalization. The same model can be applied to different datasets.
The typical use case is that the AffineLinearMap model is trained on the training data. Later, as "test" data comes in, the same model is used, of course without being recalibrated. Thus, the model used for normalization must be independent of the dataset it was trained on.
Note that the transformation represented by this trainer destroys sparsity of the data. Therefore one may prefer NormalizeComponentsUnitVariance particularly on sparse data.

Definition at line 72 of file NormalizeComponentsUnitInterval.h.

Constructor & Destructor Documentation

◆ NormalizeComponentsUnitInterval()

template<class DataType = RealVector>
shark::NormalizeComponentsUnitInterval< DataType >::NormalizeComponentsUnitInterval ( )
inline

Definition at line 77 of file NormalizeComponentsUnitInterval.h.

Member Function Documentation

◆ name()

template<class DataType = RealVector>
std::string shark::NormalizeComponentsUnitInterval< DataType >::name ( ) const
inlinevirtual

From INameable: return the class name.

Reimplemented from shark::INameable.

Definition at line 81 of file NormalizeComponentsUnitInterval.h.

◆ train()

template<class DataType = RealVector>
void shark::NormalizeComponentsUnitInterval< DataType >::train ( Normalizer< DataType > &  model,
UnlabeledData< DataType > const &  input 
)
inline

The documentation for this class was generated from the following file: