#ifndef NETWORK_H #define NETWORK_H #include "Node.h" #include #include namespace bayesnet { class Network { private: map nodes; map> dataset; Node* root; vector features; string className; int laplaceSmoothing; bool isCyclic(const std::string&, std::unordered_set&, std::unordered_set&); public: Network(); Network(int); ~Network(); void addNode(string, int); void addEdge(const string, const string); map& getNodes(); void fit(const vector>&, const vector&, const vector&, const string&); void estimateParameters(); void buildNetwork(); void setRoot(string); Node* getRoot(); }; } #endif