#ifndef ROCAUC_H #define ROCAUC_H #include #include #include #include namespace platform { using json = nlohmann::ordered_json; class RocAuc { public: RocAuc() = default; double compute(const std::vector>& y_proba, const std::vector& y_test); double compute(const torch::Tensor& y_proba, const torch::Tensor& y_test); private: double compute_common(size_t nSamples, size_t classIdx); std::vector> scoresAndLabels; std::vector y_test; }; } #endif