Brush C++ API
A flexible interpretable machine learning framework
Loading...
Searching...
No Matches
evaluation.h
Go to the documentation of this file.
1
2
#ifndef EVALUATION_H
3
#define EVALUATION_H
4
5
#include <string>
6
7
#include "
../vary/search_space.h
"
8
#include "
../ind/individual.h
"
9
#include "
../data/data.h
"
10
#include "
scorer.h
"
11
#include "
../pop/population.h
"
12
13
using
std::string;
14
15
namespace
Brush
{
16
17
using namespace
Pop
;
18
19
// TODO: rename this file and class to evaluator?
20
namespace
Eval
{
21
22
template
<ProgramType T>
27
class
Evaluation
{
28
public
:
29
Scorer<T>
S
;
34
Evaluation
(){
35
// TODO: make eval update loss_v accordingly, and set to th same as train loss if there is no batch or no validation
36
37
// TODO: make accuracy the main classification metric?
38
string
scorer;
39
if
( (T ==
Brush::ProgramType::MulticlassClassifier
)
40
|| (T ==
Brush::ProgramType::Representer
) )
41
scorer =
"multi_log"
;
42
else
if
(T ==
Brush::ProgramType::BinaryClassifier
)
43
scorer =
"log"
;
44
else
45
scorer =
"mse"
;
46
47
this->S.
set_scorer
(scorer);
48
};
49
~Evaluation
(){};
50
55
void
set_scorer
(
string
scorer){this->S.
set_scorer
(scorer);};
56
61
string
get_scorer
(){
return
this->S.
get_scorer
();};
62
72
void
update_fitness
(
Population<T>
& pop,
73
int
island,
74
const
Dataset
& data,
75
const
Parameters
& params,
76
bool
fit=
true
,
77
bool
validation=
true
// if there is no validation, then loss_v==loss
78
);
79
87
void
assign_fit
(
Individual<T>
& ind,
const
Dataset
& data,
88
const
Parameters
& params,
bool
val=
false
);
89
90
// representation program (TODO: implement)
91
};
92
93
}
//selection
94
}
//brush
95
#endif
Brush::Data::Dataset
holds variable type data.
Definition
data.h:51
Brush::Eval::Evaluation::update_fitness
void update_fitness(Population< T > &pop, int island, const Dataset &data, const Parameters ¶ms, bool fit=true, bool validation=true)
Update the fitness of individuals in a population.
Definition
evaluation.cpp:9
Brush::Eval::Evaluation::~Evaluation
~Evaluation()
Definition
evaluation.h:49
Brush::Eval::Evaluation::set_scorer
void set_scorer(string scorer)
Set the scorer for evaluation.
Definition
evaluation.h:55
Brush::Eval::Evaluation::S
Scorer< T > S
Definition
evaluation.h:29
Brush::Eval::Evaluation::Evaluation
Evaluation()
Constructor for Evaluation class.
Definition
evaluation.h:34
Brush::Eval::Evaluation::get_scorer
string get_scorer()
Get the current scorer.
Definition
evaluation.h:61
Brush::Eval::Evaluation::assign_fit
void assign_fit(Individual< T > &ind, const Dataset &data, const Parameters ¶ms, bool val=false)
Assign fitness to an individual.
Definition
evaluation.cpp:45
Brush::Eval::Scorer
Definition
scorer.h:18
Brush::Eval::Scorer::get_scorer
string get_scorer()
Definition
scorer.h:42
Brush::Eval::Scorer::set_scorer
void set_scorer(string scorer)
Definition
scorer.h:41
Brush::Pop::Individual
Definition
individual.h:15
Brush::Pop::Population
Definition
population.h:12
data.h
individual.h
Brush::Eval
Definition
evaluation.cpp:4
Brush::Pop
Definition
individual.cpp:4
Brush
< nsga2 selection operator for getting the front
Definition
bandit.cpp:4
Brush::ProgramType::BinaryClassifier
@ BinaryClassifier
Definition
types.h:72
Brush::ProgramType::MulticlassClassifier
@ MulticlassClassifier
Definition
types.h:73
Brush::ProgramType::Representer
@ Representer
Definition
types.h:74
population.h
scorer.h
search_space.h
Brush::Parameters
Definition
params.h:20
src
eval
evaluation.h
Generated by
1.13.2