diff --git a/.clang-format b/.clang-format index 8d96b77..1e83749 100644 --- a/.clang-format +++ b/.clang-format @@ -1,4 +1,10 @@ # .clang-format +--- BasedOnStyle: LLVM +AccessModifierOffset: -4 +BreakBeforeBraces: Allman +ColumnLimit: 0 +FixNamespaceComments: false IndentWidth: 4 -ColumnLimit: 120 +NamespaceIndentation: All +TabWidth: 4 diff --git a/diagrams/BayesNet.puml b/diagrams/BayesNet.puml index 526aee5..2466d47 100644 --- a/diagrams/BayesNet.puml +++ b/diagrams/BayesNet.puml @@ -96,6 +96,8 @@ abstract C_0002617087915615796317 #aliceblue;line:blue;line.dotted;text:blue { {abstract} +topological_order() = 0 : std::vector {abstract} #trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) = 0 : void __ +#notes : std::vector +#status : status_t #validHyperparameters : std::vector } class "bayesnet::Metrics" as C_0005895723015084986588 @@ -153,6 +155,7 @@ abstract C_0016351972983202413152 #aliceblue;line:blue;line.dotted;text:blue { +topological_order() : std::vector #trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : void __ +#CLASSIFIER_NOT_FITTED : const std::string #className : std::string #dataset : torch::Tensor #features : std::vector @@ -161,20 +164,44 @@ __ #metrics : Metrics #model : Network #n : unsigned int -#notes : std::vector #states : std::map> -#status : status_t +} +class "bayesnet::Proposal" as C_0017759964713298103839 +class C_0017759964713298103839 #aliceblue;line:blue;line.dotted;text:blue { ++Proposal(torch::Tensor & pDataset, std::vector & features_, std::string & className_) : void ++~Proposal() : void +.. +#checkInput(const torch::Tensor & X, const torch::Tensor & y) : void +#fit_local_discretization(const torch::Tensor & y) : std::map> +#localDiscretizationProposal(const std::map> & states, Network & model) : std::map> +#prepareX(torch::Tensor & X) : torch::Tensor +__ +#Xf : torch::Tensor +#discretizers : map +#y : torch::Tensor } class "bayesnet::KDB" as C_0008902920152122000044 class C_0008902920152122000044 #aliceblue;line:blue;line.dotted;text:blue { +KDB(int k, float theta = 0.03) : void +~KDB() = default : void .. +#add_m_edges(int idx, std::vector & S, torch::Tensor & weights) : void #buildModel(const torch::Tensor & weights) : void +graph(const std::string & name = "KDB") const : std::vector +setHyperparameters(const nlohmann::json & hyperparameters_) : void __ } +class "bayesnet::KDBLd" as C_0002756018222998454702 +class C_0002756018222998454702 #aliceblue;line:blue;line.dotted;text:blue { ++KDBLd(int k) : void ++~KDBLd() = default : void +.. ++fit(torch::Tensor & X, torch::Tensor & y, const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : KDBLd & ++graph(const std::string & name = "KDB") const : std::vector ++predict(torch::Tensor & X) : torch::Tensor +{static} +version() : std::string +__ +} class "bayesnet::SPODE" as C_0004096182510460307610 class C_0004096182510460307610 #aliceblue;line:blue;line.dotted;text:blue { +SPODE(int root) : void @@ -182,6 +209,20 @@ class C_0004096182510460307610 #aliceblue;line:blue;line.dotted;text:blue { .. #buildModel(const torch::Tensor & weights) : void +graph(const std::string & name = "SPODE") const : std::vector ++setHyperparameters(const nlohmann::json & hyperparameters_) : void +__ +} +class "bayesnet::SPODELd" as C_0010957245114062042836 +class C_0010957245114062042836 #aliceblue;line:blue;line.dotted;text:blue { ++SPODELd(int root) : void ++~SPODELd() = default : void +.. ++commonFit(const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : SPODELd & ++fit(torch::Tensor & X, torch::Tensor & y, const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : SPODELd & ++fit(torch::Tensor & dataset, const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : SPODELd & ++graph(const std::string & name = "SPODELd") const : std::vector ++predict(torch::Tensor & X) : torch::Tensor +{static} +version() : std::string __ } class "bayesnet::SPnDE" as C_0016268916386101512883 @@ -200,44 +241,7 @@ class C_0014087955399074584137 #aliceblue;line:blue;line.dotted;text:blue { .. #buildModel(const torch::Tensor & weights) : void +graph(const std::string & name = "TAN") const : std::vector -__ -} -class "bayesnet::Proposal" as C_0017759964713298103839 -class C_0017759964713298103839 #aliceblue;line:blue;line.dotted;text:blue { -+Proposal(torch::Tensor & pDataset, std::vector & features_, std::string & className_) : void -+~Proposal() : void -.. -#checkInput(const torch::Tensor & X, const torch::Tensor & y) : void -#fit_local_discretization(const torch::Tensor & y) : std::map> -#localDiscretizationProposal(const std::map> & states, Network & model) : std::map> -#prepareX(torch::Tensor & X) : torch::Tensor -__ -#Xf : torch::Tensor -#discretizers : map -#y : torch::Tensor -} -class "bayesnet::KDBLd" as C_0002756018222998454702 -class C_0002756018222998454702 #aliceblue;line:blue;line.dotted;text:blue { -+KDBLd(int k) : void -+~KDBLd() = default : void -.. -+fit(torch::Tensor & X, torch::Tensor & y, const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : KDBLd & -+graph(const std::string & name = "KDB") const : std::vector -+predict(torch::Tensor & X) : torch::Tensor -{static} +version() : std::string -__ -} -class "bayesnet::SPODELd" as C_0010957245114062042836 -class C_0010957245114062042836 #aliceblue;line:blue;line.dotted;text:blue { -+SPODELd(int root) : void -+~SPODELd() = default : void -.. -+commonFit(const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : SPODELd & -+fit(torch::Tensor & X, torch::Tensor & y, const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : SPODELd & -+fit(torch::Tensor & dataset, const std::vector & features, const std::string & className, std::map> & states, const Smoothing_t smoothing) : SPODELd & -+graph(const std::string & name = "SPODELd") const : std::vector -+predict(torch::Tensor & X) : torch::Tensor -{static} +version() : std::string ++setHyperparameters(const nlohmann::json & hyperparameters_) : void __ } class "bayesnet::TANLd" as C_0013350632773616302678 @@ -250,6 +254,64 @@ class C_0013350632773616302678 #aliceblue;line:blue;line.dotted;text:blue { +predict(torch::Tensor & X) : torch::Tensor __ } +class "bayesnet::XSp2de" as C_0007640742442325463418 +class C_0007640742442325463418 #aliceblue;line:blue;line.dotted;text:blue { ++XSp2de(int spIndex1, int spIndex2) : void +.. +#buildModel(const torch::Tensor & weights) : void ++fitx(torch::Tensor & X, torch::Tensor & y, torch::Tensor & weights_, const Smoothing_t smoothing) : void ++getClassNumStates() const : int ++getNFeatures() const : int ++getNumberOfEdges() const : int ++getNumberOfNodes() const : int ++getNumberOfStates() const : int ++graph(const std::string & title) const : std::vector ++predict(const std::vector & instance) const : int ++predict(std::vector> & test_data) : std::vector ++predict(torch::Tensor & X) : torch::Tensor ++predict_proba(const std::vector & instance) const : std::vector ++predict_proba(std::vector> & test_data) : std::vector> ++predict_proba(torch::Tensor & X) : torch::Tensor ++score(std::vector> & X, std::vector & y) : float ++score(torch::Tensor & X, torch::Tensor & y) : float ++setHyperparameters(const nlohmann::json & hyperparameters_) : void ++to_string() const : std::string +#trainModel(const torch::Tensor & weights, const bayesnet::Smoothing_t smoothing) : void +__ +} +class "bayesnet::XSpode" as C_0015654113248178830206 +class C_0015654113248178830206 #aliceblue;line:blue;line.dotted;text:blue { ++XSpode(int spIndex) : void +.. +#buildModel(const torch::Tensor & weights) : void ++fitx(torch::Tensor & X, torch::Tensor & y, torch::Tensor & weights_, const Smoothing_t smoothing) : void ++getClassNumStates() const : int ++getNFeatures() const : int ++getNumberOfEdges() const : int ++getNumberOfNodes() const : int ++getNumberOfStates() const : int ++getStates() : std::vector & ++graph(const std::string & title) const : std::vector ++normalize(std::vector & v) const : void ++predict(const std::vector & instance) const : int ++predict(std::vector> & X) : std::vector ++predict(torch::Tensor & X) : torch::Tensor ++predict_proba(std::vector> & X) : std::vector> ++predict_proba(torch::Tensor & X) : torch::Tensor ++predict_proba(const std::vector & instance) const : std::vector ++score(torch::Tensor & X, torch::Tensor & y) : float ++score(std::vector> & X, std::vector & y) : float ++setHyperparameters(const nlohmann::json & hyperparameters_) : void ++to_string() const : std::string +#trainModel(const torch::Tensor & weights, const bayesnet::Smoothing_t smoothing) : void +__ +} +class "bayesnet::TensorUtils" as C_0010304804115474100819 +class C_0010304804115474100819 #aliceblue;line:blue;line.dotted;text:blue { +{static} +to_matrix(const torch::Tensor & X) : std::vector> +{static} +to_vector(const torch::Tensor & y) : std::vector +__ +} class "bayesnet::Ensemble" as C_0015881931090842884611 class C_0015881931090842884611 #aliceblue;line:blue;line.dotted;text:blue { +Ensemble(bool predict_voting = true) : void @@ -302,6 +364,17 @@ class C_0006288892608974306258 #aliceblue;line:blue;line.dotted;text:blue { +setHyperparameters(const nlohmann::json & hyperparameters) : void __ } +class "bayesnet::AODELd" as C_0003898187834670349177 +class C_0003898187834670349177 #aliceblue;line:blue;line.dotted;text:blue { ++AODELd(bool predict_voting = true) : void ++~AODELd() = default : void +.. +#buildModel(const torch::Tensor & weights) : void ++fit(torch::Tensor & X_, torch::Tensor & y_, const std::vector & features_, const std::string & className_, std::map> & states_, const Smoothing_t smoothing) : AODELd & ++graph(const std::string & name = "AODELd") const : std::vector +#trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : void +__ +} abstract "bayesnet::FeatureSelect" as C_0013562609546004646591 abstract C_0013562609546004646591 #aliceblue;line:blue;line.dotted;text:blue { +FeatureSelect(const torch::Tensor & samples, const std::vector & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights) : void @@ -324,15 +397,15 @@ __ #suLabels : std::vector #weights : const torch::Tensor & } -class "bayesnet::(anonymous_60342586)" as C_0005584545181746538542 -class C_0005584545181746538542 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60357672)" as C_0006397015156479549697 +class C_0006397015156479549697 #aliceblue;line:blue;line.dotted;text:blue { __ +CFS : std::string +FCBF : std::string +IWSS : std::string } -class "bayesnet::(anonymous_60343240)" as C_0016227156982041949444 -class C_0016227156982041949444 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60358326)" as C_0013066254331852347304 +class C_0013066254331852347304 #aliceblue;line:blue;line.dotted;text:blue { __ +ASC : std::string +DESC : std::string @@ -343,14 +416,17 @@ class C_0009819322948617116148 #aliceblue;line:blue;line.dotted;text:blue { +Boost(bool predict_voting = false) : void +~Boost() = default : void .. +#add_model(std::unique_ptr model, double significance) : void #buildModel(const torch::Tensor & weights) : void #featureSelection(torch::Tensor & weights_) : std::vector +#remove_last_model() : void +setHyperparameters(const nlohmann::json & hyperparameters_) : void #update_weights(torch::Tensor & ytrain, torch::Tensor & ypred, torch::Tensor & weights) : std::tuple #update_weights_block(int k, torch::Tensor & ytrain, torch::Tensor & weights) : std::tuple __ #X_test : torch::Tensor #X_train : torch::Tensor +#alpha_block : bool #bisection : bool #block_update : bool #convergence : bool @@ -364,31 +440,6 @@ __ #y_test : torch::Tensor #y_train : torch::Tensor } -class "bayesnet::AODELd" as C_0003898187834670349177 -class C_0003898187834670349177 #aliceblue;line:blue;line.dotted;text:blue { -+AODELd(bool predict_voting = true) : void -+~AODELd() = default : void -.. -#buildModel(const torch::Tensor & weights) : void -+fit(torch::Tensor & X_, torch::Tensor & y_, const std::vector & features_, const std::string & className_, std::map> & states_, const Smoothing_t smoothing) : AODELd & -+graph(const std::string & name = "AODELd") const : std::vector -#trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : void -__ -} -class "bayesnet::(anonymous_60275628)" as C_0009086919615463763584 -class C_0009086919615463763584 #aliceblue;line:blue;line.dotted;text:blue { -__ -+CFS : std::string -+FCBF : std::string -+IWSS : std::string -} -class "bayesnet::(anonymous_60276282)" as C_0015251985607563196159 -class C_0015251985607563196159 #aliceblue;line:blue;line.dotted;text:blue { -__ -+ASC : std::string -+DESC : std::string -+RAND : std::string -} class "bayesnet::BoostA2DE" as C_0000272055465257861326 class C_0000272055465257861326 #aliceblue;line:blue;line.dotted;text:blue { +BoostA2DE(bool predict_voting = false) : void @@ -398,15 +449,15 @@ class C_0000272055465257861326 #aliceblue;line:blue;line.dotted;text:blue { #trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : void __ } -class "bayesnet::(anonymous_60275502)" as C_0016033655851510053155 -class C_0016033655851510053155 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60425028)" as C_0000461144706913711531 +class C_0000461144706913711531 #aliceblue;line:blue;line.dotted;text:blue { __ +CFS : std::string +FCBF : std::string +IWSS : std::string } -class "bayesnet::(anonymous_60276156)" as C_0000379522761622473555 -class C_0000379522761622473555 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60425682)" as C_0014849589915262463453 +class C_0014849589915262463453 #aliceblue;line:blue;line.dotted;text:blue { __ +ASC : std::string +DESC : std::string @@ -421,6 +472,38 @@ class C_0002867772739198819061 #aliceblue;line:blue;line.dotted;text:blue { #trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : void __ } +class "bayesnet::XBA2DE" as C_0008480973840710001141 +class C_0008480973840710001141 #aliceblue;line:blue;line.dotted;text:blue { ++XBA2DE(bool predict_voting = false) : void ++~XBA2DE() = default : void +.. ++getVersion() : std::string ++graph(const std::string & title = "XBA2DE") const : std::vector +#trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : void +__ +} +class "bayesnet::(anonymous_60414016)" as C_0008746994658440620779 +class C_0008746994658440620779 #aliceblue;line:blue;line.dotted;text:blue { +__ ++CFS : std::string ++FCBF : std::string ++IWSS : std::string +} +class "bayesnet::(anonymous_60414670)" as C_0008030559132212449356 +class C_0008030559132212449356 #aliceblue;line:blue;line.dotted;text:blue { +__ ++ASC : std::string ++DESC : std::string ++RAND : std::string +} +class "bayesnet::XBAODE" as C_0005198482342493966768 +class C_0005198482342493966768 #aliceblue;line:blue;line.dotted;text:blue { ++XBAODE() : void +.. ++getVersion() : std::string +#trainModel(const torch::Tensor & weights, const bayesnet::Smoothing_t smoothing) : void +__ +} class "bayesnet::CFS" as C_0000093018845530739957 class C_0000093018845530739957 #aliceblue;line:blue;line.dotted;text:blue { +CFS(const torch::Tensor & samples, const std::vector & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights) : void @@ -445,43 +528,43 @@ class C_0000066148117395428429 #aliceblue;line:blue;line.dotted;text:blue { +fit() : void __ } -class "bayesnet::(anonymous_60730495)" as C_0004857727320042830573 -class C_0004857727320042830573 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60810808)" as C_0012002108046995621535 +class C_0012002108046995621535 #aliceblue;line:blue;line.dotted;text:blue { __ +CFS : std::string +FCBF : std::string +IWSS : std::string } -class "bayesnet::(anonymous_60731150)" as C_0000076541533312623385 -class C_0000076541533312623385 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60811462)" as C_0004735044229422764240 +class C_0004735044229422764240 #aliceblue;line:blue;line.dotted;text:blue { __ +ASC : std::string +DESC : std::string +RAND : std::string } -class "bayesnet::(anonymous_60653004)" as C_0001444063444142949758 -class C_0001444063444142949758 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60804220)" as C_0007082100550474633839 +class C_0007082100550474633839 #aliceblue;line:blue;line.dotted;text:blue { __ +CFS : std::string +FCBF : std::string +IWSS : std::string } -class "bayesnet::(anonymous_60653658)" as C_0007139277546931322856 -class C_0007139277546931322856 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60804874)" as C_0003669430095936529648 +class C_0003669430095936529648 #aliceblue;line:blue;line.dotted;text:blue { __ +ASC : std::string +DESC : std::string +RAND : std::string } -class "bayesnet::(anonymous_60731375)" as C_0010493853592456211189 -class C_0010493853592456211189 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60809706)" as C_0012336951062058157227 +class C_0012336951062058157227 #aliceblue;line:blue;line.dotted;text:blue { __ +CFS : std::string +FCBF : std::string +IWSS : std::string } -class "bayesnet::(anonymous_60732030)" as C_0007011438637915849564 -class C_0007011438637915849564 #aliceblue;line:blue;line.dotted;text:blue { +class "bayesnet::(anonymous_60810360)" as C_0002435892998884329673 +class C_0002435892998884329673 #aliceblue;line:blue;line.dotted;text:blue { __ +ASC : std::string +DESC : std::string @@ -513,37 +596,43 @@ C_0010428199432536647474 --> C_0010428199432536647474 : -children C_0009493661199123436603 ..> C_0013393078277439680282 C_0009493661199123436603 o-- C_0010428199432536647474 : -nodes C_0002617087915615796317 ..> C_0013393078277439680282 -C_0002617087915615796317 ..> C_0005907365846270811004 +C_0002617087915615796317 o-- C_0005907365846270811004 : #status C_0016351972983202413152 ..> C_0013393078277439680282 +C_0016351972983202413152 ..> C_0005907365846270811004 C_0016351972983202413152 o-- C_0009493661199123436603 : #model C_0016351972983202413152 o-- C_0005895723015084986588 : #metrics -C_0016351972983202413152 o-- C_0005907365846270811004 : #status C_0002617087915615796317 <|-- C_0016351972983202413152 +C_0017759964713298103839 ..> C_0009493661199123436603 C_0016351972983202413152 <|-- C_0008902920152122000044 -C_0016351972983202413152 <|-- C_0004096182510460307610 - -C_0016351972983202413152 <|-- C_0016268916386101512883 - -C_0016351972983202413152 <|-- C_0014087955399074584137 - -C_0017759964713298103839 ..> C_0009493661199123436603 C_0002756018222998454702 ..> C_0013393078277439680282 C_0008902920152122000044 <|-- C_0002756018222998454702 C_0017759964713298103839 <|-- C_0002756018222998454702 +C_0016351972983202413152 <|-- C_0004096182510460307610 + C_0010957245114062042836 ..> C_0013393078277439680282 C_0004096182510460307610 <|-- C_0010957245114062042836 C_0017759964713298103839 <|-- C_0010957245114062042836 +C_0016351972983202413152 <|-- C_0016268916386101512883 + +C_0016351972983202413152 <|-- C_0014087955399074584137 + C_0013350632773616302678 ..> C_0013393078277439680282 C_0014087955399074584137 <|-- C_0013350632773616302678 C_0017759964713298103839 <|-- C_0013350632773616302678 +C_0007640742442325463418 ..> C_0013393078277439680282 +C_0016351972983202413152 <|-- C_0007640742442325463418 + +C_0015654113248178830206 ..> C_0013393078277439680282 +C_0016351972983202413152 <|-- C_0015654113248178830206 + C_0015881931090842884611 ..> C_0013393078277439680282 C_0015881931090842884611 o-- C_0016351972983202413152 : #models C_0016351972983202413152 <|-- C_0015881931090842884611 @@ -552,22 +641,29 @@ C_0015881931090842884611 <|-- C_0001410789567057647859 C_0015881931090842884611 <|-- C_0006288892608974306258 -C_0005895723015084986588 <|-- C_0013562609546004646591 - -C_0009819322948617116148 --> C_0013562609546004646591 : #featureSelector -C_0015881931090842884611 <|-- C_0009819322948617116148 - C_0003898187834670349177 ..> C_0013393078277439680282 C_0015881931090842884611 <|-- C_0003898187834670349177 C_0017759964713298103839 <|-- C_0003898187834670349177 +C_0005895723015084986588 <|-- C_0013562609546004646591 + +C_0009819322948617116148 ..> C_0016351972983202413152 +C_0009819322948617116148 --> C_0013562609546004646591 : #featureSelector +C_0015881931090842884611 <|-- C_0009819322948617116148 + C_0000272055465257861326 ..> C_0013393078277439680282 C_0009819322948617116148 <|-- C_0000272055465257861326 C_0002867772739198819061 ..> C_0013393078277439680282 C_0009819322948617116148 <|-- C_0002867772739198819061 +C_0008480973840710001141 ..> C_0013393078277439680282 +C_0009819322948617116148 <|-- C_0008480973840710001141 + +C_0005198482342493966768 ..> C_0013393078277439680282 +C_0009819322948617116148 <|-- C_0005198482342493966768 + C_0013562609546004646591 <|-- C_0000093018845530739957 C_0013562609546004646591 <|-- C_0001157456122733975432 diff --git a/diagrams/BayesNet.svg b/diagrams/BayesNet.svg index 0bbe9b2..6291bc5 100644 --- a/diagrams/BayesNet.svg +++ b/diagrams/BayesNet.svg @@ -1 +1 @@ -clang-uml class diagram modelclang-uml class diagram modelbayesnet::NodeNode(const std::string &) : voidaddChild(Node *) : voidaddParent(Node *) : voidclear() : voidcomputeCPT(const torch::Tensor & dataset, const std::vector<std::string> & features, const double smoothing, const torch::Tensor & weights) : voidgetCPT() : torch::Tensor &getChildren() : std::vector<Node *> &getFactorValue(std::map<std::string,int> &) : doublegetName() const : std::stringgetNumStates() const : intgetParents() : std::vector<Node *> &graph(const std::string & clasName) : std::vector<std::string>minFill() : unsigned intremoveChild(Node *) : voidremoveParent(Node *) : voidsetNumStates(int) : voidbayesnet::Smoothing_tNONEORIGINALLAPLACECESTNIKbayesnet::NetworkNetwork() : voidNetwork(const Network &) : void~Network() = default : voidaddEdge(const std::string &, const std::string &) : voidaddNode(const std::string &) : voiddump_cpt() const : std::stringfit(const torch::Tensor & samples, const torch::Tensor & weights, const std::vector<std::string> & featureNames, const std::string & className, const std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : voidfit(const torch::Tensor & X, const torch::Tensor & y, const torch::Tensor & weights, const std::vector<std::string> & featureNames, const std::string & className, const std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : voidfit(const std::vector<std::vector<int>> & input_data, const std::vector<int> & labels, const std::vector<double> & weights, const std::vector<std::string> & featureNames, const std::string & className, const std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : voidgetClassName() const : std::stringgetClassNumStates() const : intgetEdges() const : std::vector<std::pair<std::string,std::string>>getFeatures() const : std::vector<std::string>getNodes() : std::map<std::string,std::unique_ptr<Node>> &getNumEdges() const : intgetSamples() : torch::Tensor &getStates() const : intgraph(const std::string & title) const : std::vector<std::string>initialize() : voidpredict(const std::vector<std::vector<int>> &) : std::vector<int>predict(const torch::Tensor &) : torch::Tensorpredict_proba(const std::vector<std::vector<int>> &) : std::vector<std::vector<double>>predict_proba(const torch::Tensor &) : torch::Tensorpredict_tensor(const torch::Tensor & samples, const bool proba) : torch::Tensorscore(const std::vector<std::vector<int>> &, const std::vector<int> &) : doubleshow() const : std::vector<std::string>topological_sort() : std::vector<std::string>version() : std::stringbayesnet::status_tNORMALWARNINGERRORbayesnet::BaseClassifier~BaseClassifier() = default : voiddump_cpt() const = 0 : std::stringfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) = 0 : BaseClassifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) = 0 : BaseClassifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const torch::Tensor & weights, const Smoothing_t smoothing) = 0 : BaseClassifier &fit(std::vector<std::vector<int>> & X, std::vector<int> & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) = 0 : BaseClassifier &getClassNumStates() const = 0 : intgetNotes() const = 0 : std::vector<std::string>getNumberOfEdges() const = 0 : intgetNumberOfNodes() const = 0 : intgetNumberOfStates() const = 0 : intgetStatus() const = 0 : status_tgetValidHyperparameters() : std::vector<std::string> &getVersion() = 0 : std::stringgraph(const std::string & title = "") const = 0 : std::vector<std::string>predict(std::vector<std::vector<int>> & X) = 0 : std::vector<int>predict(torch::Tensor & X) = 0 : torch::Tensorpredict_proba(std::vector<std::vector<int>> & X) = 0 : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) = 0 : torch::Tensorscore(std::vector<std::vector<int>> & X, std::vector<int> & y) = 0 : floatscore(torch::Tensor & X, torch::Tensor & y) = 0 : floatsetHyperparameters(const nlohmann::json & hyperparameters) = 0 : voidshow() const = 0 : std::vector<std::string>topological_order() = 0 : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) = 0 : voidvalidHyperparameters : std::vector<std::string>bayesnet::MetricsMetrics() = default : voidMetrics(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int classNumStates) : voidMetrics(const std::vector<std::vector<int>> & vsamples, const std::vector<int> & labels, const std::vector<std::string> & features, const std::string & className, const int classNumStates) : voidSelectKBestWeighted(const torch::Tensor & weights, bool ascending = false, unsigned int k = 0) : std::vector<int>SelectKPairs(const torch::Tensor & weights, std::vector<int> & featuresExcluded, bool ascending = false, unsigned int k = 0) : std::vector<std::pair<int,int>>conditionalEdge(const torch::Tensor & weights) : torch::TensorconditionalEntropy(const torch::Tensor & firstFeature, const torch::Tensor & secondFeature, const torch::Tensor & labels, const torch::Tensor & weights) : doubleconditionalMutualInformation(const torch::Tensor & firstFeature, const torch::Tensor & secondFeature, const torch::Tensor & labels, const torch::Tensor & weights) : doubledoCombinations<T>(const std::vector<T> & source) : std::vector<std::pair<T, T> >entropy(const torch::Tensor & feature, const torch::Tensor & weights) : doublegetScoresKBest() const : std::vector<double>getScoresKPairs() const : std::vector<std::pair<std::pair<int,int>,double>>maximumSpanningTree(const std::vector<std::string> & features, const torch::Tensor & weights, const int root) : std::vector<std::pair<int,int>>mutualInformation(const torch::Tensor & firstFeature, const torch::Tensor & secondFeature, const torch::Tensor & weights) : doublepop_first<T>(std::vector<T> & v) : TclassName : std::stringfeatures : std::vector<std::string>samples : torch::Tensorbayesnet::ClassifierClassifier(Network model) : void~Classifier() = default : voidaddNodes() : voidbuildDataset(torch::Tensor & y) : voidbuildModel(const torch::Tensor & weights) = 0 : voidcheckFitParameters() : voiddump_cpt() const : std::stringfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : Classifier &fit(std::vector<std::vector<int>> & X, std::vector<int> & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : Classifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : Classifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const torch::Tensor & weights, const Smoothing_t smoothing) : Classifier &getClassNumStates() const : intgetNotes() const : std::vector<std::string>getNumberOfEdges() const : intgetNumberOfNodes() const : intgetNumberOfStates() const : intgetStatus() const : status_tgetVersion() : std::stringpredict(std::vector<std::vector<int>> & X) : std::vector<int>predict(torch::Tensor & X) : torch::Tensorpredict_proba(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) : torch::Tensorscore(torch::Tensor & X, torch::Tensor & y) : floatscore(std::vector<std::vector<int>> & X, std::vector<int> & y) : floatsetHyperparameters(const nlohmann::json & hyperparameters) : voidshow() const : std::vector<std::string>topological_order() : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidclassName : std::stringdataset : torch::Tensorfeatures : std::vector<std::string>fitted : boolm : unsigned intmetrics : Metricsmodel : Networkn : unsigned intnotes : std::vector<std::string>states : std::map<std::string,std::vector<int>>status : status_tbayesnet::KDBKDB(int k, float theta = 0.03) : void~KDB() = default : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "KDB") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters_) : voidbayesnet::SPODESPODE(int root) : void~SPODE() = default : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "SPODE") const : std::vector<std::string>bayesnet::SPnDESPnDE(std::vector<int> parents) : void~SPnDE() = default : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "SPnDE") const : std::vector<std::string>bayesnet::TANTAN() : void~TAN() = default : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "TAN") const : std::vector<std::string>bayesnet::ProposalProposal(torch::Tensor & pDataset, std::vector<std::string> & features_, std::string & className_) : void~Proposal() : voidcheckInput(const torch::Tensor & X, const torch::Tensor & y) : voidfit_local_discretization(const torch::Tensor & y) : std::map<std::string,std::vector<int>>localDiscretizationProposal(const std::map<std::string,std::vector<int>> & states, Network & model) : std::map<std::string,std::vector<int>>prepareX(torch::Tensor & X) : torch::TensorXf : torch::Tensordiscretizers : map<std::string,mdlp::CPPFImdlp *>y : torch::Tensorbayesnet::KDBLdKDBLd(int k) : void~KDBLd() = default : voidfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : KDBLd &graph(const std::string & name = "KDB") const : std::vector<std::string>predict(torch::Tensor & X) : torch::Tensorversion() : std::stringbayesnet::SPODELdSPODELd(int root) : void~SPODELd() = default : voidcommonFit(const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : SPODELd &fit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : SPODELd &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : SPODELd &graph(const std::string & name = "SPODELd") const : std::vector<std::string>predict(torch::Tensor & X) : torch::Tensorversion() : std::stringbayesnet::TANLdTANLd() : void~TANLd() = default : voidfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : TANLd &graph(const std::string & name = "TANLd") const : std::vector<std::string>predict(torch::Tensor & X) : torch::Tensorbayesnet::EnsembleEnsemble(bool predict_voting = true) : void~Ensemble() = default : voidcompute_arg_max(std::vector<std::vector<double>> & X) : std::vector<int>compute_arg_max(torch::Tensor & X) : torch::Tensordump_cpt() const : std::stringgetNumberOfEdges() const : intgetNumberOfNodes() const : intgetNumberOfStates() const : intgraph(const std::string & title) const : std::vector<std::string>predict(std::vector<std::vector<int>> & X) : std::vector<int>predict(torch::Tensor & X) : torch::Tensorpredict_average_proba(torch::Tensor & X) : torch::Tensorpredict_average_proba(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_average_voting(torch::Tensor & X) : torch::Tensorpredict_average_voting(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_proba(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) : torch::Tensorscore(std::vector<std::vector<int>> & X, std::vector<int> & y) : floatscore(torch::Tensor & X, torch::Tensor & y) : floatshow() const : std::vector<std::string>topological_order() : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidvoting(torch::Tensor & votes) : torch::Tensormodels : std::vector<std::unique_ptr<Classifier>>n_models : unsigned intpredict_voting : boolsignificanceModels : std::vector<double>bayesnet::A2DEA2DE(bool predict_voting = false) : void~A2DE() : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & title = "A2DE") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters) : voidbayesnet::AODEAODE(bool predict_voting = false) : void~AODE() : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & title = "AODE") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters) : voidbayesnet::FeatureSelectFeatureSelect(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights) : void~FeatureSelect() : voidcomputeMeritCFS() : doublecomputeSuFeatures(const int a, const int b) : doublecomputeSuLabels() : voidfit() = 0 : voidgetFeatures() const : std::vector<int>getScores() const : std::vector<double>initialize() : voidsymmetricalUncertainty(int a, int b) : doublefitted : boolmaxFeatures : intselectedFeatures : std::vector<int>selectedScores : std::vector<double>suFeatures : std::map<std::pair<int,int>,double>suLabels : std::vector<double>weights : const torch::Tensor &bayesnet::(anonymous_60342586)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60343240)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::BoostBoost(bool predict_voting = false) : void~Boost() = default : voidbuildModel(const torch::Tensor & weights) : voidfeatureSelection(torch::Tensor & weights_) : std::vector<int>setHyperparameters(const nlohmann::json & hyperparameters_) : voidupdate_weights(torch::Tensor & ytrain, torch::Tensor & ypred, torch::Tensor & weights) : std::tuple<torch::Tensor &,double,bool>update_weights_block(int k, torch::Tensor & ytrain, torch::Tensor & weights) : std::tuple<torch::Tensor &,double,bool>X_test : torch::TensorX_train : torch::Tensorbisection : boolblock_update : boolconvergence : boolconvergence_best : boolfeatureSelector : FeatureSelect *maxTolerance : intorder_algorithm : std::stringselectFeatures : boolselect_features_algorithm : std::stringthreshold : doubley_test : torch::Tensory_train : torch::Tensorbayesnet::AODELdAODELd(bool predict_voting = true) : void~AODELd() = default : voidbuildModel(const torch::Tensor & weights) : voidfit(torch::Tensor & X_, torch::Tensor & y_, const std::vector<std::string> & features_, const std::string & className_, std::map<std::string,std::vector<int>> & states_, const Smoothing_t smoothing) : AODELd &graph(const std::string & name = "AODELd") const : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidbayesnet::(anonymous_60275628)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60276282)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::BoostA2DEBoostA2DE(bool predict_voting = false) : void~BoostA2DE() = default : voidgraph(const std::string & title = "BoostA2DE") const : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidbayesnet::(anonymous_60275502)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60276156)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::BoostAODEBoostAODE(bool predict_voting = false) : void~BoostAODE() = default : voidgraph(const std::string & title = "BoostAODE") const : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidbayesnet::CFSCFS(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights) : void~CFS() : voidfit() : voidbayesnet::FCBFFCBF(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights, const double threshold) : void~FCBF() : voidfit() : voidbayesnet::IWSSIWSS(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights, const double threshold) : void~IWSS() : voidfit() : voidbayesnet::(anonymous_60730495)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60731150)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::(anonymous_60653004)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60653658)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::(anonymous_60731375)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60732030)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::MSTMST() = default : voidMST(const std::vector<std::string> & features, const torch::Tensor & weights, const int root) : voidinsertElement(std::list<int> & variables, int variable) : voidmaximumSpanningTree() : std::vector<std::pair<int,int>>reorder(std::vector<std::pair<float,std::pair<int,int>>> T, int root_original) : std::vector<std::pair<int,int>>bayesnet::GraphGraph(int V) : voidaddEdge(int u, int v, float wt) : voidfind_set(int i) : intget_mst() : std::vector<std::pair<float,std::pair<int,int>>>kruskal_algorithm() : voidunion_set(int u, int v) : voidparentschildrennodesmodelmetricsstatusmodelsfeatureSelector \ No newline at end of file +clang-uml class diagram modelclang-uml class diagram modelbayesnet::NodeNode(const std::string &) : voidaddChild(Node *) : voidaddParent(Node *) : voidclear() : voidcomputeCPT(const torch::Tensor & dataset, const std::vector<std::string> & features, const double smoothing, const torch::Tensor & weights) : voidgetCPT() : torch::Tensor &getChildren() : std::vector<Node *> &getFactorValue(std::map<std::string,int> &) : doublegetName() const : std::stringgetNumStates() const : intgetParents() : std::vector<Node *> &graph(const std::string & clasName) : std::vector<std::string>minFill() : unsigned intremoveChild(Node *) : voidremoveParent(Node *) : voidsetNumStates(int) : voidbayesnet::Smoothing_tNONEORIGINALLAPLACECESTNIKbayesnet::NetworkNetwork() : voidNetwork(const Network &) : void~Network() = default : voidaddEdge(const std::string &, const std::string &) : voidaddNode(const std::string &) : voiddump_cpt() const : std::stringfit(const torch::Tensor & samples, const torch::Tensor & weights, const std::vector<std::string> & featureNames, const std::string & className, const std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : voidfit(const torch::Tensor & X, const torch::Tensor & y, const torch::Tensor & weights, const std::vector<std::string> & featureNames, const std::string & className, const std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : voidfit(const std::vector<std::vector<int>> & input_data, const std::vector<int> & labels, const std::vector<double> & weights, const std::vector<std::string> & featureNames, const std::string & className, const std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : voidgetClassName() const : std::stringgetClassNumStates() const : intgetEdges() const : std::vector<std::pair<std::string,std::string>>getFeatures() const : std::vector<std::string>getNodes() : std::map<std::string,std::unique_ptr<Node>> &getNumEdges() const : intgetSamples() : torch::Tensor &getStates() const : intgraph(const std::string & title) const : std::vector<std::string>initialize() : voidpredict(const std::vector<std::vector<int>> &) : std::vector<int>predict(const torch::Tensor &) : torch::Tensorpredict_proba(const std::vector<std::vector<int>> &) : std::vector<std::vector<double>>predict_proba(const torch::Tensor &) : torch::Tensorpredict_tensor(const torch::Tensor & samples, const bool proba) : torch::Tensorscore(const std::vector<std::vector<int>> &, const std::vector<int> &) : doubleshow() const : std::vector<std::string>topological_sort() : std::vector<std::string>version() : std::stringbayesnet::status_tNORMALWARNINGERRORbayesnet::BaseClassifier~BaseClassifier() = default : voiddump_cpt() const = 0 : std::stringfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) = 0 : BaseClassifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) = 0 : BaseClassifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const torch::Tensor & weights, const Smoothing_t smoothing) = 0 : BaseClassifier &fit(std::vector<std::vector<int>> & X, std::vector<int> & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) = 0 : BaseClassifier &getClassNumStates() const = 0 : intgetNotes() const = 0 : std::vector<std::string>getNumberOfEdges() const = 0 : intgetNumberOfNodes() const = 0 : intgetNumberOfStates() const = 0 : intgetStatus() const = 0 : status_tgetValidHyperparameters() : std::vector<std::string> &getVersion() = 0 : std::stringgraph(const std::string & title = "") const = 0 : std::vector<std::string>predict(std::vector<std::vector<int>> & X) = 0 : std::vector<int>predict(torch::Tensor & X) = 0 : torch::Tensorpredict_proba(std::vector<std::vector<int>> & X) = 0 : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) = 0 : torch::Tensorscore(std::vector<std::vector<int>> & X, std::vector<int> & y) = 0 : floatscore(torch::Tensor & X, torch::Tensor & y) = 0 : floatsetHyperparameters(const nlohmann::json & hyperparameters) = 0 : voidshow() const = 0 : std::vector<std::string>topological_order() = 0 : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) = 0 : voidnotes : std::vector<std::string>status : status_tvalidHyperparameters : std::vector<std::string>bayesnet::MetricsMetrics() = default : voidMetrics(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int classNumStates) : voidMetrics(const std::vector<std::vector<int>> & vsamples, const std::vector<int> & labels, const std::vector<std::string> & features, const std::string & className, const int classNumStates) : voidSelectKBestWeighted(const torch::Tensor & weights, bool ascending = false, unsigned int k = 0) : std::vector<int>SelectKPairs(const torch::Tensor & weights, std::vector<int> & featuresExcluded, bool ascending = false, unsigned int k = 0) : std::vector<std::pair<int,int>>conditionalEdge(const torch::Tensor & weights) : torch::TensorconditionalEntropy(const torch::Tensor & firstFeature, const torch::Tensor & secondFeature, const torch::Tensor & labels, const torch::Tensor & weights) : doubleconditionalMutualInformation(const torch::Tensor & firstFeature, const torch::Tensor & secondFeature, const torch::Tensor & labels, const torch::Tensor & weights) : doubledoCombinations<T>(const std::vector<T> & source) : std::vector<std::pair<T, T> >entropy(const torch::Tensor & feature, const torch::Tensor & weights) : doublegetScoresKBest() const : std::vector<double>getScoresKPairs() const : std::vector<std::pair<std::pair<int,int>,double>>maximumSpanningTree(const std::vector<std::string> & features, const torch::Tensor & weights, const int root) : std::vector<std::pair<int,int>>mutualInformation(const torch::Tensor & firstFeature, const torch::Tensor & secondFeature, const torch::Tensor & weights) : doublepop_first<T>(std::vector<T> & v) : TclassName : std::stringfeatures : std::vector<std::string>samples : torch::Tensorbayesnet::ClassifierClassifier(Network model) : void~Classifier() = default : voidaddNodes() : voidbuildDataset(torch::Tensor & y) : voidbuildModel(const torch::Tensor & weights) = 0 : voidcheckFitParameters() : voiddump_cpt() const : std::stringfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : Classifier &fit(std::vector<std::vector<int>> & X, std::vector<int> & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : Classifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : Classifier &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const torch::Tensor & weights, const Smoothing_t smoothing) : Classifier &getClassNumStates() const : intgetNotes() const : std::vector<std::string>getNumberOfEdges() const : intgetNumberOfNodes() const : intgetNumberOfStates() const : intgetStatus() const : status_tgetVersion() : std::stringpredict(std::vector<std::vector<int>> & X) : std::vector<int>predict(torch::Tensor & X) : torch::Tensorpredict_proba(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) : torch::Tensorscore(torch::Tensor & X, torch::Tensor & y) : floatscore(std::vector<std::vector<int>> & X, std::vector<int> & y) : floatsetHyperparameters(const nlohmann::json & hyperparameters) : voidshow() const : std::vector<std::string>topological_order() : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidCLASSIFIER_NOT_FITTED : const std::stringclassName : std::stringdataset : torch::Tensorfeatures : std::vector<std::string>fitted : boolm : unsigned intmetrics : Metricsmodel : Networkn : unsigned intstates : std::map<std::string,std::vector<int>>bayesnet::ProposalProposal(torch::Tensor & pDataset, std::vector<std::string> & features_, std::string & className_) : void~Proposal() : voidcheckInput(const torch::Tensor & X, const torch::Tensor & y) : voidfit_local_discretization(const torch::Tensor & y) : std::map<std::string,std::vector<int>>localDiscretizationProposal(const std::map<std::string,std::vector<int>> & states, Network & model) : std::map<std::string,std::vector<int>>prepareX(torch::Tensor & X) : torch::TensorXf : torch::Tensordiscretizers : map<std::string,mdlp::CPPFImdlp *>y : torch::Tensorbayesnet::KDBKDB(int k, float theta = 0.03) : void~KDB() = default : voidadd_m_edges(int idx, std::vector<int> & S, torch::Tensor & weights) : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "KDB") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters_) : voidbayesnet::KDBLdKDBLd(int k) : void~KDBLd() = default : voidfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : KDBLd &graph(const std::string & name = "KDB") const : std::vector<std::string>predict(torch::Tensor & X) : torch::Tensorversion() : std::stringbayesnet::SPODESPODE(int root) : void~SPODE() = default : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "SPODE") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters_) : voidbayesnet::SPODELdSPODELd(int root) : void~SPODELd() = default : voidcommonFit(const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : SPODELd &fit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : SPODELd &fit(torch::Tensor & dataset, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : SPODELd &graph(const std::string & name = "SPODELd") const : std::vector<std::string>predict(torch::Tensor & X) : torch::Tensorversion() : std::stringbayesnet::SPnDESPnDE(std::vector<int> parents) : void~SPnDE() = default : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "SPnDE") const : std::vector<std::string>bayesnet::TANTAN() : void~TAN() = default : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & name = "TAN") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters_) : voidbayesnet::TANLdTANLd() : void~TANLd() = default : voidfit(torch::Tensor & X, torch::Tensor & y, const std::vector<std::string> & features, const std::string & className, std::map<std::string,std::vector<int>> & states, const Smoothing_t smoothing) : TANLd &graph(const std::string & name = "TANLd") const : std::vector<std::string>predict(torch::Tensor & X) : torch::Tensorbayesnet::XSp2deXSp2de(int spIndex1, int spIndex2) : voidbuildModel(const torch::Tensor & weights) : voidfitx(torch::Tensor & X, torch::Tensor & y, torch::Tensor & weights_, const Smoothing_t smoothing) : voidgetClassNumStates() const : intgetNFeatures() const : intgetNumberOfEdges() const : intgetNumberOfNodes() const : intgetNumberOfStates() const : intgraph(const std::string & title) const : std::vector<std::string>predict(const std::vector<int> & instance) const : intpredict(std::vector<std::vector<int>> & test_data) : std::vector<int>predict(torch::Tensor & X) : torch::Tensorpredict_proba(const std::vector<int> & instance) const : std::vector<double>predict_proba(std::vector<std::vector<int>> & test_data) : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) : torch::Tensorscore(std::vector<std::vector<int>> & X, std::vector<int> & y) : floatscore(torch::Tensor & X, torch::Tensor & y) : floatsetHyperparameters(const nlohmann::json & hyperparameters_) : voidto_string() const : std::stringtrainModel(const torch::Tensor & weights, const bayesnet::Smoothing_t smoothing) : voidbayesnet::XSpodeXSpode(int spIndex) : voidbuildModel(const torch::Tensor & weights) : voidfitx(torch::Tensor & X, torch::Tensor & y, torch::Tensor & weights_, const Smoothing_t smoothing) : voidgetClassNumStates() const : intgetNFeatures() const : intgetNumberOfEdges() const : intgetNumberOfNodes() const : intgetNumberOfStates() const : intgetStates() : std::vector<int> &graph(const std::string & title) const : std::vector<std::string>normalize(std::vector<double> & v) const : voidpredict(const std::vector<int> & instance) const : intpredict(std::vector<std::vector<int>> & X) : std::vector<int>predict(torch::Tensor & X) : torch::Tensorpredict_proba(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) : torch::Tensorpredict_proba(const std::vector<int> & instance) const : std::vector<double>score(torch::Tensor & X, torch::Tensor & y) : floatscore(std::vector<std::vector<int>> & X, std::vector<int> & y) : floatsetHyperparameters(const nlohmann::json & hyperparameters_) : voidto_string() const : std::stringtrainModel(const torch::Tensor & weights, const bayesnet::Smoothing_t smoothing) : voidbayesnet::TensorUtilsto_matrix(const torch::Tensor & X) : std::vector<std::vector<int>>to_vector<T>(const torch::Tensor & y) : std::vector<T>bayesnet::EnsembleEnsemble(bool predict_voting = true) : void~Ensemble() = default : voidcompute_arg_max(std::vector<std::vector<double>> & X) : std::vector<int>compute_arg_max(torch::Tensor & X) : torch::Tensordump_cpt() const : std::stringgetNumberOfEdges() const : intgetNumberOfNodes() const : intgetNumberOfStates() const : intgraph(const std::string & title) const : std::vector<std::string>predict(std::vector<std::vector<int>> & X) : std::vector<int>predict(torch::Tensor & X) : torch::Tensorpredict_average_proba(torch::Tensor & X) : torch::Tensorpredict_average_proba(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_average_voting(torch::Tensor & X) : torch::Tensorpredict_average_voting(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_proba(std::vector<std::vector<int>> & X) : std::vector<std::vector<double>>predict_proba(torch::Tensor & X) : torch::Tensorscore(std::vector<std::vector<int>> & X, std::vector<int> & y) : floatscore(torch::Tensor & X, torch::Tensor & y) : floatshow() const : std::vector<std::string>topological_order() : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidvoting(torch::Tensor & votes) : torch::Tensormodels : std::vector<std::unique_ptr<Classifier>>n_models : unsigned intpredict_voting : boolsignificanceModels : std::vector<double>bayesnet::A2DEA2DE(bool predict_voting = false) : void~A2DE() : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & title = "A2DE") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters) : voidbayesnet::AODEAODE(bool predict_voting = false) : void~AODE() : voidbuildModel(const torch::Tensor & weights) : voidgraph(const std::string & title = "AODE") const : std::vector<std::string>setHyperparameters(const nlohmann::json & hyperparameters) : voidbayesnet::AODELdAODELd(bool predict_voting = true) : void~AODELd() = default : voidbuildModel(const torch::Tensor & weights) : voidfit(torch::Tensor & X_, torch::Tensor & y_, const std::vector<std::string> & features_, const std::string & className_, std::map<std::string,std::vector<int>> & states_, const Smoothing_t smoothing) : AODELd &graph(const std::string & name = "AODELd") const : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidbayesnet::FeatureSelectFeatureSelect(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights) : void~FeatureSelect() : voidcomputeMeritCFS() : doublecomputeSuFeatures(const int a, const int b) : doublecomputeSuLabels() : voidfit() = 0 : voidgetFeatures() const : std::vector<int>getScores() const : std::vector<double>initialize() : voidsymmetricalUncertainty(int a, int b) : doublefitted : boolmaxFeatures : intselectedFeatures : std::vector<int>selectedScores : std::vector<double>suFeatures : std::map<std::pair<int,int>,double>suLabels : std::vector<double>weights : const torch::Tensor &bayesnet::(anonymous_60357672)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60358326)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::BoostBoost(bool predict_voting = false) : void~Boost() = default : voidadd_model(std::unique_ptr<Classifier> model, double significance) : voidbuildModel(const torch::Tensor & weights) : voidfeatureSelection(torch::Tensor & weights_) : std::vector<int>remove_last_model() : voidsetHyperparameters(const nlohmann::json & hyperparameters_) : voidupdate_weights(torch::Tensor & ytrain, torch::Tensor & ypred, torch::Tensor & weights) : std::tuple<torch::Tensor &,double,bool>update_weights_block(int k, torch::Tensor & ytrain, torch::Tensor & weights) : std::tuple<torch::Tensor &,double,bool>X_test : torch::TensorX_train : torch::Tensoralpha_block : boolbisection : boolblock_update : boolconvergence : boolconvergence_best : boolfeatureSelector : FeatureSelect *maxTolerance : intorder_algorithm : std::stringselectFeatures : boolselect_features_algorithm : std::stringthreshold : doubley_test : torch::Tensory_train : torch::Tensorbayesnet::BoostA2DEBoostA2DE(bool predict_voting = false) : void~BoostA2DE() = default : voidgraph(const std::string & title = "BoostA2DE") const : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidbayesnet::(anonymous_60425028)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60425682)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::BoostAODEBoostAODE(bool predict_voting = false) : void~BoostAODE() = default : voidgraph(const std::string & title = "BoostAODE") const : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidbayesnet::XBA2DEXBA2DE(bool predict_voting = false) : void~XBA2DE() = default : voidgetVersion() : std::stringgraph(const std::string & title = "XBA2DE") const : std::vector<std::string>trainModel(const torch::Tensor & weights, const Smoothing_t smoothing) : voidbayesnet::(anonymous_60414016)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60414670)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::XBAODEXBAODE() : voidgetVersion() : std::stringtrainModel(const torch::Tensor & weights, const bayesnet::Smoothing_t smoothing) : voidbayesnet::CFSCFS(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights) : void~CFS() : voidfit() : voidbayesnet::FCBFFCBF(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights, const double threshold) : void~FCBF() : voidfit() : voidbayesnet::IWSSIWSS(const torch::Tensor & samples, const std::vector<std::string> & features, const std::string & className, const int maxFeatures, const int classNumStates, const torch::Tensor & weights, const double threshold) : void~IWSS() : voidfit() : voidbayesnet::(anonymous_60810808)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60811462)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::(anonymous_60804220)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60804874)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::(anonymous_60809706)CFS : std::stringFCBF : std::stringIWSS : std::stringbayesnet::(anonymous_60810360)ASC : std::stringDESC : std::stringRAND : std::stringbayesnet::MSTMST() = default : voidMST(const std::vector<std::string> & features, const torch::Tensor & weights, const int root) : voidinsertElement(std::list<int> & variables, int variable) : voidmaximumSpanningTree() : std::vector<std::pair<int,int>>reorder(std::vector<std::pair<float,std::pair<int,int>>> T, int root_original) : std::vector<std::pair<int,int>>bayesnet::GraphGraph(int V) : voidaddEdge(int u, int v, float wt) : voidfind_set(int i) : intget_mst() : std::vector<std::pair<float,std::pair<int,int>>>kruskal_algorithm() : voidunion_set(int u, int v) : voidparentschildrennodesstatusmodelmetricsmodelsfeatureSelector \ No newline at end of file