BayesNet 1.0.7.
Bayesian Network and basic classifiers Library.
Loading...
Searching...
No Matches
A2DE.cc
1// ***************************************************************
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
3// SPDX-FileType: SOURCE
4// SPDX-License-Identifier: MIT
5// ***************************************************************
6
7#include "A2DE.h"
8
9namespace bayesnet {
10 A2DE::A2DE(bool predict_voting) : Ensemble(predict_voting)
11 {
12 validHyperparameters = { "predict_voting" };
13 }
14 void A2DE::setHyperparameters(const nlohmann::json& hyperparameters_)
15 {
16 auto hyperparameters = hyperparameters_;
17 if (hyperparameters.contains("predict_voting")) {
18 predict_voting = hyperparameters["predict_voting"];
19 hyperparameters.erase("predict_voting");
20 }
21 Classifier::setHyperparameters(hyperparameters);
22 }
23 void A2DE::buildModel(const torch::Tensor& weights)
24 {
25 models.clear();
26 significanceModels.clear();
27 for (int i = 0; i < features.size() - 1; ++i) {
28 for (int j = i + 1; j < features.size(); ++j) {
29 auto model = std::make_unique<SPnDE>(std::vector<int>({ i, j }));
30 models.push_back(std::move(model));
31 }
32 }
33 n_models = static_cast<unsigned>(models.size());
34 significanceModels = std::vector<double>(n_models, 1.0);
35 }
36 std::vector<std::string> A2DE::graph(const std::string& title) const
37 {
38 return Ensemble::graph(title);
39 }
40}