Cosan  1.0
Data Analytics Library
Cosan::CosanLinearModel< NumericType > Class Template Referenceabstract

CosanLinear Model. All linear model inherit this object. More...

#include <CosanLinearModel.h>

Inheritance diagram for Cosan::CosanLinearModel< NumericType >:
Cosan::CosanModel Cosan::CosanBO Cosan::CosanLinearRegression< NumericType > Cosan::CosanPrincipalComponentRegression< NumericType > Cosan::CosanElasticNet< NumericType > Cosan::CosanLasso< NumericType > Cosan::CosanRidgeRegression< NumericType > Cosan::CosanPCRRidge< NumericType >

Public Member Functions

 CosanLinearModel ()=delete
 
 CosanLinearModel (bool Bias)
 
void SetBias (const bool NewBias)
 
virtual void SetBeta (CosanMatrix< NumericType > InitBeta)
 
const CosanMatrix< NumericType > & GetBeta () const
 
bool GetBias () const
 
virtual CosanMatrix< NumericTypepredict (const CosanMatrix< NumericType > &X)=0
 
virtual const std::string GetName () const
 Get the name of the objects. More...
 
- Public Member Functions inherited from Cosan::CosanModel
 CosanModel ()
 
virtual void SetMaxTrainTime (double t)
 
virtual double GetMaxTrainTime () const
 
virtual EModelType GetModelType ()
 
virtual EProblemType GetProblemType ()
 
virtual ESolverType GetSolverType () const
 
void SetSolverType (ESolverType sr)
 
- Public Member Functions inherited from Cosan::CosanBO
 CosanBO ()
 Default constructor. More...
 

Protected Attributes

CosanMatrix< NumericTypeMBeta
 
bool MBias
 
- Protected Attributes inherited from Cosan::CosanModel
double MaxTrainTime
 
ESolverType SolverType
 

Private Member Functions

void Init ()
 

Detailed Description

template<Numeric NumericType>
class Cosan::CosanLinearModel< NumericType >

CosanLinear Model. All linear model inherit this object.

To initialize model object, one can do

model(); // The default constructor where the model is without intercept.
model(bool bias);
model(NumericType param, bool bias);//for model with only one parameter. Ridge regression and PCR are the cases.
model(std::vector<NumericType> params, bool bias);//for model with more than one parameter. Each parameter is the enry of params. PCR with L2 square norm is the case.

To initialize model object and run model fitting automatically, one can do

model(CosanRawData<NumericType> RD,NumericType param ,bool bias = false);
model(CosanData<NumericType> CD,NumericType param ,bool bias = false);
model(CosanMatrix<NumericType> X,CosanMatrix<NumericType> Y,NumericType param,bool bias = false);

For model with more than 1 parameter, one should replace NumericType param by std::vector<NumericType> params.

model.fit(CosanMatrix<NumericType> X,CosanMatrix<NumericType> Y);
model.predict(CosanMatrix<NumericType> X);

To set new params and get current params, one can do

model.SetParams(NumericType param); //for model with more than 1 parameter, input should be std::vecotr<NumericType> params
model.GetParams();

To obtain the coefficient for the model one can use

model.GetBeta();

Definition at line 32 of file CosanLinearModel.h.

Constructor & Destructor Documentation

◆ CosanLinearModel() [1/2]

template<Numeric NumericType>
Cosan::CosanLinearModel< NumericType >::CosanLinearModel ( )
delete

◆ CosanLinearModel() [2/2]

template<Numeric NumericType>
Cosan::CosanLinearModel< NumericType >::CosanLinearModel ( bool  Bias)
inline

Definition at line 36 of file CosanLinearModel.h.

36  : CosanModel(){
37  Init();
38  MBias=Bias;
39  }

Member Function Documentation

◆ GetBeta()

template<Numeric NumericType>
const CosanMatrix<NumericType>& Cosan::CosanLinearModel< NumericType >::GetBeta ( ) const
inline

Definition at line 44 of file CosanLinearModel.h.

44 {return MBeta;}

◆ GetBias()

template<Numeric NumericType>
bool Cosan::CosanLinearModel< NumericType >::GetBias ( ) const
inline

Definition at line 45 of file CosanLinearModel.h.

45 {return MBias;}

◆ GetName()

template<Numeric NumericType>
virtual const std::string Cosan::CosanLinearModel< NumericType >::GetName ( ) const
inlinevirtual

Get the name of the objects.

Description: Get the name of the object. It should return "Abstract Object"

Reimplemented from Cosan::CosanBO.

Reimplemented in Cosan::CosanRidgeRegression< NumericType >, Cosan::CosanPrincipalComponentRegression< NumericType >, Cosan::CosanPCRRidge< NumericType >, and Cosan::CosanLinearRegression< NumericType >.

Definition at line 54 of file CosanLinearModel.h.

54 {return "LinearModel";}

◆ Init()

template<Numeric NumericType>
void Cosan::CosanLinearModel< NumericType >::Init ( )
inlineprivate

Definition at line 59 of file CosanLinearModel.h.

59  {
60  }

◆ predict()

◆ SetBeta()

template<Numeric NumericType>
virtual void Cosan::CosanLinearModel< NumericType >::SetBeta ( CosanMatrix< NumericType InitBeta)
inlinevirtual

Definition at line 42 of file CosanLinearModel.h.

42 {MBeta=InitBeta;}

◆ SetBias()

template<Numeric NumericType>
void Cosan::CosanLinearModel< NumericType >::SetBias ( const bool  NewBias)
inline

Definition at line 41 of file CosanLinearModel.h.

41 {MBias = NewBias;}

Member Data Documentation

◆ MBeta

template<Numeric NumericType>
CosanMatrix<NumericType> Cosan::CosanLinearModel< NumericType >::MBeta
protected

Definition at line 56 of file CosanLinearModel.h.

◆ MBias

template<Numeric NumericType>
bool Cosan::CosanLinearModel< NumericType >::MBias
protected

Definition at line 57 of file CosanLinearModel.h.


The documentation for this class was generated from the following file:
Cosan::CosanLinearModel::Init
void Init()
Definition: CosanLinearModel.h:59
Cosan::CosanLinearModel::MBias
bool MBias
Definition: CosanLinearModel.h:57
NumericType
double NumericType
Definition: onehotencodingTest.cpp:20
Cosan::CosanLinearModel::MBeta
CosanMatrix< NumericType > MBeta
Definition: CosanLinearModel.h:56
Cosan::CosanModel::CosanModel
CosanModel()
Definition: CosanModel.h:41