#ifndef BAYESNET_METRICS_H #define BAYESNET_METRICS_H #include #include #include using namespace std; namespace bayesnet { class Metrics { private: torch::Tensor samples; vector features; string className; int classNumStates; vector> doCombinations(const vector&); double entropy(torch::Tensor&); double conditionalEntropy(torch::Tensor&, torch::Tensor&); public: double mutualInformation(torch::Tensor&, torch::Tensor&); Metrics(torch::Tensor&, vector&, string&, int); Metrics(const vector>&, const vector&, const vector&, const string&, const int); vector conditionalEdgeWeights(); torch::Tensor conditionalEdge(); }; } #endif