11 SPnDE::SPnDE(std::vector<int> parents) : Classifier(Network()), parents(parents) {}
13 void SPnDE::buildModel(
const torch::Tensor& weights)
17 std::vector<int> attributes;
18 for (
int i = 0; i < static_cast<int>(features.size()); ++i) {
19 if (std::find(parents.begin(), parents.end(), i) == parents.end()) {
20 attributes.push_back(i);
25 for (
const auto& attribute : attributes) {
26 model.addEdge(className, features[attribute]);
27 for (
const auto& root : parents) {
29 model.addEdge(features[root], features[attribute]);
33 std::vector<std::string> SPnDE::graph(
const std::string& name)
const
35 return model.graph(name);