3 #ifndef FORPY_IMPURITIES_CLASSIFICATIONERROR_H_ 4 #define FORPY_IMPURITIES_CLASSIFICATIONERROR_H_ 8 #include "../util/serialization/basics.h" 13 #include "../util/exponentials.h" 27 inline float operator()(
const float *class_members_numbers,
const size_t &n,
28 const float &fsum)
const {
30 if (fsum == 0.f)
return 0.f;
33 *std::max_element(class_members_numbers, class_members_numbers + n) /
37 inline friend std::ostream &
operator<<(std::ostream &stream,
39 stream <<
"forpy::ClassificationError";
48 template <
class Archive>
50 ar(cereal::make_nvp(
"base", cereal::base_class<IEntropyFunction>(
this)));
56 #endif // FORPY_IMPURITIES_CLASSIFICATIONERROR_H_ void serialize(Archive &ar, const uint &)
float operator()(const float *class_members_numbers, const size_t &n, const float &fsum) const
Interface for an entropy calculation functor.
DISALLOW_COPY_AND_ASSIGN(ClassificationError)
CEREAL_REGISTER_TYPE(forpy::ClassificationError)
bool operator==(const IEntropyFunction &rhs) const
friend std::ostream & operator<<(std::ostream &stream, const ClassificationError &)
unsigned int uint
Convenience typedef for unsigned int.
friend class cereal::access
Computes the classification error as .