GEGELATI
classificationLearningEnvironment.h
1
36#ifndef CLASSIFICATION_LEARNING_ENVIRONMENT_H
37#define CLASSIFICATION_LEARNING_ENVIRONMENT_H
38
39#include <vector>
40
41#include "learn/learningEnvironment.h"
42
43namespace Learn {
49 {
50 protected:
59 std::vector<std::vector<uint64_t>> classificationTable;
60
67 uint64_t currentClass;
68
69 public:
78 : LearningEnvironment(nbClass), currentClass{0},
79 classificationTable(nbClass, std::vector<uint64_t>(nbClass, 0)){};
80
85 const std::vector<std::vector<uint64_t>>& getClassificationTable()
86 const;
87
95 virtual void doAction(uint64_t actionID) override = 0;
96
105 virtual double getScore() const override;
106
112 virtual void reset(
113 size_t seed = 0,
114 LearningMode mode = LearningMode::TRAINING) override = 0;
115 };
116}; // namespace Learn
117
118#endif
Specialization of the LearningEnvironment class for classification purposes.
Definition: classificationLearningEnvironment.h:49
virtual void doAction(uint64_t actionID) override=0
Default implementation for the doAction method.
Definition: classificationLearningEnvironment.cpp:41
const std::vector< std::vector< uint64_t > > & getClassificationTable() const
Get a const ref to the classification table of the learning environment.
Definition: classificationLearningEnvironment.cpp:51
virtual double getScore() const override
Default scoring for classificationLearningEnvironment.
Definition: classificationLearningEnvironment.cpp:56
std::vector< std::vector< uint64_t > > classificationTable
2D array storing for each class the guesses that were made by the LearningAgent.
Definition: classificationLearningEnvironment.h:59
uint64_t currentClass
Class of the current data.
Definition: classificationLearningEnvironment.h:67
ClassificationLearningEnvironment(uint64_t nbClass)
Definition: classificationLearningEnvironment.h:77
virtual void reset(size_t seed=0, LearningMode mode=LearningMode::TRAINING) override=0
Default implementation of the reset.
Definition: classificationLearningEnvironment.cpp:97
Interface for creating a Learning Environment.
Definition: learningEnvironment.h:80
Definition: adversarialEvaluationResult.h:45
LearningMode
Different modes in which the LearningEnvironment can be reset.
Definition: learningEnvironment.h:58