17 Ensemble(
bool predict_voting =
true);
19 torch::Tensor predict(torch::Tensor& X)
override;
20 std::vector<int> predict(std::vector<std::vector<int>>& X)
override;
21 torch::Tensor predict_proba(torch::Tensor& X)
override;
22 std::vector<std::vector<double>> predict_proba(std::vector<std::vector<int>>& X)
override;
23 float score(torch::Tensor& X, torch::Tensor& y)
override;
24 float score(std::vector<std::vector<int>>& X, std::vector<int>& y)
override;
25 int getNumberOfNodes()
const override;
26 int getNumberOfEdges()
const override;
27 int getNumberOfStates()
const override;
28 std::vector<std::string> show()
const override;
29 std::vector<std::string> graph(
const std::string& title)
const override;
30 std::vector<std::string> topological_order()
override
32 return std::vector<std::string>();
34 std::string dump_cpt()
const override
37 for (
auto& model : models) {
38 output += model->dump_cpt();
39 output += std::string(80,
'-') +
"\n";
44 void trainModel(
const torch::Tensor& weights,
const Smoothing_t smoothing)
override;
45 torch::Tensor predict_average_voting(torch::Tensor& X);
46 std::vector<std::vector<double>> predict_average_voting(std::vector<std::vector<int>>& X);
47 torch::Tensor predict_average_proba(torch::Tensor& X);
48 std::vector<std::vector<double>> predict_average_proba(std::vector<std::vector<int>>& X);
49 torch::Tensor compute_arg_max(torch::Tensor& X);
50 std::vector<int> compute_arg_max(std::vector<std::vector<double>>& X);
51 torch::Tensor voting(torch::Tensor& votes);
54 std::vector<std::unique_ptr<Classifier>> models;
55 std::vector<double> significanceModels;