Cosan  1.0
Data Analytics Library
minmaxscaler.h
Go to the documentation of this file.
1 //
2 // Created by Xinyu Zhang on 4/4/21.
3 //
4 
5 #ifndef COSAN_MINMAXSCALER_H
6 #define COSAN_MINMAXSCALER_H
7 
9 
10 namespace Cosan{
11  template<Numeric NumericType>
12  class MinmaxScaler: public Preprocessor<NumericType> {
13  public:
14  MinmaxScaler()=delete;
16  this->fit(RD);
17  }
19  this->fit(RD,to_lb,to_ub);
20  }
21 
22  private:
24  fmt::print("*********************************\n");
25  fmt::print("Begin transformation X to [0,1]!\n");
27  X = (X.array().rowwise()-X.colwise().minCoeff().array()).rowwise()/(X.colwise().maxCoeff()-X.colwise().minCoeff()).array();
28  RD.UpdateData(X);
29  fmt::print("End of transformation X to [0,1]\n");
30  fmt::print("*********************************\n");
31  }
33  fmt::print("*********************************\n");
34  fmt::print("Begin transformation to X to [{:},{:}]!\n",to_lb,to_ub);
36  X = (X.array().rowwise()-X.colwise().minCoeff().array()).rowwise()/(X.colwise().maxCoeff()-X.colwise().minCoeff()).array();
37  X = X.array()*(to_ub-to_lb)+to_lb;
38  RD.UpdateData(X);
39  fmt::print("End of transformation to X to [{:},{:}]!\n",to_lb,to_ub);
40  fmt::print("*********************************\n");
41  }
42  };
43 }
44 
45 
46 #endif //COSAN_MINMAXSCALER_H
Cosan::MinmaxScaler
Definition: minmaxscaler.h:12
Cosan
Definition: CosanBO.h:29
Cosan::CosanRawData::GetInput
CosanMatrix< NumericType > GetInput()
Get a copy of CosanMatrix<NumericType> X.
Definition: CosanData.h:141
NumericType
double NumericType
Definition: onehotencodingTest.cpp:20
Cosan::MinmaxScaler::fit
void fit(CosanRawData< NumericType > &RD, NumericType to_lb, NumericType to_ub)
Definition: minmaxscaler.h:32
Cosan::CosanRawData::UpdateData
void UpdateData(const CosanMatrix< NumericType > &inputX)
Update X using CosanMatrix<NumericType> input X.
Definition: CosanData.h:108
Cosan::MinmaxScaler::MinmaxScaler
MinmaxScaler(CosanRawData< NumericType > &RD, NumericType to_lb, NumericType to_ub)
Definition: minmaxscaler.h:18
Cosan::CosanMatrix
Eigen::Matrix< NumericType, Eigen::Dynamic, Eigen::Dynamic > CosanMatrix
Definition: CosanBO.h:37
Cosan::CosanRawData
Raw Data container.
Definition: CosanData.h:36
Cosan::MinmaxScaler::MinmaxScaler
MinmaxScaler()=delete
Cosan::Preprocessor
Definition: preprocessor.h:14
Cosan::MinmaxScaler::fit
void fit(CosanRawData< NumericType > &RD)
Definition: minmaxscaler.h:23
Cosan::MinmaxScaler::MinmaxScaler
MinmaxScaler(CosanRawData< NumericType > &RD)
Definition: minmaxscaler.h:15
preprocessor.h