Learning Curve Plus Plus (LCPP)
data::Transformer< T, D > Class Template Reference

Public Member Functions

 Transformer (const D &dataset)
 Construct and fit transformers for both inputs and labels. More...
 
TransInp (const D &dataset)
 Transform only the inputs of a dataset. More...
 
TransLab (const D &dataset)
 Transform only the labels of a dataset. More...
 
Trans (const D &dataset)
 Transform both inputs and labels of a dataset. More...
 
InvTransInp (const D &dataset)
 Inverse transform both inputs. More...
 
InvTransLab (const D &dataset)
 Inverse transform only the labels. More...
 
InvTrans (const D &dataset)
 Inverse transform both inputs and labels. More...
 

Detailed Description

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
class data::Transformer< T, D >

Definition at line 22 of file data.h.

Constructor & Destructor Documentation

◆ Transformer()

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
data::Transformer< T, D >::Transformer ( const D &  dataset)
inline

Construct and fit transformers for both inputs and labels.

Parameters
dataDataset to fit the transformers on.

Definition at line 32 of file data.h.

33  {
34  inp_.Fit(arma::conv_to<arma::mat>::from(dataset.inputs_));
35  if constexpr (std::is_same<D, data::Dataset<arma::Row<DTYPE>>>::value ||
36  std::is_same<D, data::Dataset<arma::Mat<DTYPE>>>::value ||
37  std::is_same<D, data::oml::Dataset<DTYPE>>::value )
38  lab_.Fit(arma::conv_to<arma::rowvec>::from(dataset.labels_));
39  };

Member Function Documentation

◆ InvTrans()

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
D data::Transformer< T, D >::InvTrans ( const D &  dataset)
inline

Inverse transform both inputs and labels.

Parameters
dataDataset to inverse transform.
Returns
Original-scale dataset.

Definition at line 121 of file data.h.

122  {
123  D tdataset = InvTransInp(dataset);
124  if constexpr (std::is_same<D, data::Dataset<arma::Row<DTYPE>>>::value ||
125  std::is_same<D, data::Dataset<arma::Mat<DTYPE>>>::value ||
126  std::is_same<D, data::oml::Dataset<DTYPE>>::value )
127  tdataset = InvTransLab(tdataset);
128  return tdataset;
129  };
D InvTransInp(const D &dataset)
Inverse transform both inputs.
Definition: data.h:97
D InvTransLab(const D &dataset)
Inverse transform only the labels.
Definition: data.h:109

References data::Transformer< T, D >::InvTransInp(), and data::Transformer< T, D >::InvTransLab().

+ Here is the call graph for this function:

◆ InvTransInp()

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
D data::Transformer< T, D >::InvTransInp ( const D &  dataset)
inline

Inverse transform both inputs.

Parameters
dataDataset to inverse transform.
Returns
Original-scale dataset.

Definition at line 97 of file data.h.

98  {
99  D tdataset = dataset;
100  inp_.InverseTransform( dataset.inputs_, tdataset.inputs_);
101  return tdataset;
102  };

Referenced by data::Transformer< T, D >::InvTrans().

+ Here is the caller graph for this function:

◆ InvTransLab()

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
D data::Transformer< T, D >::InvTransLab ( const D &  dataset)
inline

Inverse transform only the labels.

Parameters
dataDataset to inverse transform.
Returns
Dataset with original-scale labels.

Definition at line 109 of file data.h.

110  {
111  D tdataset = dataset;
112  lab_.InverseTransform( dataset.labels_, tdataset.labels_);
113  return tdataset;
114  };

Referenced by data::Transformer< T, D >::InvTrans().

+ Here is the caller graph for this function:

◆ Trans()

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
D data::Transformer< T, D >::Trans ( const D &  dataset)
inline

Transform both inputs and labels of a dataset.

Parameters
dataDataset to transform.
Returns
Fully transformed dataset.

Definition at line 81 of file data.h.

82  {
83  D tdataset = TransInp(dataset);
84  if constexpr (std::is_same<D, data::Dataset<arma::Row<DTYPE>>>::value ||
85  std::is_same<D, data::Dataset<arma::Mat<DTYPE>>>::value ||
86  std::is_same<D, data::oml::Dataset<DTYPE>>::value )
87  tdataset = TransLab(tdataset);
88  return tdataset;
89  };
D TransInp(const D &dataset)
Transform only the inputs of a dataset.
Definition: data.h:46
D TransLab(const D &dataset)
Transform only the labels of a dataset.
Definition: data.h:58

References data::Transformer< T, D >::TransInp(), and data::Transformer< T, D >::TransLab().

+ Here is the call graph for this function:

◆ TransInp()

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
D data::Transformer< T, D >::TransInp ( const D &  dataset)
inline

Transform only the inputs of a dataset.

Parameters
dataDataset to transform.
Returns
Transformed dataset (inputs only).

Definition at line 46 of file data.h.

47  {
48  D tdataset = dataset;
49  inp_.Transform( dataset.inputs_, tdataset.inputs_);
50  return tdataset;
51  };

Referenced by data::Transformer< T, D >::Trans().

+ Here is the caller graph for this function:

◆ TransLab()

template<class T = mlpack::data::StandardScaler, class D = data::Dataset<arma::Row<DTYPE>>>
D data::Transformer< T, D >::TransLab ( const D &  dataset)
inline

Transform only the labels of a dataset.

Parameters
dataDataset to transform.
Returns
Transformed dataset (labels only).

Definition at line 58 of file data.h.

59  {
60  if constexpr (std::is_same<D, data::Dataset<arma::Row<DTYPE>>>::value ||
61  std::is_same<D, data::Dataset<arma::Mat<DTYPE>>>::value ||
62  std::is_same<D, data::oml::Dataset<DTYPE>>::value )
63  {
64  D tdataset = dataset;
65  lab_.Transform( dataset.labels_, tdataset.labels_);
66  return tdataset;
67  }
68  else
69  {
70  WARNING("Unfortunately I will not let you transform the labels if you \
71  donot have a regression dataset!");
72  return dataset;
73  }
74  };

Referenced by data::Transformer< T, D >::Trans().

+ Here is the caller graph for this function:

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