Cosan
1.0
Data Analytics Library
CosanModel.h
Go to the documentation of this file.
1
//
2
// Created by Xinyu Zhang on 3/27/21.
3
//
4
5
#ifndef COSAN_COSANMODEL_H
6
#define COSAN_COSANMODEL_H
7
#include <chrono>
8
#include <
cosan/base/CosanBO.h
>
9
namespace
Cosan
{
10
/**
11
* Problem Type.
12
**/
13
enum
EProblemType
{
14
PdNone
= 0,
15
PdBinaryClassification
= 1,
16
PdUnivariateRegression
=2,
17
};
18
/**
19
* Model Type
20
*/
21
enum
EModelType
{
22
MdNone
= 0,
23
MdLinearRegression
=1,
24
MdRidgeRegression
=2,
25
MdPrincipalComponentRegression
=3,
26
MdRidgePrincipalComponentRegression
=4
27
};
28
/**
29
* Solver Type
30
*/
31
enum
ESolverType
{
32
SrAuto
= 0,
33
ADMM
= 1
34
35
};
36
/**
37
* @brief Base Object for CosanModel
38
*/
39
class
CosanModel
:
public
CosanBO
{
40
public
:
41
CosanModel
():
CosanBO
(),
MaxTrainTime
(std::chrono::seconds(std::chrono::hours(1)).count()),
42
SolverType
(
SrAuto
){
43
}
44
// virtual ~CosanModel();
45
// virtual Response* predict(const Feature* X = NULL)=0;//fixed later
46
47
virtual
void
SetMaxTrainTime
(
double
t) {
MaxTrainTime
=t;}
48
virtual
double
GetMaxTrainTime
()
const
{
return
MaxTrainTime
;}
49
50
virtual
EModelType
GetModelType
() {
return
MdNone
;}
51
virtual
EProblemType
GetProblemType
(){
return
PdNone
;}
52
virtual
ESolverType
GetSolverType
()
const
{
return
SolverType
;}
53
void
SetSolverType
(
ESolverType
sr) {
SolverType
=sr;}
54
protected
:
55
double
MaxTrainTime
;
56
ESolverType
SolverType
;
57
};
58
}
59
60
#endif //COSAN_COSANMODEL_H
Cosan
Definition:
CosanBO.h:29
Cosan::CosanModel::GetMaxTrainTime
virtual double GetMaxTrainTime() const
Definition:
CosanModel.h:48
Cosan::SrAuto
@ SrAuto
Definition:
CosanModel.h:32
Cosan::CosanBO
Cosan Base Object.
Definition:
CosanBO.h:62
Cosan::MdRidgeRegression
@ MdRidgeRegression
Definition:
CosanModel.h:24
Cosan::PdBinaryClassification
@ PdBinaryClassification
Definition:
CosanModel.h:15
Cosan::EModelType
EModelType
Definition:
CosanModel.h:21
Cosan::CosanModel::GetModelType
virtual EModelType GetModelType()
Definition:
CosanModel.h:50
Cosan::ESolverType
ESolverType
Definition:
CosanModel.h:31
Cosan::MdRidgePrincipalComponentRegression
@ MdRidgePrincipalComponentRegression
Definition:
CosanModel.h:26
Cosan::CosanModel::GetProblemType
virtual EProblemType GetProblemType()
Definition:
CosanModel.h:51
Cosan::ADMM
@ ADMM
Definition:
CosanModel.h:33
Cosan::CosanModel
Base Object for CosanModel.
Definition:
CosanModel.h:39
Cosan::PdNone
@ PdNone
Definition:
CosanModel.h:14
Cosan::MdNone
@ MdNone
Definition:
CosanModel.h:22
Cosan::EProblemType
EProblemType
Definition:
CosanModel.h:13
Cosan::MdLinearRegression
@ MdLinearRegression
Definition:
CosanModel.h:23
Cosan::CosanModel::SetSolverType
void SetSolverType(ESolverType sr)
Definition:
CosanModel.h:53
Cosan::CosanModel::SetMaxTrainTime
virtual void SetMaxTrainTime(double t)
Definition:
CosanModel.h:47
Cosan::CosanModel::MaxTrainTime
double MaxTrainTime
Definition:
CosanModel.h:55
CosanBO.h
CosanBO.
Cosan::PdUnivariateRegression
@ PdUnivariateRegression
Definition:
CosanModel.h:16
Cosan::CosanModel::SolverType
ESolverType SolverType
Definition:
CosanModel.h:56
Cosan::CosanModel::GetSolverType
virtual ESolverType GetSolverType() const
Definition:
CosanModel.h:52
Cosan::CosanModel::CosanModel
CosanModel()
Definition:
CosanModel.h:41
Cosan::MdPrincipalComponentRegression
@ MdPrincipalComponentRegression
Definition:
CosanModel.h:25
cosan
model
CosanModel.h
Generated by
1.8.20