BayesNet 1.0.7.
Bayesian Network and basic classifiers Library.
Loading...
Searching...
No Matches
TANLd.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 "TANLd.h"
8
9namespace bayesnet {
10 TANLd::TANLd() : TAN(), Proposal(dataset, features, className) {}
11 TANLd& TANLd::fit(torch::Tensor& X_, torch::Tensor& y_, const std::vector<std::string>& features_, const std::string& className_, map<std::string, std::vector<int>>& states_, const Smoothing_t smoothing)
12 {
13 checkInput(X_, y_);
14 features = features_;
15 className = className_;
16 Xf = X_;
17 y = y_;
18 // Fills std::vectors Xv & yv with the data from tensors X_ (discretized) & y
19 states = fit_local_discretization(y);
20 // We have discretized the input data
21 // 1st we need to fit the model to build the normal TAN structure, TAN::fit initializes the base Bayesian network
22 TAN::fit(dataset, features, className, states, smoothing);
23 states = localDiscretizationProposal(states, model);
24 return *this;
25
26 }
27 torch::Tensor TANLd::predict(torch::Tensor& X)
28 {
29 auto Xt = prepareX(X);
30 return TAN::predict(Xt);
31 }
32 std::vector<std::string> TANLd::graph(const std::string& name) const
33 {
34 return TAN::graph(name);
35 }
36}