From d43be278211a366ca3ddc7c678bf6d66d7b95e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Montan=CC=83ana?= Date: Wed, 22 May 2024 10:17:49 +0200 Subject: [PATCH] Remove manual and doc pages --- CMakeLists.txt | 16 +- docs/{Doxyfile => Doxyfile.in} | 0 docs/man3/bayesnet_A2DE.3 | 257 -- docs/man3/bayesnet_AODE.3 | 257 -- docs/man3/bayesnet_AODELd.3 | 296 --- docs/man3/bayesnet_BaseClassifier.3 | 116 - docs/man3/bayesnet_Boost.3 | 369 --- docs/man3/bayesnet_BoostA2DE.3 | 316 --- docs/man3/bayesnet_BoostAODE.3 | 316 --- docs/man3/bayesnet_Classifier.3 | 360 --- docs/man3/bayesnet_Ensemble.3 | 348 --- docs/man3/bayesnet_KDB.3 | 201 -- docs/man3/bayesnet_KDBLd.3 | 254 -- docs/man3/bayesnet_Network.3 | 223 -- docs/man3/bayesnet_Node.3 | 135 - docs/man3/bayesnet_Proposal.3 | 95 - docs/man3/bayesnet_SPODE.3 | 195 -- docs/man3/bayesnet_SPODELd.3 | 268 -- docs/man3/bayesnet_SPnDE.3 | 193 -- docs/man3/bayesnet_TAN.3 | 192 -- docs/man3/bayesnet_TANLd.3 | 244 -- docs/manual/_a2_d_e_8cc_source.html | 154 -- docs/manual/_a2_d_e_8h_source.html | 140 - docs/manual/_a_o_d_e_8cc_source.html | 152 -- docs/manual/_a_o_d_e_8h_source.html | 140 - docs/manual/_a_o_d_e_ld_8cc_source.html | 161 -- docs/manual/_a_o_d_e_ld_8h_source.html | 144 -- docs/manual/_base_classifier_8h_source.html | 162 -- docs/manual/_boost_8cc_source.html | 360 --- docs/manual/_boost_8h_source.html | 170 -- docs/manual/_boost_a2_d_e_8cc_source.html | 281 --- docs/manual/_boost_a2_d_e_8h_source.html | 143 -- docs/manual/_boost_a_o_d_e_8cc_source.html | 275 -- docs/manual/_boost_a_o_d_e_8h_source.html | 144 -- docs/manual/_classifier_8cc_source.html | 308 --- docs/manual/_classifier_8h_source.html | 184 -- docs/manual/_ensemble_8cc_source.html | 336 --- docs/manual/_ensemble_8h_source.html | 171 -- docs/manual/_k_d_b_8cc_source.html | 225 -- docs/manual/_k_d_b_8h_source.html | 145 -- docs/manual/_k_d_b_ld_8cc_source.html | 149 -- docs/manual/_k_d_b_ld_8h_source.html | 143 -- docs/manual/_network_8cc_source.html | 543 ---- docs/manual/_network_8h_source.html | 186 -- docs/manual/_node_8cc_source.html | 254 -- docs/manual/_node_8h_source.html | 159 -- docs/manual/_proposal_8cc_source.html | 243 -- docs/manual/_proposal_8h_source.html | 155 -- docs/manual/_s_p_o_d_e_8cc_source.html | 145 -- docs/manual/_s_p_o_d_e_8h_source.html | 141 -- docs/manual/_s_p_o_d_e_ld_8cc_source.html | 164 -- docs/manual/_s_p_o_d_e_ld_8h_source.html | 144 -- docs/manual/_s_pn_d_e_8cc_source.html | 152 -- docs/manual/_s_pn_d_e_8h_source.html | 144 -- docs/manual/_t_a_n_8cc_source.html | 159 -- docs/manual/_t_a_n_8h_source.html | 139 - docs/manual/_t_a_n_ld_8cc_source.html | 150 -- docs/manual/_t_a_n_ld_8h_source.html | 143 -- docs/manual/annotated.html | 137 - docs/manual/annotated_dup.js | 24 - docs/manual/bc_s.png | Bin 676 -> 0 bytes docs/manual/bc_sd.png | Bin 635 -> 0 bytes .../classbayesnet_1_1_a2_d_e-members.html | 174 -- docs/manual/classbayesnet_1_1_a2_d_e.html | 420 --- .../classbayesnet_1_1_a2_d_e__coll__graph.map | 11 - .../classbayesnet_1_1_a2_d_e__coll__graph.md5 | 1 - .../classbayesnet_1_1_a2_d_e__coll__graph.png | Bin 13836 -> 0 bytes ...assbayesnet_1_1_a2_d_e__inherit__graph.map | 9 - ...assbayesnet_1_1_a2_d_e__inherit__graph.md5 | 1 - ...assbayesnet_1_1_a2_d_e__inherit__graph.png | Bin 9888 -> 0 bytes .../classbayesnet_1_1_a_o_d_e-members.html | 174 -- docs/manual/classbayesnet_1_1_a_o_d_e.html | 420 --- ...classbayesnet_1_1_a_o_d_e__coll__graph.map | 11 - ...classbayesnet_1_1_a_o_d_e__coll__graph.md5 | 1 - ...classbayesnet_1_1_a_o_d_e__coll__graph.png | Bin 13955 -> 0 bytes ...ssbayesnet_1_1_a_o_d_e__inherit__graph.map | 9 - ...ssbayesnet_1_1_a_o_d_e__inherit__graph.md5 | 1 - ...ssbayesnet_1_1_a_o_d_e__inherit__graph.png | Bin 10014 -> 0 bytes .../classbayesnet_1_1_a_o_d_e_ld-members.html | 184 -- docs/manual/classbayesnet_1_1_a_o_d_e_ld.html | 464 ---- ...ssbayesnet_1_1_a_o_d_e_ld__coll__graph.map | 13 - ...ssbayesnet_1_1_a_o_d_e_ld__coll__graph.md5 | 1 - ...ssbayesnet_1_1_a_o_d_e_ld__coll__graph.png | Bin 16871 -> 0 bytes ...ayesnet_1_1_a_o_d_e_ld__inherit__graph.map | 11 - ...ayesnet_1_1_a_o_d_e_ld__inherit__graph.md5 | 1 - ...ayesnet_1_1_a_o_d_e_ld__inherit__graph.png | Bin 13060 -> 0 bytes ...sbayesnet_1_1_base_classifier-members.html | 142 -- .../classbayesnet_1_1_base_classifier.html | 299 --- ...et_1_1_base_classifier__inherit__graph.map | 33 - ...et_1_1_base_classifier__inherit__graph.md5 | 1 - ...et_1_1_base_classifier__inherit__graph.png | Bin 43173 -> 0 bytes .../classbayesnet_1_1_boost-members.html | 191 -- docs/manual/classbayesnet_1_1_boost.html | 845 ------- .../classbayesnet_1_1_boost__coll__graph.map | 11 - .../classbayesnet_1_1_boost__coll__graph.md5 | 1 - .../classbayesnet_1_1_boost__coll__graph.png | Bin 13587 -> 0 bytes ...lassbayesnet_1_1_boost__inherit__graph.map | 13 - ...lassbayesnet_1_1_boost__inherit__graph.md5 | 1 - ...lassbayesnet_1_1_boost__inherit__graph.png | Bin 15507 -> 0 bytes ...lassbayesnet_1_1_boost_a2_d_e-members.html | 193 -- .../classbayesnet_1_1_boost_a2_d_e.html | 417 --- ...bayesnet_1_1_boost_a2_d_e__coll__graph.map | 13 - ...bayesnet_1_1_boost_a2_d_e__coll__graph.md5 | 1 - ...bayesnet_1_1_boost_a2_d_e__coll__graph.png | Bin 16762 -> 0 bytes ...esnet_1_1_boost_a2_d_e__inherit__graph.map | 11 - ...esnet_1_1_boost_a2_d_e__inherit__graph.md5 | 1 - ...esnet_1_1_boost_a2_d_e__inherit__graph.png | Bin 12635 -> 0 bytes ...assbayesnet_1_1_boost_a_o_d_e-members.html | 193 -- .../classbayesnet_1_1_boost_a_o_d_e.html | 417 --- ...ayesnet_1_1_boost_a_o_d_e__coll__graph.map | 13 - ...ayesnet_1_1_boost_a_o_d_e__coll__graph.md5 | 1 - ...ayesnet_1_1_boost_a_o_d_e__coll__graph.png | Bin 16880 -> 0 bytes ...snet_1_1_boost_a_o_d_e__inherit__graph.map | 11 - ...snet_1_1_boost_a_o_d_e__inherit__graph.md5 | 1 - ...snet_1_1_boost_a_o_d_e__inherit__graph.png | Bin 12761 -> 0 bytes .../classbayesnet_1_1_classifier-members.html | 159 -- docs/manual/classbayesnet_1_1_classifier.html | 1348 ---------- ...ssbayesnet_1_1_classifier__coll__graph.map | 7 - ...ssbayesnet_1_1_classifier__coll__graph.md5 | 1 - ...ssbayesnet_1_1_classifier__coll__graph.png | Bin 8752 -> 0 bytes ...ayesnet_1_1_classifier__inherit__graph.map | 33 - ...ayesnet_1_1_classifier__inherit__graph.md5 | 1 - ...ayesnet_1_1_classifier__inherit__graph.png | Bin 43117 -> 0 bytes .../classbayesnet_1_1_ensemble-members.html | 172 -- docs/manual/classbayesnet_1_1_ensemble.html | 1007 -------- ...lassbayesnet_1_1_ensemble__coll__graph.map | 9 - ...lassbayesnet_1_1_ensemble__coll__graph.md5 | 1 - ...lassbayesnet_1_1_ensemble__coll__graph.png | Bin 11121 -> 0 bytes ...sbayesnet_1_1_ensemble__inherit__graph.map | 19 - ...sbayesnet_1_1_ensemble__inherit__graph.md5 | 1 - ...sbayesnet_1_1_ensemble__inherit__graph.png | Bin 22170 -> 0 bytes .../classbayesnet_1_1_k_d_b-members.html | 161 -- docs/manual/classbayesnet_1_1_k_d_b.html | 372 --- .../classbayesnet_1_1_k_d_b__coll__graph.map | 9 - .../classbayesnet_1_1_k_d_b__coll__graph.md5 | 1 - .../classbayesnet_1_1_k_d_b__coll__graph.png | Bin 11240 -> 0 bytes ...lassbayesnet_1_1_k_d_b__inherit__graph.map | 9 - ...lassbayesnet_1_1_k_d_b__inherit__graph.md5 | 1 - ...lassbayesnet_1_1_k_d_b__inherit__graph.png | Bin 10088 -> 0 bytes .../classbayesnet_1_1_k_d_b_ld-members.html | 174 -- docs/manual/classbayesnet_1_1_k_d_b_ld.html | 445 ---- ...lassbayesnet_1_1_k_d_b_ld__coll__graph.map | 13 - ...lassbayesnet_1_1_k_d_b_ld__coll__graph.md5 | 1 - ...lassbayesnet_1_1_k_d_b_ld__coll__graph.png | Bin 16788 -> 0 bytes ...sbayesnet_1_1_k_d_b_ld__inherit__graph.map | 11 - ...sbayesnet_1_1_k_d_b_ld__inherit__graph.md5 | 1 - ...sbayesnet_1_1_k_d_b_ld__inherit__graph.png | Bin 12914 -> 0 bytes .../classbayesnet_1_1_network-members.html | 146 -- docs/manual/classbayesnet_1_1_network.html | 840 ------ .../classbayesnet_1_1_node-members.html | 132 - docs/manual/classbayesnet_1_1_node.html | 488 ---- .../classbayesnet_1_1_proposal-members.html | 125 - docs/manual/classbayesnet_1_1_proposal.html | 414 --- ...sbayesnet_1_1_proposal__inherit__graph.map | 11 - ...sbayesnet_1_1_proposal__inherit__graph.md5 | 1 - ...sbayesnet_1_1_proposal__inherit__graph.png | Bin 11225 -> 0 bytes .../classbayesnet_1_1_s_p_o_d_e-members.html | 161 -- docs/manual/classbayesnet_1_1_s_p_o_d_e.html | 339 --- ...assbayesnet_1_1_s_p_o_d_e__coll__graph.map | 9 - ...assbayesnet_1_1_s_p_o_d_e__coll__graph.md5 | 1 - ...assbayesnet_1_1_s_p_o_d_e__coll__graph.png | Bin 11682 -> 0 bytes ...bayesnet_1_1_s_p_o_d_e__inherit__graph.map | 9 - ...bayesnet_1_1_s_p_o_d_e__inherit__graph.md5 | 1 - ...bayesnet_1_1_s_p_o_d_e__inherit__graph.png | Bin 10920 -> 0 bytes ...lassbayesnet_1_1_s_p_o_d_e_ld-members.html | 176 -- .../classbayesnet_1_1_s_p_o_d_e_ld.html | 518 ---- ...bayesnet_1_1_s_p_o_d_e_ld__coll__graph.map | 13 - ...bayesnet_1_1_s_p_o_d_e_ld__coll__graph.md5 | 1 - ...bayesnet_1_1_s_p_o_d_e_ld__coll__graph.png | Bin 17423 -> 0 bytes ...esnet_1_1_s_p_o_d_e_ld__inherit__graph.map | 11 - ...esnet_1_1_s_p_o_d_e_ld__inherit__graph.md5 | 1 - ...esnet_1_1_s_p_o_d_e_ld__inherit__graph.png | Bin 13621 -> 0 bytes .../classbayesnet_1_1_s_pn_d_e-members.html | 161 -- docs/manual/classbayesnet_1_1_s_pn_d_e.html | 337 --- ...lassbayesnet_1_1_s_pn_d_e__coll__graph.map | 9 - ...lassbayesnet_1_1_s_pn_d_e__coll__graph.md5 | 1 - ...lassbayesnet_1_1_s_pn_d_e__coll__graph.png | Bin 11430 -> 0 bytes ...sbayesnet_1_1_s_pn_d_e__inherit__graph.map | 7 - ...sbayesnet_1_1_s_pn_d_e__inherit__graph.md5 | 1 - ...sbayesnet_1_1_s_pn_d_e__inherit__graph.png | Bin 7614 -> 0 bytes .../classbayesnet_1_1_t_a_n-members.html | 161 -- docs/manual/classbayesnet_1_1_t_a_n.html | 329 --- .../classbayesnet_1_1_t_a_n__coll__graph.map | 9 - .../classbayesnet_1_1_t_a_n__coll__graph.md5 | 1 - .../classbayesnet_1_1_t_a_n__coll__graph.png | Bin 11120 -> 0 bytes ...lassbayesnet_1_1_t_a_n__inherit__graph.map | 9 - ...lassbayesnet_1_1_t_a_n__inherit__graph.md5 | 1 - ...lassbayesnet_1_1_t_a_n__inherit__graph.png | Bin 9898 -> 0 bytes .../classbayesnet_1_1_t_a_n_ld-members.html | 174 -- docs/manual/classbayesnet_1_1_t_a_n_ld.html | 432 ---- ...lassbayesnet_1_1_t_a_n_ld__coll__graph.map | 13 - ...lassbayesnet_1_1_t_a_n_ld__coll__graph.md5 | 1 - ...lassbayesnet_1_1_t_a_n_ld__coll__graph.png | Bin 16530 -> 0 bytes ...sbayesnet_1_1_t_a_n_ld__inherit__graph.map | 11 - ...sbayesnet_1_1_t_a_n_ld__inherit__graph.md5 | 1 - ...sbayesnet_1_1_t_a_n_ld__inherit__graph.png | Bin 12664 -> 0 bytes docs/manual/classes.html | 143 -- docs/manual/clipboard.js | 61 - docs/manual/closed.png | Bin 132 -> 0 bytes docs/manual/cookie.js | 58 - .../dir_2f68445c4ac4316280c650d0a13b2741.html | 155 -- .../dir_2f68445c4ac4316280c650d0a13b2741.js | 17 - ...r_2f68445c4ac4316280c650d0a13b2741_dep.map | 4 - ...r_2f68445c4ac4316280c650d0a13b2741_dep.md5 | 1 - ...r_2f68445c4ac4316280c650d0a13b2741_dep.png | Bin 2616 -> 0 bytes .../dir_40070fdff85d618b4d1d3ab4ac4f79bb.html | 129 - .../dir_40070fdff85d618b4d1d3ab4ac4f79bb.js | 7 - .../dir_520a649ed2b1c3b658a695aeefe46a5a.html | 163 -- .../dir_520a649ed2b1c3b658a695aeefe46a5a.js | 21 - ...r_520a649ed2b1c3b658a695aeefe46a5a_dep.map | 4 - ...r_520a649ed2b1c3b658a695aeefe46a5a_dep.md5 | 1 - ...r_520a649ed2b1c3b658a695aeefe46a5a_dep.png | Bin 2868 -> 0 bytes .../dir_efcd97b18bba957e8e278307db4f845a.html | 135 - .../dir_efcd97b18bba957e8e278307db4f845a.js | 7 - ...r_efcd97b18bba957e8e278307db4f845a_dep.map | 4 - ...r_efcd97b18bba957e8e278307db4f845a_dep.md5 | 1 - ...r_efcd97b18bba957e8e278307db4f845a_dep.png | Bin 2778 -> 0 bytes docs/manual/doc.svg | 12 - docs/manual/docd.svg | 12 - docs/manual/doxygen.css | 2244 ----------------- docs/manual/doxygen.svg | 28 - docs/manual/doxygen_crawl.html | 163 -- docs/manual/dynsections.js | 205 -- docs/manual/files.html | 158 -- docs/manual/files_dup.js | 4 - docs/manual/folderclosed.svg | 11 - docs/manual/folderclosedd.svg | 11 - docs/manual/folderopen.svg | 17 - docs/manual/folderopend.svg | 12 - docs/manual/graph_legend.html | 173 -- docs/manual/graph_legend.md5 | 1 - docs/manual/graph_legend.png | Bin 22891 -> 0 bytes docs/manual/hierarchy.html | 142 -- docs/manual/hierarchy.js | 34 - docs/manual/index.html | 114 - docs/manual/inherit_graph_0.map | 38 - docs/manual/inherit_graph_0.md5 | 1 - docs/manual/inherit_graph_0.png | Bin 44422 -> 0 bytes docs/manual/inherit_graph_1.map | 3 - docs/manual/inherit_graph_1.md5 | 1 - docs/manual/inherit_graph_1.png | Bin 2310 -> 0 bytes docs/manual/inherit_graph_2.map | 3 - docs/manual/inherit_graph_2.md5 | 1 - docs/manual/inherit_graph_2.png | Bin 2036 -> 0 bytes docs/manual/inherits.html | 167 -- docs/manual/jquery.js | 34 - docs/manual/logo_small.png | Bin 10855 -> 0 bytes docs/manual/menu.js | 134 - docs/manual/menudata.js | 32 - docs/manual/minus.svg | 8 - docs/manual/minusd.svg | 8 - docs/manual/nav_f.png | Bin 153 -> 0 bytes docs/manual/nav_fd.png | Bin 169 -> 0 bytes docs/manual/nav_g.png | Bin 95 -> 0 bytes docs/manual/nav_h.png | Bin 98 -> 0 bytes docs/manual/nav_hd.png | Bin 114 -> 0 bytes docs/manual/navtree.css | 149 -- docs/manual/navtree.js | 483 ---- docs/manual/navtreedata.js | 45 - docs/manual/navtreeindex0.js | 69 - docs/manual/open.png | Bin 123 -> 0 bytes docs/manual/plus.svg | 9 - docs/manual/plusd.svg | 9 - docs/manual/resize.js | 145 -- docs/manual/search/all_0.js | 6 - docs/manual/search/all_1.js | 7 - docs/manual/search/all_2.js | 4 - docs/manual/search/all_3.js | 4 - docs/manual/search/all_4.js | 5 - docs/manual/search/all_5.js | 5 - docs/manual/search/all_6.js | 4 - docs/manual/search/all_7.js | 6 - docs/manual/search/all_8.js | 5 - docs/manual/search/classes_0.js | 6 - docs/manual/search/classes_1.js | 7 - docs/manual/search/classes_2.js | 4 - docs/manual/search/classes_3.js | 4 - docs/manual/search/classes_4.js | 5 - docs/manual/search/classes_5.js | 5 - docs/manual/search/classes_6.js | 4 - docs/manual/search/classes_7.js | 6 - docs/manual/search/classes_8.js | 5 - docs/manual/search/close.svg | 18 - docs/manual/search/mag.svg | 24 - docs/manual/search/mag_d.svg | 24 - docs/manual/search/mag_sel.svg | 31 - docs/manual/search/mag_seld.svg | 31 - docs/manual/search/search.css | 291 --- docs/manual/search/search.js | 694 ----- docs/manual/search/searchdata.js | 18 - docs/manual/splitbar.png | Bin 314 -> 0 bytes docs/manual/splitbard.png | Bin 282 -> 0 bytes docs/manual/sync_off.png | Bin 853 -> 0 bytes docs/manual/sync_on.png | Bin 845 -> 0 bytes docs/manual/tab_a.png | Bin 142 -> 0 bytes docs/manual/tab_ad.png | Bin 135 -> 0 bytes docs/manual/tab_b.png | Bin 169 -> 0 bytes docs/manual/tab_bd.png | Bin 173 -> 0 bytes docs/manual/tab_h.png | Bin 177 -> 0 bytes docs/manual/tab_hd.png | Bin 180 -> 0 bytes docs/manual/tab_s.png | Bin 184 -> 0 bytes docs/manual/tab_sd.png | Bin 188 -> 0 bytes docs/manual/tabs.css | 1 - 303 files changed, 15 insertions(+), 32446 deletions(-) rename docs/{Doxyfile => Doxyfile.in} (100%) delete mode 100644 docs/man3/bayesnet_A2DE.3 delete mode 100644 docs/man3/bayesnet_AODE.3 delete mode 100644 docs/man3/bayesnet_AODELd.3 delete mode 100644 docs/man3/bayesnet_BaseClassifier.3 delete mode 100644 docs/man3/bayesnet_Boost.3 delete mode 100644 docs/man3/bayesnet_BoostA2DE.3 delete mode 100644 docs/man3/bayesnet_BoostAODE.3 delete mode 100644 docs/man3/bayesnet_Classifier.3 delete mode 100644 docs/man3/bayesnet_Ensemble.3 delete mode 100644 docs/man3/bayesnet_KDB.3 delete mode 100644 docs/man3/bayesnet_KDBLd.3 delete mode 100644 docs/man3/bayesnet_Network.3 delete mode 100644 docs/man3/bayesnet_Node.3 delete mode 100644 docs/man3/bayesnet_Proposal.3 delete mode 100644 docs/man3/bayesnet_SPODE.3 delete mode 100644 docs/man3/bayesnet_SPODELd.3 delete mode 100644 docs/man3/bayesnet_SPnDE.3 delete mode 100644 docs/man3/bayesnet_TAN.3 delete mode 100644 docs/man3/bayesnet_TANLd.3 delete mode 100644 docs/manual/_a2_d_e_8cc_source.html delete mode 100644 docs/manual/_a2_d_e_8h_source.html delete mode 100644 docs/manual/_a_o_d_e_8cc_source.html delete mode 100644 docs/manual/_a_o_d_e_8h_source.html delete mode 100644 docs/manual/_a_o_d_e_ld_8cc_source.html delete mode 100644 docs/manual/_a_o_d_e_ld_8h_source.html delete mode 100644 docs/manual/_base_classifier_8h_source.html delete mode 100644 docs/manual/_boost_8cc_source.html delete mode 100644 docs/manual/_boost_8h_source.html delete mode 100644 docs/manual/_boost_a2_d_e_8cc_source.html delete mode 100644 docs/manual/_boost_a2_d_e_8h_source.html delete mode 100644 docs/manual/_boost_a_o_d_e_8cc_source.html delete mode 100644 docs/manual/_boost_a_o_d_e_8h_source.html delete mode 100644 docs/manual/_classifier_8cc_source.html delete mode 100644 docs/manual/_classifier_8h_source.html delete mode 100644 docs/manual/_ensemble_8cc_source.html delete mode 100644 docs/manual/_ensemble_8h_source.html delete mode 100644 docs/manual/_k_d_b_8cc_source.html delete mode 100644 docs/manual/_k_d_b_8h_source.html delete mode 100644 docs/manual/_k_d_b_ld_8cc_source.html delete mode 100644 docs/manual/_k_d_b_ld_8h_source.html delete mode 100644 docs/manual/_network_8cc_source.html delete mode 100644 docs/manual/_network_8h_source.html delete mode 100644 docs/manual/_node_8cc_source.html delete mode 100644 docs/manual/_node_8h_source.html delete mode 100644 docs/manual/_proposal_8cc_source.html delete mode 100644 docs/manual/_proposal_8h_source.html delete mode 100644 docs/manual/_s_p_o_d_e_8cc_source.html delete mode 100644 docs/manual/_s_p_o_d_e_8h_source.html delete mode 100644 docs/manual/_s_p_o_d_e_ld_8cc_source.html delete mode 100644 docs/manual/_s_p_o_d_e_ld_8h_source.html delete mode 100644 docs/manual/_s_pn_d_e_8cc_source.html delete mode 100644 docs/manual/_s_pn_d_e_8h_source.html delete mode 100644 docs/manual/_t_a_n_8cc_source.html delete mode 100644 docs/manual/_t_a_n_8h_source.html delete mode 100644 docs/manual/_t_a_n_ld_8cc_source.html delete mode 100644 docs/manual/_t_a_n_ld_8h_source.html delete mode 100644 docs/manual/annotated.html delete mode 100644 docs/manual/annotated_dup.js delete mode 100644 docs/manual/bc_s.png delete mode 100644 docs/manual/bc_sd.png delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e-members.html delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e.html delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e-members.html delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e.html delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld-members.html delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld.html delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_base_classifier-members.html delete mode 100644 docs/manual/classbayesnet_1_1_base_classifier.html delete mode 100644 docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_boost-members.html delete mode 100644 docs/manual/classbayesnet_1_1_boost.html delete mode 100644 docs/manual/classbayesnet_1_1_boost__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_boost__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_boost__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_boost__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_boost__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_boost__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e-members.html delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e.html delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e-members.html delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e.html delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_classifier-members.html delete mode 100644 docs/manual/classbayesnet_1_1_classifier.html delete mode 100644 docs/manual/classbayesnet_1_1_classifier__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_classifier__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_classifier__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_classifier__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_classifier__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_classifier__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_ensemble-members.html delete mode 100644 docs/manual/classbayesnet_1_1_ensemble.html delete mode 100644 docs/manual/classbayesnet_1_1_ensemble__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_ensemble__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_ensemble__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_ensemble__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_ensemble__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_ensemble__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b-members.html delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b.html delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld-members.html delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld.html delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_network-members.html delete mode 100644 docs/manual/classbayesnet_1_1_network.html delete mode 100644 docs/manual/classbayesnet_1_1_node-members.html delete mode 100644 docs/manual/classbayesnet_1_1_node.html delete mode 100644 docs/manual/classbayesnet_1_1_proposal-members.html delete mode 100644 docs/manual/classbayesnet_1_1_proposal.html delete mode 100644 docs/manual/classbayesnet_1_1_proposal__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_proposal__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_proposal__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e-members.html delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e.html delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld-members.html delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld.html delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e-members.html delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e.html delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n-members.html delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n.html delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld-members.html delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld.html delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.png delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.map delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.md5 delete mode 100644 docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.png delete mode 100644 docs/manual/classes.html delete mode 100644 docs/manual/clipboard.js delete mode 100644 docs/manual/closed.png delete mode 100644 docs/manual/cookie.js delete mode 100644 docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.html delete mode 100644 docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.js delete mode 100644 docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.map delete mode 100644 docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.md5 delete mode 100644 docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.png delete mode 100644 docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.html delete mode 100644 docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.js delete mode 100644 docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.html delete mode 100644 docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.js delete mode 100644 docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.map delete mode 100644 docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.md5 delete mode 100644 docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.png delete mode 100644 docs/manual/dir_efcd97b18bba957e8e278307db4f845a.html delete mode 100644 docs/manual/dir_efcd97b18bba957e8e278307db4f845a.js delete mode 100644 docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.map delete mode 100644 docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.md5 delete mode 100644 docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.png delete mode 100644 docs/manual/doc.svg delete mode 100644 docs/manual/docd.svg delete mode 100644 docs/manual/doxygen.css delete mode 100644 docs/manual/doxygen.svg delete mode 100644 docs/manual/doxygen_crawl.html delete mode 100644 docs/manual/dynsections.js delete mode 100644 docs/manual/files.html delete mode 100644 docs/manual/files_dup.js delete mode 100644 docs/manual/folderclosed.svg delete mode 100644 docs/manual/folderclosedd.svg delete mode 100644 docs/manual/folderopen.svg delete mode 100644 docs/manual/folderopend.svg delete mode 100644 docs/manual/graph_legend.html delete mode 100644 docs/manual/graph_legend.md5 delete mode 100644 docs/manual/graph_legend.png delete mode 100644 docs/manual/hierarchy.html delete mode 100644 docs/manual/hierarchy.js delete mode 100644 docs/manual/index.html delete mode 100644 docs/manual/inherit_graph_0.map delete mode 100644 docs/manual/inherit_graph_0.md5 delete mode 100644 docs/manual/inherit_graph_0.png delete mode 100644 docs/manual/inherit_graph_1.map delete mode 100644 docs/manual/inherit_graph_1.md5 delete mode 100644 docs/manual/inherit_graph_1.png delete mode 100644 docs/manual/inherit_graph_2.map delete mode 100644 docs/manual/inherit_graph_2.md5 delete mode 100644 docs/manual/inherit_graph_2.png delete mode 100644 docs/manual/inherits.html delete mode 100644 docs/manual/jquery.js delete mode 100644 docs/manual/logo_small.png delete mode 100644 docs/manual/menu.js delete mode 100644 docs/manual/menudata.js delete mode 100644 docs/manual/minus.svg delete mode 100644 docs/manual/minusd.svg delete mode 100644 docs/manual/nav_f.png delete mode 100644 docs/manual/nav_fd.png delete mode 100644 docs/manual/nav_g.png delete mode 100644 docs/manual/nav_h.png delete mode 100644 docs/manual/nav_hd.png delete mode 100644 docs/manual/navtree.css delete mode 100644 docs/manual/navtree.js delete mode 100644 docs/manual/navtreedata.js delete mode 100644 docs/manual/navtreeindex0.js delete mode 100644 docs/manual/open.png delete mode 100644 docs/manual/plus.svg delete mode 100644 docs/manual/plusd.svg delete mode 100644 docs/manual/resize.js delete mode 100644 docs/manual/search/all_0.js delete mode 100644 docs/manual/search/all_1.js delete mode 100644 docs/manual/search/all_2.js delete mode 100644 docs/manual/search/all_3.js delete mode 100644 docs/manual/search/all_4.js delete mode 100644 docs/manual/search/all_5.js delete mode 100644 docs/manual/search/all_6.js delete mode 100644 docs/manual/search/all_7.js delete mode 100644 docs/manual/search/all_8.js delete mode 100644 docs/manual/search/classes_0.js delete mode 100644 docs/manual/search/classes_1.js delete mode 100644 docs/manual/search/classes_2.js delete mode 100644 docs/manual/search/classes_3.js delete mode 100644 docs/manual/search/classes_4.js delete mode 100644 docs/manual/search/classes_5.js delete mode 100644 docs/manual/search/classes_6.js delete mode 100644 docs/manual/search/classes_7.js delete mode 100644 docs/manual/search/classes_8.js delete mode 100644 docs/manual/search/close.svg delete mode 100644 docs/manual/search/mag.svg delete mode 100644 docs/manual/search/mag_d.svg delete mode 100644 docs/manual/search/mag_sel.svg delete mode 100644 docs/manual/search/mag_seld.svg delete mode 100644 docs/manual/search/search.css delete mode 100644 docs/manual/search/search.js delete mode 100644 docs/manual/search/searchdata.js delete mode 100644 docs/manual/splitbar.png delete mode 100644 docs/manual/splitbard.png delete mode 100644 docs/manual/sync_off.png delete mode 100644 docs/manual/sync_on.png delete mode 100644 docs/manual/tab_a.png delete mode 100644 docs/manual/tab_ad.png delete mode 100644 docs/manual/tab_b.png delete mode 100644 docs/manual/tab_bd.png delete mode 100644 docs/manual/tab_h.png delete mode 100644 docs/manual/tab_hd.png delete mode 100644 docs/manual/tab_s.png delete mode 100644 docs/manual/tab_sd.png delete mode 100644 docs/manual/tabs.css diff --git a/CMakeLists.txt b/CMakeLists.txt index 152447e..ffaabd6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,4 +88,18 @@ install(TARGETS BayesNet LIBRARY DESTINATION lib CONFIGURATIONS Release) install(DIRECTORY bayesnet/ DESTINATION include/bayesnet FILES_MATCHING CONFIGURATIONS Release PATTERN "*.h") -install(FILES ${CMAKE_BINARY_DIR}/configured_files/include/bayesnet/config.h DESTINATION include/bayesnet CONFIGURATIONS Release) \ No newline at end of file +install(FILES ${CMAKE_BINARY_DIR}/configured_files/include/bayesnet/config.h DESTINATION include/bayesnet CONFIGURATIONS Release) + +# Documentation +# ------------- +set(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/doxygen/Doxyfile.in) +set(doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) +configure_file(${doxyfile_in} ${doxyfile} @ONLY) + +# doc build only target, target is not in default build, so it must be +# triggered explicitly +add_custom_target(doc + COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile} + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMENT "Generating API documentation with Doxygen" + VERBATIM) \ No newline at end of file diff --git a/docs/Doxyfile b/docs/Doxyfile.in similarity index 100% rename from docs/Doxyfile rename to docs/Doxyfile.in diff --git a/docs/man3/bayesnet_A2DE.3 b/docs/man3/bayesnet_A2DE.3 deleted file mode 100644 index 6a1593f..0000000 --- a/docs/man3/bayesnet_A2DE.3 +++ /dev/null @@ -1,257 +0,0 @@ -.TH "bayesnet::A2DE" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::A2DE -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Ensemble\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBA2DE\fP (bool predict_voting=false)" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title='A2DE') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "\fBEnsemble\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBpredict_average_voting\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_voting\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_average_proba\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_proba\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBcompute_arg_max\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< int > \fBcompute_arg_max\fP (std::vector< std::vector< double > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBvoting\fP (torch::Tensor &votes)" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "unsigned \fBn_models\fP" -.br -.ti -1c -.RI "std::vector< std::unique_ptr< \fBClassifier\fP > > \fBmodels\fP" -.br -.ti -1c -.RI "std::vector< double > \fBsignificanceModels\fP" -.br -.ti -1c -.RI "bool \fBpredict_voting\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB12\fP of file \fBA2DE\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::A2DE::A2DE (bool predict_voting = \fRfalse\fP)" - -.PP -Definition at line \fB10\fP of file \fBA2DE\&.cc\fP\&. -.SS "virtual bayesnet::A2DE::~A2DE ()\fR [inline]\fP, \fR [virtual]\fP" - -.PP -Definition at line \fB15\fP of file \fBA2DE\&.h\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::A2DE::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB23\fP of file \fBA2DE\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::A2DE::graph (const std::string & title = \fR'A2DE'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB36\fP of file \fBA2DE\&.cc\fP\&. -.SS "void bayesnet::A2DE::setHyperparameters (const nlohmann::json & hyperparameters)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB14\fP of file \fBA2DE\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_AODE.3 b/docs/man3/bayesnet_AODE.3 deleted file mode 100644 index 6894802..0000000 --- a/docs/man3/bayesnet_AODE.3 +++ /dev/null @@ -1,257 +0,0 @@ -.TH "bayesnet::AODE" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::AODE -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Ensemble\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBAODE\fP (bool predict_voting=false)" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title='AODE') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "\fBEnsemble\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBpredict_average_voting\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_voting\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_average_proba\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_proba\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBcompute_arg_max\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< int > \fBcompute_arg_max\fP (std::vector< std::vector< double > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBvoting\fP (torch::Tensor &votes)" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "unsigned \fBn_models\fP" -.br -.ti -1c -.RI "std::vector< std::unique_ptr< \fBClassifier\fP > > \fBmodels\fP" -.br -.ti -1c -.RI "std::vector< double > \fBsignificanceModels\fP" -.br -.ti -1c -.RI "bool \fBpredict_voting\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB12\fP of file \fBAODE\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::AODE::AODE (bool predict_voting = \fRfalse\fP)" - -.PP -Definition at line \fB10\fP of file \fBAODE\&.cc\fP\&. -.SS "virtual bayesnet::AODE::~AODE ()\fR [inline]\fP, \fR [virtual]\fP" - -.PP -Definition at line \fB15\fP of file \fBAODE\&.h\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::AODE::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB24\fP of file \fBAODE\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::AODE::graph (const std::string & title = \fR'AODE'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB34\fP of file \fBAODE\&.cc\fP\&. -.SS "void bayesnet::AODE::setHyperparameters (const nlohmann::json & hyperparameters)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB15\fP of file \fBAODE\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_AODELd.3 b/docs/man3/bayesnet_AODELd.3 deleted file mode 100644 index a684913..0000000 --- a/docs/man3/bayesnet_AODELd.3 +++ /dev/null @@ -1,296 +0,0 @@ -.TH "bayesnet::AODELd" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::AODELd -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Ensemble\fP, and \fBbayesnet::Proposal\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBAODELd\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "\fBAODELd\fP & \fBfit\fP (torch::Tensor &X_, torch::Tensor &y_, const std::vector< std::string > &features_, const std::string &className_, map< std::string, std::vector< int > > &states_) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='AODELd') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "\fBEnsemble\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "\fBProposal\fP (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBpredict_average_voting\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_voting\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_average_proba\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_proba\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBcompute_arg_max\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< int > \fBcompute_arg_max\fP (std::vector< std::vector< double > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBvoting\fP (torch::Tensor &votes)" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "void \fBcheckInput\fP (const torch::Tensor &X, const torch::Tensor &y)" -.br -.ti -1c -.RI "torch::Tensor \fBprepareX\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBlocalDiscretizationProposal\fP (const map< std::string, std::vector< int > > &states, \fBNetwork\fP &model)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBfit_local_discretization\fP (const torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "unsigned \fBn_models\fP" -.br -.ti -1c -.RI "std::vector< std::unique_ptr< \fBClassifier\fP > > \fBmodels\fP" -.br -.ti -1c -.RI "std::vector< double > \fBsignificanceModels\fP" -.br -.ti -1c -.RI "bool \fBpredict_voting\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBXf\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy\fP" -.br -.ti -1c -.RI "map< std::string, mdlp::CPPFImdlp * > \fBdiscretizers\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB14\fP of file \fBAODELd\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::AODELd::AODELd (bool predict_voting = \fRtrue\fP)" - -.PP -Definition at line \fB10\fP of file \fBAODELd\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::AODELd::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB28\fP of file \fBAODELd\&.cc\fP\&. -.SS "\fBAODELd\fP & bayesnet::AODELd::fit (torch::Tensor & X_, torch::Tensor & y_, const std::vector< std::string > & features_, const std::string & className_, map< std::string, std::vector< int > > & states_)\fR [override]\fP" - -.PP -Definition at line \fB13\fP of file \fBAODELd\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::AODELd::graph (const std::string & name = \fR'AODELd'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB43\fP of file \fBAODELd\&.cc\fP\&. -.SS "void bayesnet::AODELd::trainModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB37\fP of file \fBAODELd\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_BaseClassifier.3 b/docs/man3/bayesnet_BaseClassifier.3 deleted file mode 100644 index 44f3411..0000000 --- a/docs/man3/bayesnet_BaseClassifier.3 +++ /dev/null @@ -1,116 +0,0 @@ -.TH "bayesnet::BaseClassifier" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::BaseClassifier -.SH SYNOPSIS -.br -.PP -.PP -Inherited by \fBbayesnet::Classifier\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fBBaseClassifier\fP & \fBfit\fP (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)=0" -.br -.ti -1c -.RI "virtual \fBBaseClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states)=0" -.br -.ti -1c -.RI "virtual \fBBaseClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states)=0" -.br -.ti -1c -.RI "virtual \fBBaseClassifier\fP & \fBfit\fP (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)=0" -.br -.ti -1c -.RI "virtual torch::Tensor \fBpredict\fP (torch::Tensor &X)=0" -.br -.ti -1c -.RI "virtual std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X)=0" -.br -.ti -1c -.RI "virtual torch::Tensor \fBpredict_proba\fP (torch::Tensor &X)=0" -.br -.ti -1c -.RI "virtual std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X)=0" -.br -.ti -1c -.RI "virtual status_t \fBgetStatus\fP () const =0" -.br -.ti -1c -.RI "virtual float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y)=0" -.br -.ti -1c -.RI "virtual float \fBscore\fP (torch::Tensor &X, torch::Tensor &y)=0" -.br -.ti -1c -.RI "virtual int \fBgetNumberOfNodes\fP () const =0" -.br -.ti -1c -.RI "virtual int \fBgetNumberOfEdges\fP () const =0" -.br -.ti -1c -.RI "virtual int \fBgetNumberOfStates\fP () const =0" -.br -.ti -1c -.RI "virtual int \fBgetClassNumStates\fP () const =0" -.br -.ti -1c -.RI "virtual std::vector< std::string > \fBshow\fP () const =0" -.br -.ti -1c -.RI "virtual std::vector< std::string > \fBgraph\fP (const std::string &title='') const =0" -.br -.ti -1c -.RI "virtual std::string \fBgetVersion\fP ()=0" -.br -.ti -1c -.RI "virtual std::vector< std::string > \fBtopological_order\fP ()=0" -.br -.ti -1c -.RI "virtual std::vector< std::string > \fBgetNotes\fP () const =0" -.br -.ti -1c -.RI "virtual std::string \fBdump_cpt\fP () const =0" -.br -.ti -1c -.RI "virtual void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters)=0" -.br -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBtrainModel\fP (const torch::Tensor &weights)=0" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB13\fP of file \fBBaseClassifier\&.h\fP\&. -.SH "Member Function Documentation" -.PP -.SS "std::vector< std::string > & bayesnet::BaseClassifier::getValidHyperparameters ()\fR [inline]\fP" - -.PP -Definition at line \fB40\fP of file \fBBaseClassifier\&.h\fP\&. -.SH "Member Data Documentation" -.PP -.SS "std::vector bayesnet::BaseClassifier::validHyperparameters\fR [protected]\fP" - -.PP -Definition at line \fB43\fP of file \fBBaseClassifier\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_Boost.3 b/docs/man3/bayesnet_Boost.3 deleted file mode 100644 index 04ec0cc..0000000 --- a/docs/man3/bayesnet_Boost.3 +++ /dev/null @@ -1,369 +0,0 @@ -.TH "bayesnet::Boost" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::Boost -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Ensemble\fP\&. -.PP -Inherited by \fBbayesnet::BoostA2DE\fP, and \fBbayesnet::BoostAODE\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBBoost\fP (bool predict_voting=false)" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters_) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "\fBEnsemble\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "std::vector< int > \fBfeatureSelection\fP (torch::Tensor &weights_)" -.br -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "std::tuple< torch::Tensor &, double, bool > \fBupdate_weights\fP (torch::Tensor &ytrain, torch::Tensor &ypred, torch::Tensor &weights)" -.br -.ti -1c -.RI "std::tuple< torch::Tensor &, double, bool > \fBupdate_weights_block\fP (int k, torch::Tensor &ytrain, torch::Tensor &weights)" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBpredict_average_voting\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_voting\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_average_proba\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_proba\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBcompute_arg_max\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< int > \fBcompute_arg_max\fP (std::vector< std::vector< double > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBvoting\fP (torch::Tensor &votes)" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "torch::Tensor \fBX_train\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy_train\fP" -.br -.ti -1c -.RI "torch::Tensor \fBX_test\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy_test\fP" -.br -.ti -1c -.RI "bool \fBbisection\fP = true" -.br -.ti -1c -.RI "int \fBmaxTolerance\fP = 3" -.br -.ti -1c -.RI "std::string \fBorder_algorithm\fP" -.br -.ti -1c -.RI "bool \fBconvergence\fP = true" -.br -.ti -1c -.RI "bool \fBconvergence_best\fP = false" -.br -.ti -1c -.RI "bool \fBselectFeatures\fP = false" -.br -.ti -1c -.RI "std::string \fBselect_features_algorithm\fP = Orders\&.DESC" -.br -.ti -1c -.RI "FeatureSelect * \fBfeatureSelector\fP = nullptr" -.br -.ti -1c -.RI "double \fBthreshold\fP = \-1" -.br -.ti -1c -.RI "bool \fBblock_update\fP = false" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "unsigned \fBn_models\fP" -.br -.ti -1c -.RI "std::vector< std::unique_ptr< \fBClassifier\fP > > \fBmodels\fP" -.br -.ti -1c -.RI "std::vector< double > \fBsignificanceModels\fP" -.br -.ti -1c -.RI "bool \fBpredict_voting\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB27\fP of file \fBBoost\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::Boost::Boost (bool predict_voting = \fRfalse\fP)\fR [explicit]\fP" - -.PP -Definition at line \fB13\fP of file \fBBoost\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::Boost::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB71\fP of file \fBBoost\&.cc\fP\&. -.SS "std::vector< int > bayesnet::Boost::featureSelection (torch::Tensor & weights_)\fR [protected]\fP" - -.PP -Definition at line \fB102\fP of file \fBBoost\&.cc\fP\&. -.SS "void bayesnet::Boost::setHyperparameters (const nlohmann::json & hyperparameters_)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB18\fP of file \fBBoost\&.cc\fP\&. -.SS "std::tuple< torch::Tensor &, double, bool > bayesnet::Boost::update_weights (torch::Tensor & ytrain, torch::Tensor & ypred, torch::Tensor & weights)\fR [protected]\fP" - -.PP -Definition at line \fB123\fP of file \fBBoost\&.cc\fP\&. -.SS "std::tuple< torch::Tensor &, double, bool > bayesnet::Boost::update_weights_block (int k, torch::Tensor & ytrain, torch::Tensor & weights)\fR [protected]\fP" - -.PP -Definition at line \fB150\fP of file \fBBoost\&.cc\fP\&. -.SH "Member Data Documentation" -.PP -.SS "bool bayesnet::Boost::bisection = true\fR [protected]\fP" - -.PP -Definition at line \fB39\fP of file \fBBoost\&.h\fP\&. -.SS "bool bayesnet::Boost::block_update = false\fR [protected]\fP" - -.PP -Definition at line \fB48\fP of file \fBBoost\&.h\fP\&. -.SS "bool bayesnet::Boost::convergence = true\fR [protected]\fP" - -.PP -Definition at line \fB42\fP of file \fBBoost\&.h\fP\&. -.SS "bool bayesnet::Boost::convergence_best = false\fR [protected]\fP" - -.PP -Definition at line \fB43\fP of file \fBBoost\&.h\fP\&. -.SS "FeatureSelect* bayesnet::Boost::featureSelector = nullptr\fR [protected]\fP" - -.PP -Definition at line \fB46\fP of file \fBBoost\&.h\fP\&. -.SS "int bayesnet::Boost::maxTolerance = 3\fR [protected]\fP" - -.PP -Definition at line \fB40\fP of file \fBBoost\&.h\fP\&. -.SS "std::string bayesnet::Boost::order_algorithm\fR [protected]\fP" - -.PP -Definition at line \fB41\fP of file \fBBoost\&.h\fP\&. -.SS "std::string bayesnet::Boost::select_features_algorithm = Orders\&.DESC\fR [protected]\fP" - -.PP -Definition at line \fB45\fP of file \fBBoost\&.h\fP\&. -.SS "bool bayesnet::Boost::selectFeatures = false\fR [protected]\fP" - -.PP -Definition at line \fB44\fP of file \fBBoost\&.h\fP\&. -.SS "double bayesnet::Boost::threshold = \-1\fR [protected]\fP" - -.PP -Definition at line \fB47\fP of file \fBBoost\&.h\fP\&. -.SS "torch::Tensor bayesnet::Boost::X_test\fR [protected]\fP" - -.PP -Definition at line \fB37\fP of file \fBBoost\&.h\fP\&. -.SS "torch::Tensor bayesnet::Boost::X_train\fR [protected]\fP" - -.PP -Definition at line \fB37\fP of file \fBBoost\&.h\fP\&. -.SS "torch::Tensor bayesnet::Boost::y_test\fR [protected]\fP" - -.PP -Definition at line \fB37\fP of file \fBBoost\&.h\fP\&. -.SS "torch::Tensor bayesnet::Boost::y_train\fR [protected]\fP" - -.PP -Definition at line \fB37\fP of file \fBBoost\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_BoostA2DE.3 b/docs/man3/bayesnet_BoostA2DE.3 deleted file mode 100644 index b3a9dfe..0000000 --- a/docs/man3/bayesnet_BoostA2DE.3 +++ /dev/null @@ -1,316 +0,0 @@ -.TH "bayesnet::BoostA2DE" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::BoostA2DE -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Boost\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBBoostA2DE\fP (bool predict_voting=false)" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title='BoostA2DE') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Boost\fP -.in +1c -.ti -1c -.RI "\fBBoost\fP (bool predict_voting=false)" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters_) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "\fBEnsemble\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Boost\fP -.in +1c -.ti -1c -.RI "std::vector< int > \fBfeatureSelection\fP (torch::Tensor &weights_)" -.br -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "std::tuple< torch::Tensor &, double, bool > \fBupdate_weights\fP (torch::Tensor &ytrain, torch::Tensor &ypred, torch::Tensor &weights)" -.br -.ti -1c -.RI "std::tuple< torch::Tensor &, double, bool > \fBupdate_weights_block\fP (int k, torch::Tensor &ytrain, torch::Tensor &weights)" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBpredict_average_voting\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_voting\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_average_proba\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_proba\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBcompute_arg_max\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< int > \fBcompute_arg_max\fP (std::vector< std::vector< double > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBvoting\fP (torch::Tensor &votes)" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Boost\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBX_train\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy_train\fP" -.br -.ti -1c -.RI "torch::Tensor \fBX_test\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy_test\fP" -.br -.ti -1c -.RI "bool \fBbisection\fP = true" -.br -.ti -1c -.RI "int \fBmaxTolerance\fP = 3" -.br -.ti -1c -.RI "std::string \fBorder_algorithm\fP" -.br -.ti -1c -.RI "bool \fBconvergence\fP = true" -.br -.ti -1c -.RI "bool \fBconvergence_best\fP = false" -.br -.ti -1c -.RI "bool \fBselectFeatures\fP = false" -.br -.ti -1c -.RI "std::string \fBselect_features_algorithm\fP = Orders\&.DESC" -.br -.ti -1c -.RI "FeatureSelect * \fBfeatureSelector\fP = nullptr" -.br -.ti -1c -.RI "double \fBthreshold\fP = \-1" -.br -.ti -1c -.RI "bool \fBblock_update\fP = false" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "unsigned \fBn_models\fP" -.br -.ti -1c -.RI "std::vector< std::unique_ptr< \fBClassifier\fP > > \fBmodels\fP" -.br -.ti -1c -.RI "std::vector< double > \fBsignificanceModels\fP" -.br -.ti -1c -.RI "bool \fBpredict_voting\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB14\fP of file \fBBoostA2DE\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::BoostA2DE::BoostA2DE (bool predict_voting = \fRfalse\fP)\fR [explicit]\fP" - -.PP -Definition at line \fB19\fP of file \fBBoostA2DE\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "std::vector< std::string > bayesnet::BoostA2DE::graph (const std::string & title = \fR'BoostA2DE'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB163\fP of file \fBBoostA2DE\&.cc\fP\&. -.SS "void bayesnet::BoostA2DE::trainModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB44\fP of file \fBBoostA2DE\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_BoostAODE.3 b/docs/man3/bayesnet_BoostAODE.3 deleted file mode 100644 index d5b74c1..0000000 --- a/docs/man3/bayesnet_BoostAODE.3 +++ /dev/null @@ -1,316 +0,0 @@ -.TH "bayesnet::BoostAODE" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::BoostAODE -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Boost\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBBoostAODE\fP (bool predict_voting=false)" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title='BoostAODE') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Boost\fP -.in +1c -.ti -1c -.RI "\fBBoost\fP (bool predict_voting=false)" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters_) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "\fBEnsemble\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Boost\fP -.in +1c -.ti -1c -.RI "std::vector< int > \fBfeatureSelection\fP (torch::Tensor &weights_)" -.br -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "std::tuple< torch::Tensor &, double, bool > \fBupdate_weights\fP (torch::Tensor &ytrain, torch::Tensor &ypred, torch::Tensor &weights)" -.br -.ti -1c -.RI "std::tuple< torch::Tensor &, double, bool > \fBupdate_weights_block\fP (int k, torch::Tensor &ytrain, torch::Tensor &weights)" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBpredict_average_voting\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_voting\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_average_proba\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_proba\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBcompute_arg_max\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< int > \fBcompute_arg_max\fP (std::vector< std::vector< double > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBvoting\fP (torch::Tensor &votes)" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Boost\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBX_train\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy_train\fP" -.br -.ti -1c -.RI "torch::Tensor \fBX_test\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy_test\fP" -.br -.ti -1c -.RI "bool \fBbisection\fP = true" -.br -.ti -1c -.RI "int \fBmaxTolerance\fP = 3" -.br -.ti -1c -.RI "std::string \fBorder_algorithm\fP" -.br -.ti -1c -.RI "bool \fBconvergence\fP = true" -.br -.ti -1c -.RI "bool \fBconvergence_best\fP = false" -.br -.ti -1c -.RI "bool \fBselectFeatures\fP = false" -.br -.ti -1c -.RI "std::string \fBselect_features_algorithm\fP = Orders\&.DESC" -.br -.ti -1c -.RI "FeatureSelect * \fBfeatureSelector\fP = nullptr" -.br -.ti -1c -.RI "double \fBthreshold\fP = \-1" -.br -.ti -1c -.RI "bool \fBblock_update\fP = false" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Ensemble\fP -.in +1c -.ti -1c -.RI "unsigned \fBn_models\fP" -.br -.ti -1c -.RI "std::vector< std::unique_ptr< \fBClassifier\fP > > \fBmodels\fP" -.br -.ti -1c -.RI "std::vector< double > \fBsignificanceModels\fP" -.br -.ti -1c -.RI "bool \fBpredict_voting\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB15\fP of file \fBBoostAODE\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::BoostAODE::BoostAODE (bool predict_voting = \fRfalse\fP)\fR [explicit]\fP" - -.PP -Definition at line \fB16\fP of file \fBBoostAODE\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "std::vector< std::string > bayesnet::BoostAODE::graph (const std::string & title = \fR'BoostAODE'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB157\fP of file \fBBoostAODE\&.cc\fP\&. -.SS "void bayesnet::BoostAODE::trainModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB33\fP of file \fBBoostAODE\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_Classifier.3 b/docs/man3/bayesnet_Classifier.3 deleted file mode 100644 index 02549d5..0000000 --- a/docs/man3/bayesnet_Classifier.3 +++ /dev/null @@ -1,360 +0,0 @@ -.TH "bayesnet::Classifier" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::Classifier -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::BaseClassifier\fP\&. -.PP -Inherited by \fBbayesnet::Ensemble\fP, \fBbayesnet::KDB\fP, \fBbayesnet::SPODE\fP, \fBbayesnet::SPnDE\fP, and \fBbayesnet::TAN\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "virtual std::vector< std::string > \fBgraph\fP (const std::string &title='') const =0" -.br -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "virtual void \fBbuildModel\fP (const torch::Tensor &weights)=0" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB15\fP of file \fBClassifier\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::Classifier::Classifier (\fBNetwork\fP model)" - -.PP -Definition at line \fB12\fP of file \fBClassifier\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::Classifier::addNodes ()" - -.PP -Definition at line \fB155\fP of file \fBClassifier\&.cc\fP\&. -.SS "void bayesnet::Classifier::buildDataset (torch::Tensor & y)\fR [protected]\fP" - -.PP -Definition at line \fB30\fP of file \fBClassifier\&.cc\fP\&. -.SS "void bayesnet::Classifier::checkFitParameters ()\fR [protected]\fP" - -.PP -Definition at line \fB79\fP of file \fBClassifier\&.cc\fP\&. -.SS "std::string bayesnet::Classifier::dump_cpt () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB184\fP of file \fBClassifier\&.cc\fP\&. -.SS "\fBClassifier\fP & bayesnet::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)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB57\fP of file \fBClassifier\&.cc\fP\&. -.SS "\fBClassifier\fP & bayesnet::Classifier::fit (torch::Tensor & dataset, const std::vector< std::string > & features, const std::string & className, std::map< std::string, std::vector< int > > & states)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB68\fP of file \fBClassifier\&.cc\fP\&. -.SS "\fBClassifier\fP & bayesnet::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)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB74\fP of file \fBClassifier\&.cc\fP\&. -.SS "\fBClassifier\fP & bayesnet::Classifier::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)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB49\fP of file \fBClassifier\&.cc\fP\&. -.SS "int bayesnet::Classifier::getClassNumStates () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB176\fP of file \fBClassifier\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Classifier::getNotes () const\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB38\fP of file \fBClassifier\&.h\fP\&. -.SS "int bayesnet::Classifier::getNumberOfEdges () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB168\fP of file \fBClassifier\&.cc\fP\&. -.SS "int bayesnet::Classifier::getNumberOfNodes () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB163\fP of file \fBClassifier\&.cc\fP\&. -.SS "int bayesnet::Classifier::getNumberOfStates () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB172\fP of file \fBClassifier\&.cc\fP\&. -.SS "status_t bayesnet::Classifier::getStatus () const\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB32\fP of file \fBClassifier\&.h\fP\&. -.SS "std::string bayesnet::Classifier::getVersion ()\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB33\fP of file \fBClassifier\&.h\fP\&. -.SS "std::vector< int > bayesnet::Classifier::predict (std::vector< std::vector< int > > & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB103\fP of file \fBClassifier\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Classifier::predict (torch::Tensor & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB96\fP of file \fBClassifier\&.cc\fP\&. -.SS "std::vector< std::vector< double > > bayesnet::Classifier::predict_proba (std::vector< std::vector< int > > & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB124\fP of file \fBClassifier\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Classifier::predict_proba (torch::Tensor & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB117\fP of file \fBClassifier\&.cc\fP\&. -.SS "float bayesnet::Classifier::score (std::vector< std::vector< int > > & X, std::vector< int > & y)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB144\fP of file \fBClassifier\&.cc\fP\&. -.SS "float bayesnet::Classifier::score (torch::Tensor & X, torch::Tensor & y)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB139\fP of file \fBClassifier\&.cc\fP\&. -.SS "void bayesnet::Classifier::setHyperparameters (const nlohmann::json & hyperparameters)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB188\fP of file \fBClassifier\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Classifier::show () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB151\fP of file \fBClassifier\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Classifier::topological_order ()\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB180\fP of file \fBClassifier\&.cc\fP\&. -.SS "void bayesnet::Classifier::trainModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB44\fP of file \fBClassifier\&.cc\fP\&. -.SH "Member Data Documentation" -.PP -.SS "std::string bayesnet::Classifier::className\fR [protected]\fP" - -.PP -Definition at line \fB47\fP of file \fBClassifier\&.h\fP\&. -.SS "torch::Tensor bayesnet::Classifier::dataset\fR [protected]\fP" - -.PP -Definition at line \fB49\fP of file \fBClassifier\&.h\fP\&. -.SS "std::vector bayesnet::Classifier::features\fR [protected]\fP" - -.PP -Definition at line \fB46\fP of file \fBClassifier\&.h\fP\&. -.SS "bool bayesnet::Classifier::fitted\fR [protected]\fP" - -.PP -Definition at line \fB42\fP of file \fBClassifier\&.h\fP\&. -.SS "unsigned int bayesnet::Classifier::m\fR [protected]\fP" - -.PP -Definition at line \fB43\fP of file \fBClassifier\&.h\fP\&. -.SS "Metrics bayesnet::Classifier::metrics\fR [protected]\fP" - -.PP -Definition at line \fB45\fP of file \fBClassifier\&.h\fP\&. -.SS "\fBNetwork\fP bayesnet::Classifier::model\fR [protected]\fP" - -.PP -Definition at line \fB44\fP of file \fBClassifier\&.h\fP\&. -.SS "unsigned int bayesnet::Classifier::n\fR [protected]\fP" - -.PP -Definition at line \fB43\fP of file \fBClassifier\&.h\fP\&. -.SS "std::vector bayesnet::Classifier::notes\fR [protected]\fP" - -.PP -Definition at line \fB51\fP of file \fBClassifier\&.h\fP\&. -.SS "std::map > bayesnet::Classifier::states\fR [protected]\fP" - -.PP -Definition at line \fB48\fP of file \fBClassifier\&.h\fP\&. -.SS "status_t bayesnet::Classifier::status = NORMAL\fR [protected]\fP" - -.PP -Definition at line \fB50\fP of file \fBClassifier\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_Ensemble.3 b/docs/man3/bayesnet_Ensemble.3 deleted file mode 100644 index f4c6664..0000000 --- a/docs/man3/bayesnet_Ensemble.3 +++ /dev/null @@ -1,348 +0,0 @@ -.TH "bayesnet::Ensemble" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::Ensemble -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Classifier\fP\&. -.PP -Inherited by \fBbayesnet::A2DE\fP, \fBbayesnet::AODE\fP, \fBbayesnet::AODELd\fP, and \fBbayesnet::Boost\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBEnsemble\fP (bool predict_voting=true)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "torch::Tensor \fBpredict_average_voting\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_voting\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_average_proba\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_average_proba\fP (std::vector< std::vector< int > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBcompute_arg_max\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "std::vector< int > \fBcompute_arg_max\fP (std::vector< std::vector< double > > &X)" -.br -.ti -1c -.RI "torch::Tensor \fBvoting\fP (torch::Tensor &votes)" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "virtual void \fBbuildModel\fP (const torch::Tensor &weights)=0" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBn_models\fP" -.br -.ti -1c -.RI "std::vector< std::unique_ptr< \fBClassifier\fP > > \fBmodels\fP" -.br -.ti -1c -.RI "std::vector< double > \fBsignificanceModels\fP" -.br -.ti -1c -.RI "bool \fBpredict_voting\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB15\fP of file \fBEnsemble\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::Ensemble::Ensemble (bool predict_voting = \fRtrue\fP)" - -.PP -Definition at line \fB11\fP of file \fBEnsemble\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "std::vector< int > bayesnet::Ensemble::compute_arg_max (std::vector< std::vector< double > > & X)\fR [protected]\fP" - -.PP -Definition at line \fB24\fP of file \fBEnsemble\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Ensemble::compute_arg_max (torch::Tensor & X)\fR [protected]\fP" - -.PP -Definition at line \fB33\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::string bayesnet::Ensemble::dump_cpt () const\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB34\fP of file \fBEnsemble\&.h\fP\&. -.SS "int bayesnet::Ensemble::getNumberOfEdges () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB206\fP of file \fBEnsemble\&.cc\fP\&. -.SS "int bayesnet::Ensemble::getNumberOfNodes () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB198\fP of file \fBEnsemble\&.cc\fP\&. -.SS "int bayesnet::Ensemble::getNumberOfStates () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB214\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Ensemble::graph (const std::string & title) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB189\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::vector< int > bayesnet::Ensemble::predict (std::vector< std::vector< int > > & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB74\fP of file \fBEnsemble\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Ensemble::predict (torch::Tensor & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB79\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::vector< std::vector< double > > bayesnet::Ensemble::predict_average_proba (std::vector< std::vector< int > > & X)\fR [protected]\fP" - -.PP -Definition at line \fB104\fP of file \fBEnsemble\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Ensemble::predict_average_proba (torch::Tensor & X)\fR [protected]\fP" - -.PP -Definition at line \fB84\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::vector< std::vector< double > > bayesnet::Ensemble::predict_average_voting (std::vector< std::vector< int > > & X)\fR [protected]\fP" - -.PP -Definition at line \fB133\fP of file \fBEnsemble\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Ensemble::predict_average_voting (torch::Tensor & X)\fR [protected]\fP" - -.PP -Definition at line \fB140\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::vector< std::vector< double > > bayesnet::Ensemble::predict_proba (std::vector< std::vector< int > > & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB60\fP of file \fBEnsemble\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Ensemble::predict_proba (torch::Tensor & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB67\fP of file \fBEnsemble\&.cc\fP\&. -.SS "float bayesnet::Ensemble::score (std::vector< std::vector< int > > & X, std::vector< int > & y)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB169\fP of file \fBEnsemble\&.cc\fP\&. -.SS "float bayesnet::Ensemble::score (torch::Tensor & X, torch::Tensor & y)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB158\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Ensemble::show () const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB180\fP of file \fBEnsemble\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Ensemble::topological_order ()\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB30\fP of file \fBEnsemble\&.h\fP\&. -.SS "void bayesnet::Ensemble::trainModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB16\fP of file \fBEnsemble\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Ensemble::voting (torch::Tensor & votes)\fR [protected]\fP" - -.PP -Definition at line \fB38\fP of file \fBEnsemble\&.cc\fP\&. -.SH "Member Data Documentation" -.PP -.SS "std::vector > bayesnet::Ensemble::models\fR [protected]\fP" - -.PP -Definition at line \fB47\fP of file \fBEnsemble\&.h\fP\&. -.SS "unsigned bayesnet::Ensemble::n_models\fR [protected]\fP" - -.PP -Definition at line \fB46\fP of file \fBEnsemble\&.h\fP\&. -.SS "bool bayesnet::Ensemble::predict_voting\fR [protected]\fP" - -.PP -Definition at line \fB50\fP of file \fBEnsemble\&.h\fP\&. -.SS "std::vector bayesnet::Ensemble::significanceModels\fR [protected]\fP" - -.PP -Definition at line \fB48\fP of file \fBEnsemble\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_KDB.3 b/docs/man3/bayesnet_KDB.3 deleted file mode 100644 index 0f9615b..0000000 --- a/docs/man3/bayesnet_KDB.3 +++ /dev/null @@ -1,201 +0,0 @@ -.TH "bayesnet::KDB" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::KDB -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Classifier\fP\&. -.PP -Inherited by \fBbayesnet::KDBLd\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBKDB\fP (int k, float theta=0\&.03)" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters_) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='KDB') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB13\fP of file \fBKDB\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::KDB::KDB (int k, float theta = \fR0\&.03\fP)\fR [explicit]\fP" - -.PP -Definition at line \fB10\fP of file \fBKDB\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::KDB::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB28\fP of file \fBKDB\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::KDB::graph (const std::string & name = \fR'KDB'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB103\fP of file \fBKDB\&.cc\fP\&. -.SS "void bayesnet::KDB::setHyperparameters (const nlohmann::json & hyperparameters_)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB15\fP of file \fBKDB\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_KDBLd.3 b/docs/man3/bayesnet_KDBLd.3 deleted file mode 100644 index 4ed0bb5..0000000 --- a/docs/man3/bayesnet_KDBLd.3 +++ /dev/null @@ -1,254 +0,0 @@ -.TH "bayesnet::KDBLd" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::KDBLd -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::KDB\fP, and \fBbayesnet::Proposal\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBKDBLd\fP (int k)" -.br -.ti -1c -.RI "\fBKDBLd\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='KDB') const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::KDB\fP -.in +1c -.ti -1c -.RI "\fBKDB\fP (int k, float theta=0\&.03)" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters_) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "\fBProposal\fP (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)" -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "static std::string \fBversion\fP ()" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Member Functions inherited from \fBbayesnet::KDB\fP -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "void \fBcheckInput\fP (const torch::Tensor &X, const torch::Tensor &y)" -.br -.ti -1c -.RI "torch::Tensor \fBprepareX\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBlocalDiscretizationProposal\fP (const map< std::string, std::vector< int > > &states, \fBNetwork\fP &model)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBfit_local_discretization\fP (const torch::Tensor &y)" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBXf\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy\fP" -.br -.ti -1c -.RI "map< std::string, mdlp::CPPFImdlp * > \fBdiscretizers\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB13\fP of file \fBKDBLd\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::KDBLd::KDBLd (int k)\fR [explicit]\fP" - -.PP -Definition at line \fB10\fP of file \fBKDBLd\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "\fBKDBLd\fP & bayesnet::KDBLd::fit (torch::Tensor & X, torch::Tensor & y, const std::vector< std::string > & features, const std::string & className, map< std::string, std::vector< int > > & states)\fR [override]\fP" - -.PP -Definition at line \fB11\fP of file \fBKDBLd\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::KDBLd::graph (const std::string & name = \fR'KDB'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::KDB\fP\&. -.PP -Definition at line \fB31\fP of file \fBKDBLd\&.cc\fP\&. -.SS "torch::Tensor bayesnet::KDBLd::predict (torch::Tensor & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB26\fP of file \fBKDBLd\&.cc\fP\&. -.SS "static std::string bayesnet::KDBLd::version ()\fR [inline]\fP, \fR [static]\fP" - -.PP -Definition at line \fB21\fP of file \fBKDBLd\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_Network.3 b/docs/man3/bayesnet_Network.3 deleted file mode 100644 index e5b40a9..0000000 --- a/docs/man3/bayesnet_Network.3 +++ /dev/null @@ -1,223 +0,0 @@ -.TH "bayesnet::Network" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::Network -.SH SYNOPSIS -.br -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBNetwork\fP (float)" -.br -.ti -1c -.RI "\fBNetwork\fP (const \fBNetwork\fP &)" -.br -.ti -1c -.RI "torch::Tensor & \fBgetSamples\fP ()" -.br -.ti -1c -.RI "float \fBgetMaxThreads\fP () const" -.br -.ti -1c -.RI "void \fBaddNode\fP (const std::string &)" -.br -.ti -1c -.RI "void \fBaddEdge\fP (const std::string &, const std::string &)" -.br -.ti -1c -.RI "std::map< std::string, std::unique_ptr< \fBNode\fP > > & \fBgetNodes\fP ()" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetFeatures\fP () const" -.br -.ti -1c -.RI "int \fBgetStates\fP () const" -.br -.ti -1c -.RI "std::vector< std::pair< std::string, std::string > > \fBgetEdges\fP () const" -.br -.ti -1c -.RI "int \fBgetNumEdges\fP () const" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const" -.br -.ti -1c -.RI "std::string \fBgetClassName\fP () const" -.br -.ti -1c -.RI "void \fBfit\fP (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)" -.br -.ti -1c -.RI "void \fBfit\fP (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)" -.br -.ti -1c -.RI "void \fBfit\fP (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)" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (const std::vector< std::vector< int > > &)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (const torch::Tensor &)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_tensor\fP (const torch::Tensor &samples, const bool proba)" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (const std::vector< std::vector< int > > &)" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (const torch::Tensor &)" -.br -.ti -1c -.RI "double \fBscore\fP (const std::vector< std::vector< int > > &, const std::vector< int > &)" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_sort\fP ()" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &title) const" -.br -.ti -1c -.RI "void \fBinitialize\fP ()" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const" -.br -.ti -1c -.RI "std::string \fBversion\fP ()" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB15\fP of file \fBNetwork\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::Network::Network ()" - -.PP -Definition at line \fB13\fP of file \fBNetwork\&.cc\fP\&. -.SS "bayesnet::Network::Network (float maxT)\fR [explicit]\fP" - -.PP -Definition at line \fB16\fP of file \fBNetwork\&.cc\fP\&. -.SS "bayesnet::Network::Network (const \fBNetwork\fP & other)\fR [explicit]\fP" - -.PP -Definition at line \fB20\fP of file \fBNetwork\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::Network::addEdge (const std::string & parent, const std::string & child)" - -.PP -Definition at line \fB95\fP of file \fBNetwork\&.cc\fP\&. -.SS "void bayesnet::Network::addNode (const std::string & name)" - -.PP -Definition at line \fB46\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::string bayesnet::Network::dump_cpt () const" - -.PP -Definition at line \fB420\fP of file \fBNetwork\&.cc\fP\&. -.SS "void bayesnet::Network::fit (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)" - -.PP -Definition at line \fB177\fP of file \fBNetwork\&.cc\fP\&. -.SS "void bayesnet::Network::fit (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)" - -.PP -Definition at line \fB169\fP of file \fBNetwork\&.cc\fP\&. -.SS "void bayesnet::Network::fit (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)" - -.PP -Definition at line \fB158\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::string bayesnet::Network::getClassName () const" - -.PP -Definition at line \fB75\fP of file \fBNetwork\&.cc\fP\&. -.SS "int bayesnet::Network::getClassNumStates () const" - -.PP -Definition at line \fB63\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::vector< std::pair< std::string, std::string > > bayesnet::Network::getEdges () const" - -.PP -Definition at line \fB371\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Network::getFeatures () const" - -.PP -Definition at line \fB59\fP of file \fBNetwork\&.cc\fP\&. -.SS "float bayesnet::Network::getMaxThreads () const" - -.PP -Definition at line \fB38\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::map< std::string, std::unique_ptr< \fBNode\fP > > & bayesnet::Network::getNodes ()" - -.PP -Definition at line \fB116\fP of file \fBNetwork\&.cc\fP\&. -.SS "int bayesnet::Network::getNumEdges () const" - -.PP -Definition at line \fB383\fP of file \fBNetwork\&.cc\fP\&. -.SS "torch::Tensor & bayesnet::Network::getSamples ()" - -.PP -Definition at line \fB42\fP of file \fBNetwork\&.cc\fP\&. -.SS "int bayesnet::Network::getStates () const" - -.PP -Definition at line \fB67\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Network::graph (const std::string & title) const" - -.PP -Definition at line \fB357\fP of file \fBNetwork\&.cc\fP\&. -.SS "void bayesnet::Network::initialize ()" - -.PP -Definition at line \fB29\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::vector< int > bayesnet::Network::predict (const std::vector< std::vector< int > > & tsamples)" - -.PP -Definition at line \fB237\fP of file \fBNetwork\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Network::predict (const torch::Tensor & samples)" - -.PP -Definition at line \fB230\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::vector< std::vector< double > > bayesnet::Network::predict_proba (const std::vector< std::vector< int > > & tsamples)" - -.PP -Definition at line \fB259\fP of file \fBNetwork\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Network::predict_proba (const torch::Tensor & samples)" - -.PP -Definition at line \fB224\fP of file \fBNetwork\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Network::predict_tensor (const torch::Tensor & samples, const bool proba)" - -.PP -Definition at line \fB205\fP of file \fBNetwork\&.cc\fP\&. -.SS "double bayesnet::Network::score (const std::vector< std::vector< int > > & tsamples, const std::vector< int > & labels)" - -.PP -Definition at line \fB275\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Network::show () const" - -.PP -Definition at line \fB344\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Network::topological_sort ()" - -.PP -Definition at line \fB387\fP of file \fBNetwork\&.cc\fP\&. -.SS "std::string bayesnet::Network::version ()\fR [inline]\fP" - -.PP -Definition at line \fB49\fP of file \fBNetwork\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_Node.3 b/docs/man3/bayesnet_Node.3 deleted file mode 100644 index d3279e4..0000000 --- a/docs/man3/bayesnet_Node.3 +++ /dev/null @@ -1,135 +0,0 @@ -.TH "bayesnet::Node" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::Node -.SH SYNOPSIS -.br -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBNode\fP (const std::string &)" -.br -.ti -1c -.RI "void \fBclear\fP ()" -.br -.ti -1c -.RI "void \fBaddParent\fP (\fBNode\fP *)" -.br -.ti -1c -.RI "void \fBaddChild\fP (\fBNode\fP *)" -.br -.ti -1c -.RI "void \fBremoveParent\fP (\fBNode\fP *)" -.br -.ti -1c -.RI "void \fBremoveChild\fP (\fBNode\fP *)" -.br -.ti -1c -.RI "std::string \fBgetName\fP () const" -.br -.ti -1c -.RI "std::vector< \fBNode\fP * > & \fBgetParents\fP ()" -.br -.ti -1c -.RI "std::vector< \fBNode\fP * > & \fBgetChildren\fP ()" -.br -.ti -1c -.RI "torch::Tensor & \fBgetCPT\fP ()" -.br -.ti -1c -.RI "void \fBcomputeCPT\fP (const torch::Tensor &dataset, const std::vector< std::string > &features, const double laplaceSmoothing, const torch::Tensor &weights)" -.br -.ti -1c -.RI "int \fBgetNumStates\fP () const" -.br -.ti -1c -.RI "void \fBsetNumStates\fP (int)" -.br -.ti -1c -.RI "unsigned \fBminFill\fP ()" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &clasName)" -.br -.ti -1c -.RI "float \fBgetFactorValue\fP (std::map< std::string, int > &)" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB14\fP of file \fBNode\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::Node::Node (const std::string & name)\fR [explicit]\fP" - -.PP -Definition at line \fB11\fP of file \fBNode\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::Node::addChild (\fBNode\fP * child)" - -.PP -Definition at line \fB39\fP of file \fBNode\&.cc\fP\&. -.SS "void bayesnet::Node::addParent (\fBNode\fP * parent)" - -.PP -Definition at line \fB27\fP of file \fBNode\&.cc\fP\&. -.SS "void bayesnet::Node::clear ()" - -.PP -Definition at line \fB15\fP of file \fBNode\&.cc\fP\&. -.SS "void bayesnet::Node::computeCPT (const torch::Tensor & dataset, const std::vector< std::string > & features, const double laplaceSmoothing, const torch::Tensor & weights)" - -.PP -Definition at line \fB93\fP of file \fBNode\&.cc\fP\&. -.SS "std::vector< \fBNode\fP * > & bayesnet::Node::getChildren ()" - -.PP -Definition at line \fB47\fP of file \fBNode\&.cc\fP\&. -.SS "torch::Tensor & bayesnet::Node::getCPT ()" - -.PP -Definition at line \fB59\fP of file \fBNode\&.cc\fP\&. -.SS "float bayesnet::Node::getFactorValue (std::map< std::string, int > & evidence)" - -.PP -Definition at line \fB124\fP of file \fBNode\&.cc\fP\&. -.SS "std::string bayesnet::Node::getName () const" - -.PP -Definition at line \fB23\fP of file \fBNode\&.cc\fP\&. -.SS "int bayesnet::Node::getNumStates () const" - -.PP -Definition at line \fB51\fP of file \fBNode\&.cc\fP\&. -.SS "std::vector< \fBNode\fP * > & bayesnet::Node::getParents ()" - -.PP -Definition at line \fB43\fP of file \fBNode\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::Node::graph (const std::string & clasName)" - -.PP -Definition at line \fB132\fP of file \fBNode\&.cc\fP\&. -.SS "unsigned bayesnet::Node::minFill ()" - -.PP -Definition at line \fB70\fP of file \fBNode\&.cc\fP\&. -.SS "void bayesnet::Node::removeChild (\fBNode\fP * child)" - -.PP -Definition at line \fB35\fP of file \fBNode\&.cc\fP\&. -.SS "void bayesnet::Node::removeParent (\fBNode\fP * parent)" - -.PP -Definition at line \fB31\fP of file \fBNode\&.cc\fP\&. -.SS "void bayesnet::Node::setNumStates (int numStates)" - -.PP -Definition at line \fB55\fP of file \fBNode\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_Proposal.3 b/docs/man3/bayesnet_Proposal.3 deleted file mode 100644 index ad37186..0000000 --- a/docs/man3/bayesnet_Proposal.3 +++ /dev/null @@ -1,95 +0,0 @@ -.TH "bayesnet::Proposal" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::Proposal -.SH SYNOPSIS -.br -.PP -.PP -Inherited by \fBbayesnet::AODELd\fP, \fBbayesnet::KDBLd\fP, \fBbayesnet::SPODELd\fP, and \fBbayesnet::TANLd\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBProposal\fP (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBcheckInput\fP (const torch::Tensor &X, const torch::Tensor &y)" -.br -.ti -1c -.RI "torch::Tensor \fBprepareX\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBlocalDiscretizationProposal\fP (const map< std::string, std::vector< int > > &states, \fBNetwork\fP &model)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBfit_local_discretization\fP (const torch::Tensor &y)" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "torch::Tensor \fBXf\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy\fP" -.br -.ti -1c -.RI "map< std::string, mdlp::CPPFImdlp * > \fBdiscretizers\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB17\fP of file \fBProposal\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::Proposal::Proposal (torch::Tensor & pDataset, std::vector< std::string > & features_, std::string & className_)" - -.PP -Definition at line \fB10\fP of file \fBProposal\&.cc\fP\&. -.SS "bayesnet::Proposal::~Proposal ()\fR [virtual]\fP" - -.PP -Definition at line \fB11\fP of file \fBProposal\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::Proposal::checkInput (const torch::Tensor & X, const torch::Tensor & y)\fR [protected]\fP" - -.PP -Definition at line \fB17\fP of file \fBProposal\&.cc\fP\&. -.SS "map< std::string, std::vector< int > > bayesnet::Proposal::fit_local_discretization (const torch::Tensor & y)\fR [protected]\fP" - -.PP -Definition at line \fB77\fP of file \fBProposal\&.cc\fP\&. -.SS "map< std::string, std::vector< int > > bayesnet::Proposal::localDiscretizationProposal (const map< std::string, std::vector< int > > & states, \fBNetwork\fP & model)\fR [protected]\fP" - -.PP -Definition at line \fB26\fP of file \fBProposal\&.cc\fP\&. -.SS "torch::Tensor bayesnet::Proposal::prepareX (torch::Tensor & X)\fR [protected]\fP" - -.PP -Definition at line \fB104\fP of file \fBProposal\&.cc\fP\&. -.SH "Member Data Documentation" -.PP -.SS "map bayesnet::Proposal::discretizers\fR [protected]\fP" - -.PP -Definition at line \fB28\fP of file \fBProposal\&.h\fP\&. -.SS "torch::Tensor bayesnet::Proposal::Xf\fR [protected]\fP" - -.PP -Definition at line \fB26\fP of file \fBProposal\&.h\fP\&. -.SS "torch::Tensor bayesnet::Proposal::y\fR [protected]\fP" - -.PP -Definition at line \fB27\fP of file \fBProposal\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_SPODE.3 b/docs/man3/bayesnet_SPODE.3 deleted file mode 100644 index d75d468..0000000 --- a/docs/man3/bayesnet_SPODE.3 +++ /dev/null @@ -1,195 +0,0 @@ -.TH "bayesnet::SPODE" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::SPODE -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Classifier\fP\&. -.PP -Inherited by \fBbayesnet::SPODELd\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBSPODE\fP (int root)" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='SPODE') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB12\fP of file \fBSPODE\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::SPODE::SPODE (int root)\fR [explicit]\fP" - -.PP -Definition at line \fB11\fP of file \fBSPODE\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::SPODE::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB13\fP of file \fBSPODE\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::SPODE::graph (const std::string & name = \fR'SPODE'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB26\fP of file \fBSPODE\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_SPODELd.3 b/docs/man3/bayesnet_SPODELd.3 deleted file mode 100644 index 43e1bdc..0000000 --- a/docs/man3/bayesnet_SPODELd.3 +++ /dev/null @@ -1,268 +0,0 @@ -.TH "bayesnet::SPODELd" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::SPODELd -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::SPODE\fP, and \fBbayesnet::Proposal\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBSPODELd\fP (int root)" -.br -.ti -1c -.RI "\fBSPODELd\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBSPODELd\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBSPODELd\fP & \fBcommonFit\fP (const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states)" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='SPODE') const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::SPODE\fP -.in +1c -.ti -1c -.RI "\fBSPODE\fP (int root)" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "\fBProposal\fP (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)" -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "static std::string \fBversion\fP ()" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Member Functions inherited from \fBbayesnet::SPODE\fP -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "void \fBcheckInput\fP (const torch::Tensor &X, const torch::Tensor &y)" -.br -.ti -1c -.RI "torch::Tensor \fBprepareX\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBlocalDiscretizationProposal\fP (const map< std::string, std::vector< int > > &states, \fBNetwork\fP &model)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBfit_local_discretization\fP (const torch::Tensor &y)" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBXf\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy\fP" -.br -.ti -1c -.RI "map< std::string, mdlp::CPPFImdlp * > \fBdiscretizers\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB13\fP of file \fBSPODELd\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::SPODELd::SPODELd (int root)\fR [explicit]\fP" - -.PP -Definition at line \fB10\fP of file \fBSPODELd\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "\fBSPODELd\fP & bayesnet::SPODELd::commonFit (const std::vector< std::string > & features, const std::string & className, map< std::string, std::vector< int > > & states)" - -.PP -Definition at line \fB29\fP of file \fBSPODELd\&.cc\fP\&. -.SS "\fBSPODELd\fP & bayesnet::SPODELd::fit (torch::Tensor & dataset, const std::vector< std::string > & features, const std::string & className, map< std::string, std::vector< int > > & states)\fR [override]\fP" - -.PP -Definition at line \fB19\fP of file \fBSPODELd\&.cc\fP\&. -.SS "\fBSPODELd\fP & bayesnet::SPODELd::fit (torch::Tensor & X, torch::Tensor & y, const std::vector< std::string > & features, const std::string & className, map< std::string, std::vector< int > > & states)\fR [override]\fP" - -.PP -Definition at line \fB11\fP of file \fBSPODELd\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::SPODELd::graph (const std::string & name = \fR'SPODE'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::SPODE\fP\&. -.PP -Definition at line \fB46\fP of file \fBSPODELd\&.cc\fP\&. -.SS "torch::Tensor bayesnet::SPODELd::predict (torch::Tensor & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB41\fP of file \fBSPODELd\&.cc\fP\&. -.SS "static std::string bayesnet::SPODELd::version ()\fR [inline]\fP, \fR [static]\fP" - -.PP -Definition at line \fB22\fP of file \fBSPODELd\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_SPnDE.3 b/docs/man3/bayesnet_SPnDE.3 deleted file mode 100644 index afb6e61..0000000 --- a/docs/man3/bayesnet_SPnDE.3 +++ /dev/null @@ -1,193 +0,0 @@ -.TH "bayesnet::SPnDE" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::SPnDE -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Classifier\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBSPnDE\fP (std::vector< int > parents)" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='SPnDE') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB13\fP of file \fBSPnDE\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::SPnDE::SPnDE (std::vector< int > parents)\fR [explicit]\fP" - -.PP -Definition at line \fB11\fP of file \fBSPnDE\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::SPnDE::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB13\fP of file \fBSPnDE\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::SPnDE::graph (const std::string & name = \fR'SPnDE'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB33\fP of file \fBSPnDE\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_TAN.3 b/docs/man3/bayesnet_TAN.3 deleted file mode 100644 index 1aa8b71..0000000 --- a/docs/man3/bayesnet_TAN.3 +++ /dev/null @@ -1,192 +0,0 @@ -.TH "bayesnet::TAN" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::TAN -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::Classifier\fP\&. -.PP -Inherited by \fBbayesnet::TANLd\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='TAN') const override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB11\fP of file \fBTAN\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::TAN::TAN ()" - -.PP -Definition at line \fB10\fP of file \fBTAN\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "void bayesnet::TAN::buildModel (const torch::Tensor & weights)\fR [override]\fP, \fR [protected]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB12\fP of file \fBTAN\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::TAN::graph (const std::string & name = \fR'TAN'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Implements \fBbayesnet::BaseClassifier\fP\&. -.PP -Definition at line \fB41\fP of file \fBTAN\&.cc\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/man3/bayesnet_TANLd.3 b/docs/man3/bayesnet_TANLd.3 deleted file mode 100644 index 45b05d3..0000000 --- a/docs/man3/bayesnet_TANLd.3 +++ /dev/null @@ -1,244 +0,0 @@ -.TH "bayesnet::TANLd" 3 "Version 1.0.5" "BayesNet" \" -*- nroff -*- -.ad l -.nh -.SH NAME -bayesnet::TANLd -.SH SYNOPSIS -.br -.PP -.PP -Inherits \fBbayesnet::TAN\fP, and \fBbayesnet::Proposal\fP\&. -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBTANLd\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgraph\fP (const std::string &name='TAN') const override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict\fP (torch::Tensor &X) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "\fBClassifier\fP (\fBNetwork\fP model)" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override" -.br -.ti -1c -.RI "\fBClassifier\fP & \fBfit\fP (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) override" -.br -.ti -1c -.RI "void \fBaddNodes\fP ()" -.br -.ti -1c -.RI "int \fBgetNumberOfNodes\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfEdges\fP () const override" -.br -.ti -1c -.RI "int \fBgetNumberOfStates\fP () const override" -.br -.ti -1c -.RI "int \fBgetClassNumStates\fP () const override" -.br -.ti -1c -.RI "std::vector< int > \fBpredict\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "torch::Tensor \fBpredict_proba\fP (torch::Tensor &X) override" -.br -.ti -1c -.RI "std::vector< std::vector< double > > \fBpredict_proba\fP (std::vector< std::vector< int > > &X) override" -.br -.ti -1c -.RI "status_t \fBgetStatus\fP () const override" -.br -.ti -1c -.RI "std::string \fBgetVersion\fP () override" -.br -.ti -1c -.RI "float \fBscore\fP (torch::Tensor &X, torch::Tensor &y) override" -.br -.ti -1c -.RI "float \fBscore\fP (std::vector< std::vector< int > > &X, std::vector< int > &y) override" -.br -.ti -1c -.RI "std::vector< std::string > \fBshow\fP () const override" -.br -.ti -1c -.RI "std::vector< std::string > \fBtopological_order\fP () override" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetNotes\fP () const override" -.br -.ti -1c -.RI "std::string \fBdump_cpt\fP () const override" -.br -.ti -1c -.RI "void \fBsetHyperparameters\fP (const nlohmann::json &hyperparameters) override" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > & \fBgetValidHyperparameters\fP ()" -.br -.in -1c - -Public Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "\fBProposal\fP (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)" -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "static std::string \fBversion\fP ()" -.br -.in -1c -.SS "Additional Inherited Members" - - -Protected Member Functions inherited from \fBbayesnet::TAN\fP -.in +1c -.ti -1c -.RI "void \fBbuildModel\fP (const torch::Tensor &weights) override" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "void \fBcheckFitParameters\fP ()" -.br -.ti -1c -.RI "void \fBtrainModel\fP (const torch::Tensor &weights) override" -.br -.ti -1c -.RI "void \fBbuildDataset\fP (torch::Tensor &y)" -.br -.in -1c - -Protected Member Functions inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "void \fBcheckInput\fP (const torch::Tensor &X, const torch::Tensor &y)" -.br -.ti -1c -.RI "torch::Tensor \fBprepareX\fP (torch::Tensor &X)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBlocalDiscretizationProposal\fP (const map< std::string, std::vector< int > > &states, \fBNetwork\fP &model)" -.br -.ti -1c -.RI "map< std::string, std::vector< int > > \fBfit_local_discretization\fP (const torch::Tensor &y)" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Classifier\fP -.in +1c -.ti -1c -.RI "bool \fBfitted\fP" -.br -.ti -1c -.RI "unsigned int \fBm\fP" -.br -.ti -1c -.RI "unsigned int \fBn\fP" -.br -.ti -1c -.RI "\fBNetwork\fP \fBmodel\fP" -.br -.ti -1c -.RI "Metrics \fBmetrics\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBfeatures\fP" -.br -.ti -1c -.RI "std::string \fBclassName\fP" -.br -.ti -1c -.RI "std::map< std::string, std::vector< int > > \fBstates\fP" -.br -.ti -1c -.RI "torch::Tensor \fBdataset\fP" -.br -.ti -1c -.RI "status_t \fBstatus\fP = NORMAL" -.br -.ti -1c -.RI "std::vector< std::string > \fBnotes\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::BaseClassifier\fP -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBvalidHyperparameters\fP" -.br -.in -1c - -Protected Attributes inherited from \fBbayesnet::Proposal\fP -.in +1c -.ti -1c -.RI "torch::Tensor \fBXf\fP" -.br -.ti -1c -.RI "torch::Tensor \fBy\fP" -.br -.ti -1c -.RI "map< std::string, mdlp::CPPFImdlp * > \fBdiscretizers\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Definition at line \fB13\fP of file \fBTANLd\&.h\fP\&. -.SH "Constructor & Destructor Documentation" -.PP -.SS "bayesnet::TANLd::TANLd ()" - -.PP -Definition at line \fB10\fP of file \fBTANLd\&.cc\fP\&. -.SH "Member Function Documentation" -.PP -.SS "\fBTANLd\fP & bayesnet::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)\fR [override]\fP" - -.PP -Definition at line \fB11\fP of file \fBTANLd\&.cc\fP\&. -.SS "std::vector< std::string > bayesnet::TANLd::graph (const std::string & name = \fR'TAN'\fP) const\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::TAN\fP\&. -.PP -Definition at line \fB32\fP of file \fBTANLd\&.cc\fP\&. -.SS "torch::Tensor bayesnet::TANLd::predict (torch::Tensor & X)\fR [override]\fP, \fR [virtual]\fP" - -.PP -Reimplemented from \fBbayesnet::Classifier\fP\&. -.PP -Definition at line \fB27\fP of file \fBTANLd\&.cc\fP\&. -.SS "static std::string bayesnet::TANLd::version ()\fR [inline]\fP, \fR [static]\fP" - -.PP -Definition at line \fB21\fP of file \fBTANLd\&.h\fP\&. - -.SH "Author" -.PP -Generated automatically by Doxygen for BayesNet from the source code\&. diff --git a/docs/manual/_a2_d_e_8cc_source.html b/docs/manual/_a2_d_e_8cc_source.html deleted file mode 100644 index c60a9ee..0000000 --- a/docs/manual/_a2_d_e_8cc_source.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/A2DE.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
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}
-
-
- - - - diff --git a/docs/manual/_a2_d_e_8h_source.html b/docs/manual/_a2_d_e_8h_source.html deleted file mode 100644 index 9264c69..0000000 --- a/docs/manual/_a2_d_e_8h_source.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/A2DE.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
A2DE.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef A2DE_H
-
8#define A2DE_H
-
9#include "bayesnet/classifiers/SPnDE.h"
-
10#include "Ensemble.h"
-
11namespace bayesnet {
-
-
12 class A2DE : public Ensemble {
-
13 public:
-
14 A2DE(bool predict_voting = false);
-
15 virtual ~A2DE() {};
-
16 void setHyperparameters(const nlohmann::json& hyperparameters) override;
-
17 std::vector<std::string> graph(const std::string& title = "A2DE") const override;
-
18 protected:
-
19 void buildModel(const torch::Tensor& weights) override;
-
20 };
-
-
21}
-
22#endif
- - -
-
- - - - diff --git a/docs/manual/_a_o_d_e_8cc_source.html b/docs/manual/_a_o_d_e_8cc_source.html deleted file mode 100644 index 01ec16d..0000000 --- a/docs/manual/_a_o_d_e_8cc_source.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODE.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
AODE.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 "AODE.h"
-
8
-
9namespace bayesnet {
-
10 AODE::AODE(bool predict_voting) : Ensemble(predict_voting)
-
11 {
-
12 validHyperparameters = { "predict_voting" };
-
13
-
14 }
-
15 void AODE::setHyperparameters(const nlohmann::json& hyperparameters_)
-
16 {
-
17 auto hyperparameters = hyperparameters_;
-
18 if (hyperparameters.contains("predict_voting")) {
-
19 predict_voting = hyperparameters["predict_voting"];
-
20 hyperparameters.erase("predict_voting");
-
21 }
-
22 Classifier::setHyperparameters(hyperparameters);
-
23 }
-
24 void AODE::buildModel(const torch::Tensor& weights)
-
25 {
-
26 models.clear();
-
27 significanceModels.clear();
-
28 for (int i = 0; i < features.size(); ++i) {
-
29 models.push_back(std::make_unique<SPODE>(i));
-
30 }
-
31 n_models = models.size();
-
32 significanceModels = std::vector<double>(n_models, 1.0);
-
33 }
-
34 std::vector<std::string> AODE::graph(const std::string& title) const
-
35 {
-
36 return Ensemble::graph(title);
-
37 }
-
38}
-
-
- - - - diff --git a/docs/manual/_a_o_d_e_8h_source.html b/docs/manual/_a_o_d_e_8h_source.html deleted file mode 100644 index dbd20c0..0000000 --- a/docs/manual/_a_o_d_e_8h_source.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODE.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
AODE.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef AODE_H
-
8#define AODE_H
-
9#include "bayesnet/classifiers/SPODE.h"
-
10#include "Ensemble.h"
-
11namespace bayesnet {
-
-
12 class AODE : public Ensemble {
-
13 public:
-
14 AODE(bool predict_voting = false);
-
15 virtual ~AODE() {};
-
16 void setHyperparameters(const nlohmann::json& hyperparameters) override;
-
17 std::vector<std::string> graph(const std::string& title = "AODE") const override;
-
18 protected:
-
19 void buildModel(const torch::Tensor& weights) override;
-
20 };
-
-
21}
-
22#endif
- - -
-
- - - - diff --git a/docs/manual/_a_o_d_e_ld_8cc_source.html b/docs/manual/_a_o_d_e_ld_8cc_source.html deleted file mode 100644 index bcc508c..0000000 --- a/docs/manual/_a_o_d_e_ld_8cc_source.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODELd.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
AODELd.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 "AODELd.h"
-
8
-
9namespace bayesnet {
-
10 AODELd::AODELd(bool predict_voting) : Ensemble(predict_voting), Proposal(dataset, features, className)
-
11 {
-
12 }
-
13 AODELd& AODELd::fit(torch::Tensor& X_, torch::Tensor& y_, const std::vector<std::string>& features_, const std::string& className_, map<std::string, std::vector<int>>& states_)
-
14 {
-
15 checkInput(X_, y_);
-
16 features = features_;
-
17 className = className_;
-
18 Xf = X_;
-
19 y = y_;
-
20 // Fills std::vectors Xv & yv with the data from tensors X_ (discretized) & y
-
21 states = fit_local_discretization(y);
-
22 // We have discretized the input data
-
23 // 1st we need to fit the model to build the normal TAN structure, TAN::fit initializes the base Bayesian network
-
24 Ensemble::fit(dataset, features, className, states);
-
25 return *this;
-
26
-
27 }
-
28 void AODELd::buildModel(const torch::Tensor& weights)
-
29 {
-
30 models.clear();
-
31 for (int i = 0; i < features.size(); ++i) {
-
32 models.push_back(std::make_unique<SPODELd>(i));
-
33 }
-
34 n_models = models.size();
-
35 significanceModels = std::vector<double>(n_models, 1.0);
-
36 }
-
37 void AODELd::trainModel(const torch::Tensor& weights)
-
38 {
-
39 for (const auto& model : models) {
-
40 model->fit(Xf, y, features, className, states);
-
41 }
-
42 }
-
43 std::vector<std::string> AODELd::graph(const std::string& name) const
-
44 {
-
45 return Ensemble::graph(name);
-
46 }
-
47}
-
-
- - - - diff --git a/docs/manual/_a_o_d_e_ld_8h_source.html b/docs/manual/_a_o_d_e_ld_8h_source.html deleted file mode 100644 index 1420501..0000000 --- a/docs/manual/_a_o_d_e_ld_8h_source.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODELd.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
AODELd.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef AODELD_H
-
8#define AODELD_H
-
9#include "bayesnet/classifiers/Proposal.h"
-
10#include "bayesnet/classifiers/SPODELd.h"
-
11#include "Ensemble.h"
-
12
-
13namespace bayesnet {
-
-
14 class AODELd : public Ensemble, public Proposal {
-
15 public:
-
16 AODELd(bool predict_voting = true);
-
17 virtual ~AODELd() = default;
-
18 AODELd& fit(torch::Tensor& X_, torch::Tensor& y_, const std::vector<std::string>& features_, const std::string& className_, map<std::string, std::vector<int>>& states_) override;
-
19 std::vector<std::string> graph(const std::string& name = "AODELd") const override;
-
20 protected:
-
21 void trainModel(const torch::Tensor& weights) override;
-
22 void buildModel(const torch::Tensor& weights) override;
-
23 };
-
-
24}
-
25#endif // !AODELD_H
- - - -
-
- - - - diff --git a/docs/manual/_base_classifier_8h_source.html b/docs/manual/_base_classifier_8h_source.html deleted file mode 100644 index e27c0b8..0000000 --- a/docs/manual/_base_classifier_8h_source.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/BaseClassifier.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
BaseClassifier.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#pragma once
-
8#include <vector>
-
9#include <torch/torch.h>
-
10#include <nlohmann/json.hpp>
-
11namespace bayesnet {
-
12 enum status_t { NORMAL, WARNING, ERROR };
-
- -
14 public:
-
15 // X is nxm std::vector, y is nx1 std::vector
-
16 virtual 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) = 0;
-
17 // X is nxm tensor, y is nx1 tensor
-
18 virtual BaseClassifier& 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) = 0;
-
19 virtual BaseClassifier& fit(torch::Tensor& dataset, const std::vector<std::string>& features, const std::string& className, std::map<std::string, std::vector<int>>& states) = 0;
-
20 virtual 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) = 0;
-
21 virtual ~BaseClassifier() = default;
-
22 torch::Tensor virtual predict(torch::Tensor& X) = 0;
-
23 std::vector<int> virtual predict(std::vector<std::vector<int >>& X) = 0;
-
24 torch::Tensor virtual predict_proba(torch::Tensor& X) = 0;
-
25 std::vector<std::vector<double>> virtual predict_proba(std::vector<std::vector<int >>& X) = 0;
-
26 status_t virtual getStatus() const = 0;
-
27 float virtual score(std::vector<std::vector<int>>& X, std::vector<int>& y) = 0;
-
28 float virtual score(torch::Tensor& X, torch::Tensor& y) = 0;
-
29 int virtual getNumberOfNodes()const = 0;
-
30 int virtual getNumberOfEdges()const = 0;
-
31 int virtual getNumberOfStates() const = 0;
-
32 int virtual getClassNumStates() const = 0;
-
33 std::vector<std::string> virtual show() const = 0;
-
34 std::vector<std::string> virtual graph(const std::string& title = "") const = 0;
-
35 virtual std::string getVersion() = 0;
-
36 std::vector<std::string> virtual topological_order() = 0;
-
37 std::vector<std::string> virtual getNotes() const = 0;
-
38 std::string virtual dump_cpt()const = 0;
-
39 virtual void setHyperparameters(const nlohmann::json& hyperparameters) = 0;
-
40 std::vector<std::string>& getValidHyperparameters() { return validHyperparameters; }
-
41 protected:
-
42 virtual void trainModel(const torch::Tensor& weights) = 0;
-
43 std::vector<std::string> validHyperparameters;
-
44 };
-
-
45}
- -
-
- - - - diff --git a/docs/manual/_boost_8cc_source.html b/docs/manual/_boost_8cc_source.html deleted file mode 100644 index a6fda15..0000000 --- a/docs/manual/_boost_8cc_source.html +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Boost.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Boost.cc
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6#include <folding.hpp>
-
7#include "bayesnet/feature_selection/CFS.h"
-
8#include "bayesnet/feature_selection/FCBF.h"
-
9#include "bayesnet/feature_selection/IWSS.h"
-
10#include "Boost.h"
-
11
-
12namespace bayesnet {
-
13 Boost::Boost(bool predict_voting) : Ensemble(predict_voting)
-
14 {
-
15 validHyperparameters = { "order", "convergence", "convergence_best", "bisection", "threshold", "maxTolerance",
-
16 "predict_voting", "select_features", "block_update" };
-
17 }
-
18 void Boost::setHyperparameters(const nlohmann::json& hyperparameters_)
-
19 {
-
20 auto hyperparameters = hyperparameters_;
-
21 if (hyperparameters.contains("order")) {
-
22 std::vector<std::string> algos = { Orders.ASC, Orders.DESC, Orders.RAND };
-
23 order_algorithm = hyperparameters["order"];
-
24 if (std::find(algos.begin(), algos.end(), order_algorithm) == algos.end()) {
-
25 throw std::invalid_argument("Invalid order algorithm, valid values [" + Orders.ASC + ", " + Orders.DESC + ", " + Orders.RAND + "]");
-
26 }
-
27 hyperparameters.erase("order");
-
28 }
-
29 if (hyperparameters.contains("convergence")) {
-
30 convergence = hyperparameters["convergence"];
-
31 hyperparameters.erase("convergence");
-
32 }
-
33 if (hyperparameters.contains("convergence_best")) {
-
34 convergence_best = hyperparameters["convergence_best"];
-
35 hyperparameters.erase("convergence_best");
-
36 }
-
37 if (hyperparameters.contains("bisection")) {
-
38 bisection = hyperparameters["bisection"];
-
39 hyperparameters.erase("bisection");
-
40 }
-
41 if (hyperparameters.contains("threshold")) {
-
42 threshold = hyperparameters["threshold"];
-
43 hyperparameters.erase("threshold");
-
44 }
-
45 if (hyperparameters.contains("maxTolerance")) {
-
46 maxTolerance = hyperparameters["maxTolerance"];
-
47 if (maxTolerance < 1 || maxTolerance > 4)
-
48 throw std::invalid_argument("Invalid maxTolerance value, must be greater in [1, 4]");
-
49 hyperparameters.erase("maxTolerance");
-
50 }
-
51 if (hyperparameters.contains("predict_voting")) {
-
52 predict_voting = hyperparameters["predict_voting"];
-
53 hyperparameters.erase("predict_voting");
-
54 }
-
55 if (hyperparameters.contains("select_features")) {
-
56 auto selectedAlgorithm = hyperparameters["select_features"];
-
57 std::vector<std::string> algos = { SelectFeatures.IWSS, SelectFeatures.CFS, SelectFeatures.FCBF };
-
58 selectFeatures = true;
-
59 select_features_algorithm = selectedAlgorithm;
-
60 if (std::find(algos.begin(), algos.end(), selectedAlgorithm) == algos.end()) {
-
61 throw std::invalid_argument("Invalid selectFeatures value, valid values [" + SelectFeatures.IWSS + ", " + SelectFeatures.CFS + ", " + SelectFeatures.FCBF + "]");
-
62 }
-
63 hyperparameters.erase("select_features");
-
64 }
-
65 if (hyperparameters.contains("block_update")) {
-
66 block_update = hyperparameters["block_update"];
-
67 hyperparameters.erase("block_update");
-
68 }
-
69 Classifier::setHyperparameters(hyperparameters);
-
70 }
-
71 void Boost::buildModel(const torch::Tensor& weights)
-
72 {
-
73 // Models shall be built in trainModel
-
74 models.clear();
-
75 significanceModels.clear();
-
76 n_models = 0;
-
77 // Prepare the validation dataset
-
78 auto y_ = dataset.index({ -1, "..." });
-
79 if (convergence) {
-
80 // Prepare train & validation sets from train data
-
81 auto fold = folding::StratifiedKFold(5, y_, 271);
-
82 auto [train, test] = fold.getFold(0);
-
83 auto train_t = torch::tensor(train);
-
84 auto test_t = torch::tensor(test);
-
85 // Get train and validation sets
-
86 X_train = dataset.index({ torch::indexing::Slice(0, dataset.size(0) - 1), train_t });
-
87 y_train = dataset.index({ -1, train_t });
-
88 X_test = dataset.index({ torch::indexing::Slice(0, dataset.size(0) - 1), test_t });
-
89 y_test = dataset.index({ -1, test_t });
-
90 dataset = X_train;
-
91 m = X_train.size(1);
-
92 auto n_classes = states.at(className).size();
-
93 // Build dataset with train data
-
94 buildDataset(y_train);
-
95 metrics = Metrics(dataset, features, className, n_classes);
-
96 } else {
-
97 // Use all data to train
-
98 X_train = dataset.index({ torch::indexing::Slice(0, dataset.size(0) - 1), "..." });
-
99 y_train = y_;
-
100 }
-
101 }
-
102 std::vector<int> Boost::featureSelection(torch::Tensor& weights_)
-
103 {
-
104 int maxFeatures = 0;
-
105 if (select_features_algorithm == SelectFeatures.CFS) {
-
106 featureSelector = new CFS(dataset, features, className, maxFeatures, states.at(className).size(), weights_);
-
107 } else if (select_features_algorithm == SelectFeatures.IWSS) {
-
108 if (threshold < 0 || threshold >0.5) {
-
109 throw std::invalid_argument("Invalid threshold value for " + SelectFeatures.IWSS + " [0, 0.5]");
-
110 }
-
111 featureSelector = new IWSS(dataset, features, className, maxFeatures, states.at(className).size(), weights_, threshold);
-
112 } else if (select_features_algorithm == SelectFeatures.FCBF) {
-
113 if (threshold < 1e-7 || threshold > 1) {
-
114 throw std::invalid_argument("Invalid threshold value for " + SelectFeatures.FCBF + " [1e-7, 1]");
-
115 }
-
116 featureSelector = new FCBF(dataset, features, className, maxFeatures, states.at(className).size(), weights_, threshold);
-
117 }
-
118 featureSelector->fit();
-
119 auto featuresUsed = featureSelector->getFeatures();
-
120 delete featureSelector;
-
121 return featuresUsed;
-
122 }
-
123 std::tuple<torch::Tensor&, double, bool> Boost::update_weights(torch::Tensor& ytrain, torch::Tensor& ypred, torch::Tensor& weights)
-
124 {
-
125 bool terminate = false;
-
126 double alpha_t = 0;
-
127 auto mask_wrong = ypred != ytrain;
-
128 auto mask_right = ypred == ytrain;
-
129 auto masked_weights = weights * mask_wrong.to(weights.dtype());
-
130 double epsilon_t = masked_weights.sum().item<double>();
-
131 if (epsilon_t > 0.5) {
-
132 // Inverse the weights policy (plot ln(wt))
-
133 // "In each round of AdaBoost, there is a sanity check to ensure that the current base
-
134 // learner is better than random guess" (Zhi-Hua Zhou, 2012)
-
135 terminate = true;
-
136 } else {
-
137 double wt = (1 - epsilon_t) / epsilon_t;
-
138 alpha_t = epsilon_t == 0 ? 1 : 0.5 * log(wt);
-
139 // Step 3.2: Update weights for next classifier
-
140 // Step 3.2.1: Update weights of wrong samples
-
141 weights += mask_wrong.to(weights.dtype()) * exp(alpha_t) * weights;
-
142 // Step 3.2.2: Update weights of right samples
-
143 weights += mask_right.to(weights.dtype()) * exp(-alpha_t) * weights;
-
144 // Step 3.3: Normalise the weights
-
145 double totalWeights = torch::sum(weights).item<double>();
-
146 weights = weights / totalWeights;
-
147 }
-
148 return { weights, alpha_t, terminate };
-
149 }
-
150 std::tuple<torch::Tensor&, double, bool> Boost::update_weights_block(int k, torch::Tensor& ytrain, torch::Tensor& weights)
-
151 {
-
152 /* Update Block algorithm
-
153 k = # of models in block
-
154 n_models = # of models in ensemble to make predictions
-
155 n_models_bak = # models saved
-
156 models = vector of models to make predictions
-
157 models_bak = models not used to make predictions
-
158 significances_bak = backup of significances vector
-
159
-
160 Case list
-
161 A) k = 1, n_models = 1 => n = 0 , n_models = n + k
-
162 B) k = 1, n_models = n + 1 => n_models = n + k
-
163 C) k > 1, n_models = k + 1 => n= 1, n_models = n + k
-
164 D) k > 1, n_models = k => n = 0, n_models = n + k
-
165 E) k > 1, n_models = k + n => n_models = n + k
-
166
-
167 A, D) n=0, k > 0, n_models == k
-
168 1. n_models_bak <- n_models
-
169 2. significances_bak <- significances
-
170 3. significances = vector(k, 1)
-
171 4. Don’t move any classifiers out of models
-
172 5. n_models <- k
-
173 6. Make prediction, compute alpha, update weights
-
174 7. Don’t restore any classifiers to models
-
175 8. significances <- significances_bak
-
176 9. Update last k significances
-
177 10. n_models <- n_models_bak
-
178
-
179 B, C, E) n > 0, k > 0, n_models == n + k
-
180 1. n_models_bak <- n_models
-
181 2. significances_bak <- significances
-
182 3. significances = vector(k, 1)
-
183 4. Move first n classifiers to models_bak
-
184 5. n_models <- k
-
185 6. Make prediction, compute alpha, update weights
-
186 7. Insert classifiers in models_bak to be the first n models
-
187 8. significances <- significances_bak
-
188 9. Update last k significances
-
189 10. n_models <- n_models_bak
-
190 */
-
191 //
-
192 // Make predict with only the last k models
-
193 //
-
194 std::unique_ptr<Classifier> model;
-
195 std::vector<std::unique_ptr<Classifier>> models_bak;
-
196 // 1. n_models_bak <- n_models 2. significances_bak <- significances
-
197 auto significance_bak = significanceModels;
-
198 auto n_models_bak = n_models;
-
199 // 3. significances = vector(k, 1)
-
200 significanceModels = std::vector<double>(k, 1.0);
-
201 // 4. Move first n classifiers to models_bak
-
202 // backup the first n_models - k models (if n_models == k, don't backup any)
-
203 for (int i = 0; i < n_models - k; ++i) {
-
204 model = std::move(models[0]);
-
205 models.erase(models.begin());
-
206 models_bak.push_back(std::move(model));
-
207 }
-
208 assert(models.size() == k);
-
209 // 5. n_models <- k
-
210 n_models = k;
-
211 // 6. Make prediction, compute alpha, update weights
-
212 auto ypred = predict(X_train);
-
213 //
-
214 // Update weights
-
215 //
-
216 double alpha_t;
-
217 bool terminate;
-
218 std::tie(weights, alpha_t, terminate) = update_weights(y_train, ypred, weights);
-
219 //
-
220 // Restore the models if needed
-
221 //
-
222 // 7. Insert classifiers in models_bak to be the first n models
-
223 // if n_models_bak == k, don't restore any, because none of them were moved
-
224 if (k != n_models_bak) {
-
225 // Insert in the same order as they were extracted
-
226 int bak_size = models_bak.size();
-
227 for (int i = 0; i < bak_size; ++i) {
-
228 model = std::move(models_bak[bak_size - 1 - i]);
-
229 models_bak.erase(models_bak.end() - 1);
-
230 models.insert(models.begin(), std::move(model));
-
231 }
-
232 }
-
233 // 8. significances <- significances_bak
-
234 significanceModels = significance_bak;
-
235 //
-
236 // Update the significance of the last k models
-
237 //
-
238 // 9. Update last k significances
-
239 for (int i = 0; i < k; ++i) {
-
240 significanceModels[n_models_bak - k + i] = alpha_t;
-
241 }
-
242 // 10. n_models <- n_models_bak
-
243 n_models = n_models_bak;
-
244 return { weights, alpha_t, terminate };
-
245 }
-
246}
-
-
- - - - diff --git a/docs/manual/_boost_8h_source.html b/docs/manual/_boost_8h_source.html deleted file mode 100644 index eb96a69..0000000 --- a/docs/manual/_boost_8h_source.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Boost.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Boost.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef BOOST_H
-
8#define BOOST_H
-
9#include <string>
-
10#include <tuple>
-
11#include <vector>
-
12#include <nlohmann/json.hpp>
-
13#include <torch/torch.h>
-
14#include "Ensemble.h"
-
15#include "bayesnet/feature_selection/FeatureSelect.h"
-
16namespace bayesnet {
-
17 const struct {
-
18 std::string CFS = "CFS";
-
19 std::string FCBF = "FCBF";
-
20 std::string IWSS = "IWSS";
-
21 }SelectFeatures;
-
22 const struct {
-
23 std::string ASC = "asc";
-
24 std::string DESC = "desc";
-
25 std::string RAND = "rand";
-
26 }Orders;
-
-
27 class Boost : public Ensemble {
-
28 public:
-
29 explicit Boost(bool predict_voting = false);
-
30 virtual ~Boost() = default;
-
31 void setHyperparameters(const nlohmann::json& hyperparameters_) override;
-
32 protected:
-
33 std::vector<int> featureSelection(torch::Tensor& weights_);
-
34 void buildModel(const torch::Tensor& weights) override;
-
35 std::tuple<torch::Tensor&, double, bool> update_weights(torch::Tensor& ytrain, torch::Tensor& ypred, torch::Tensor& weights);
-
36 std::tuple<torch::Tensor&, double, bool> update_weights_block(int k, torch::Tensor& ytrain, torch::Tensor& weights);
-
37 torch::Tensor X_train, y_train, X_test, y_test;
-
38 // Hyperparameters
-
39 bool bisection = true; // if true, use bisection stratety to add k models at once to the ensemble
-
40 int maxTolerance = 3;
-
41 std::string order_algorithm; // order to process the KBest features asc, desc, rand
-
42 bool convergence = true; //if true, stop when the model does not improve
-
43 bool convergence_best = false; // wether to keep the best accuracy to the moment or the last accuracy as prior accuracy
-
44 bool selectFeatures = false; // if true, use feature selection
-
45 std::string select_features_algorithm = Orders.DESC; // Selected feature selection algorithm
-
46 FeatureSelect* featureSelector = nullptr;
-
47 double threshold = -1;
-
48 bool block_update = false;
-
49
-
50 };
-
-
51}
-
52#endif
- - -
-
- - - - diff --git a/docs/manual/_boost_a2_d_e_8cc_source.html b/docs/manual/_boost_a2_d_e_8cc_source.html deleted file mode 100644 index 70825be..0000000 --- a/docs/manual/_boost_a2_d_e_8cc_source.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostA2DE.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
BoostA2DE.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 <set>
-
8#include <functional>
-
9#include <limits.h>
-
10#include <tuple>
-
11#include <folding.hpp>
-
12#include "bayesnet/feature_selection/CFS.h"
-
13#include "bayesnet/feature_selection/FCBF.h"
-
14#include "bayesnet/feature_selection/IWSS.h"
-
15#include "BoostA2DE.h"
-
16
-
17namespace bayesnet {
-
18
-
19 BoostA2DE::BoostA2DE(bool predict_voting) : Boost(predict_voting)
-
20 {
-
21 }
-
22 std::vector<int> BoostA2DE::initializeModels()
-
23 {
-
24 torch::Tensor weights_ = torch::full({ m }, 1.0 / m, torch::kFloat64);
-
25 std::vector<int> featuresSelected = featureSelection(weights_);
-
26 if (featuresSelected.size() < 2) {
-
27 notes.push_back("No features selected in initialization");
-
28 status = ERROR;
-
29 return std::vector<int>();
-
30 }
-
31 for (int i = 0; i < featuresSelected.size() - 1; i++) {
-
32 for (int j = i + 1; j < featuresSelected.size(); j++) {
-
33 auto parents = { featuresSelected[i], featuresSelected[j] };
-
34 std::unique_ptr<Classifier> model = std::make_unique<SPnDE>(parents);
-
35 model->fit(dataset, features, className, states, weights_);
-
36 models.push_back(std::move(model));
-
37 significanceModels.push_back(1.0); // They will be updated later in trainModel
-
38 n_models++;
-
39 }
-
40 }
-
41 notes.push_back("Used features in initialization: " + std::to_string(featuresSelected.size()) + " of " + std::to_string(features.size()) + " with " + select_features_algorithm);
-
42 return featuresSelected;
-
43 }
-
44 void BoostA2DE::trainModel(const torch::Tensor& weights)
-
45 {
-
46 //
-
47 // Logging setup
-
48 //
-
49 // loguru::set_thread_name("BoostA2DE");
-
50 // loguru::g_stderr_verbosity = loguru::Verbosity_OFF;
-
51 // loguru::add_file("boostA2DE.log", loguru::Truncate, loguru::Verbosity_MAX);
-
52
-
53 // Algorithm based on the adaboost algorithm for classification
-
54 // as explained in Ensemble methods (Zhi-Hua Zhou, 2012)
-
55 fitted = true;
-
56 double alpha_t = 0;
-
57 torch::Tensor weights_ = torch::full({ m }, 1.0 / m, torch::kFloat64);
-
58 bool finished = false;
-
59 std::vector<int> featuresUsed;
-
60 if (selectFeatures) {
-
61 featuresUsed = initializeModels();
-
62 auto ypred = predict(X_train);
-
63 std::tie(weights_, alpha_t, finished) = update_weights(y_train, ypred, weights_);
-
64 // Update significance of the models
-
65 for (int i = 0; i < n_models; ++i) {
-
66 significanceModels[i] = alpha_t;
-
67 }
-
68 if (finished) {
-
69 return;
-
70 }
-
71 }
-
72 int numItemsPack = 0; // The counter of the models inserted in the current pack
-
73 // Variables to control the accuracy finish condition
-
74 double priorAccuracy = 0.0;
-
75 double improvement = 1.0;
-
76 double convergence_threshold = 1e-4;
-
77 int tolerance = 0; // number of times the accuracy is lower than the convergence_threshold
-
78 // Step 0: Set the finish condition
-
79 // epsilon sub t > 0.5 => inverse the weights policy
-
80 // validation error is not decreasing
-
81 // run out of features
-
82 bool ascending = order_algorithm == Orders.ASC;
-
83 std::mt19937 g{ 173 };
-
84 std::vector<std::pair<int, int>> pairSelection;
-
85 while (!finished) {
-
86 // Step 1: Build ranking with mutual information
-
87 pairSelection = metrics.SelectKPairs(weights_, featuresUsed, ascending, 0); // Get all the pairs sorted
-
88 if (order_algorithm == Orders.RAND) {
-
89 std::shuffle(pairSelection.begin(), pairSelection.end(), g);
-
90 }
-
91 int k = bisection ? pow(2, tolerance) : 1;
-
92 int counter = 0; // The model counter of the current pack
-
93 // VLOG_SCOPE_F(1, "counter=%d k=%d featureSelection.size: %zu", counter, k, featureSelection.size());
-
94 while (counter++ < k && pairSelection.size() > 0) {
-
95 auto feature_pair = pairSelection[0];
-
96 pairSelection.erase(pairSelection.begin());
-
97 std::unique_ptr<Classifier> model;
-
98 model = std::make_unique<SPnDE>(std::vector<int>({ feature_pair.first, feature_pair.second }));
-
99 model->fit(dataset, features, className, states, weights_);
-
100 alpha_t = 0.0;
-
101 if (!block_update) {
-
102 auto ypred = model->predict(X_train);
-
103 // Step 3.1: Compute the classifier amout of say
-
104 std::tie(weights_, alpha_t, finished) = update_weights(y_train, ypred, weights_);
-
105 }
-
106 // Step 3.4: Store classifier and its accuracy to weigh its future vote
-
107 numItemsPack++;
-
108 models.push_back(std::move(model));
-
109 significanceModels.push_back(alpha_t);
-
110 n_models++;
-
111 // VLOG_SCOPE_F(2, "numItemsPack: %d n_models: %d featuresUsed: %zu", numItemsPack, n_models, featuresUsed.size());
-
112 }
-
113 if (block_update) {
-
114 std::tie(weights_, alpha_t, finished) = update_weights_block(k, y_train, weights_);
-
115 }
-
116 if (convergence && !finished) {
-
117 auto y_val_predict = predict(X_test);
-
118 double accuracy = (y_val_predict == y_test).sum().item<double>() / (double)y_test.size(0);
-
119 if (priorAccuracy == 0) {
-
120 priorAccuracy = accuracy;
-
121 } else {
-
122 improvement = accuracy - priorAccuracy;
-
123 }
-
124 if (improvement < convergence_threshold) {
-
125 // VLOG_SCOPE_F(3, " (improvement<threshold) tolerance: %d numItemsPack: %d improvement: %f prior: %f current: %f", tolerance, numItemsPack, improvement, priorAccuracy, accuracy);
-
126 tolerance++;
-
127 } else {
-
128 // VLOG_SCOPE_F(3, "* (improvement>=threshold) Reset. tolerance: %d numItemsPack: %d improvement: %f prior: %f current: %f", tolerance, numItemsPack, improvement, priorAccuracy, accuracy);
-
129 tolerance = 0; // Reset the counter if the model performs better
-
130 numItemsPack = 0;
-
131 }
-
132 if (convergence_best) {
-
133 // Keep the best accuracy until now as the prior accuracy
-
134 priorAccuracy = std::max(accuracy, priorAccuracy);
-
135 } else {
-
136 // Keep the last accuray obtained as the prior accuracy
-
137 priorAccuracy = accuracy;
-
138 }
-
139 }
-
140 // VLOG_SCOPE_F(1, "tolerance: %d featuresUsed.size: %zu features.size: %zu", tolerance, featuresUsed.size(), features.size());
-
141 finished = finished || tolerance > maxTolerance || pairSelection.size() == 0;
-
142 }
-
143 if (tolerance > maxTolerance) {
-
144 if (numItemsPack < n_models) {
-
145 notes.push_back("Convergence threshold reached & " + std::to_string(numItemsPack) + " models eliminated");
-
146 // VLOG_SCOPE_F(4, "Convergence threshold reached & %d models eliminated of %d", numItemsPack, n_models);
-
147 for (int i = 0; i < numItemsPack; ++i) {
-
148 significanceModels.pop_back();
-
149 models.pop_back();
-
150 n_models--;
-
151 }
-
152 } else {
-
153 notes.push_back("Convergence threshold reached & 0 models eliminated");
-
154 // VLOG_SCOPE_F(4, "Convergence threshold reached & 0 models eliminated n_models=%d numItemsPack=%d", n_models, numItemsPack);
-
155 }
-
156 }
-
157 if (pairSelection.size() > 0) {
-
158 notes.push_back("Pairs not used in train: " + std::to_string(pairSelection.size()));
-
159 status = WARNING;
-
160 }
-
161 notes.push_back("Number of models: " + std::to_string(n_models));
-
162 }
-
163 std::vector<std::string> BoostA2DE::graph(const std::string& title) const
-
164 {
-
165 return Ensemble::graph(title);
-
166 }
-
167}
-
-
- - - - diff --git a/docs/manual/_boost_a2_d_e_8h_source.html b/docs/manual/_boost_a2_d_e_8h_source.html deleted file mode 100644 index cf8b626..0000000 --- a/docs/manual/_boost_a2_d_e_8h_source.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostA2DE.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
BoostA2DE.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef BOOSTA2DE_H
-
8#define BOOSTA2DE_H
-
9#include <string>
-
10#include <vector>
-
11#include "bayesnet/classifiers/SPnDE.h"
-
12#include "Boost.h"
-
13namespace bayesnet {
-
-
14 class BoostA2DE : public Boost {
-
15 public:
-
16 explicit BoostA2DE(bool predict_voting = false);
-
17 virtual ~BoostA2DE() = default;
-
18 std::vector<std::string> graph(const std::string& title = "BoostA2DE") const override;
-
19 protected:
-
20 void trainModel(const torch::Tensor& weights) override;
-
21 private:
-
22 std::vector<int> initializeModels();
-
23 };
-
-
24}
-
25#endif
- - -
-
- - - - diff --git a/docs/manual/_boost_a_o_d_e_8cc_source.html b/docs/manual/_boost_a_o_d_e_8cc_source.html deleted file mode 100644 index c22d8e9..0000000 --- a/docs/manual/_boost_a_o_d_e_8cc_source.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostAODE.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
BoostAODE.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 <random>
-
8#include <set>
-
9#include <functional>
-
10#include <limits.h>
-
11#include <tuple>
-
12#include "BoostAODE.h"
-
13
-
14namespace bayesnet {
-
15
-
16 BoostAODE::BoostAODE(bool predict_voting) : Boost(predict_voting)
-
17 {
-
18 }
-
19 std::vector<int> BoostAODE::initializeModels()
-
20 {
-
21 torch::Tensor weights_ = torch::full({ m }, 1.0 / m, torch::kFloat64);
-
22 std::vector<int> featuresSelected = featureSelection(weights_);
-
23 for (const int& feature : featuresSelected) {
-
24 std::unique_ptr<Classifier> model = std::make_unique<SPODE>(feature);
-
25 model->fit(dataset, features, className, states, weights_);
-
26 models.push_back(std::move(model));
-
27 significanceModels.push_back(1.0); // They will be updated later in trainModel
-
28 n_models++;
-
29 }
-
30 notes.push_back("Used features in initialization: " + std::to_string(featuresSelected.size()) + " of " + std::to_string(features.size()) + " with " + select_features_algorithm);
-
31 return featuresSelected;
-
32 }
-
33 void BoostAODE::trainModel(const torch::Tensor& weights)
-
34 {
-
35 //
-
36 // Logging setup
-
37 //
-
38 // loguru::set_thread_name("BoostAODE");
-
39 // loguru::g_stderr_verbosity = loguru::Verbosity_OFF;
-
40 // loguru::add_file("boostAODE.log", loguru::Truncate, loguru::Verbosity_MAX);
-
41
-
42 // Algorithm based on the adaboost algorithm for classification
-
43 // as explained in Ensemble methods (Zhi-Hua Zhou, 2012)
-
44 fitted = true;
-
45 double alpha_t = 0;
-
46 torch::Tensor weights_ = torch::full({ m }, 1.0 / m, torch::kFloat64);
-
47 bool finished = false;
-
48 std::vector<int> featuresUsed;
-
49 if (selectFeatures) {
-
50 featuresUsed = initializeModels();
-
51 auto ypred = predict(X_train);
-
52 std::tie(weights_, alpha_t, finished) = update_weights(y_train, ypred, weights_);
-
53 // Update significance of the models
-
54 for (int i = 0; i < n_models; ++i) {
-
55 significanceModels[i] = alpha_t;
-
56 }
-
57 if (finished) {
-
58 return;
-
59 }
-
60 }
-
61 int numItemsPack = 0; // The counter of the models inserted in the current pack
-
62 // Variables to control the accuracy finish condition
-
63 double priorAccuracy = 0.0;
-
64 double improvement = 1.0;
-
65 double convergence_threshold = 1e-4;
-
66 int tolerance = 0; // number of times the accuracy is lower than the convergence_threshold
-
67 // Step 0: Set the finish condition
-
68 // epsilon sub t > 0.5 => inverse the weights policy
-
69 // validation error is not decreasing
-
70 // run out of features
-
71 bool ascending = order_algorithm == Orders.ASC;
-
72 std::mt19937 g{ 173 };
-
73 while (!finished) {
-
74 // Step 1: Build ranking with mutual information
-
75 auto featureSelection = metrics.SelectKBestWeighted(weights_, ascending, n); // Get all the features sorted
-
76 if (order_algorithm == Orders.RAND) {
-
77 std::shuffle(featureSelection.begin(), featureSelection.end(), g);
-
78 }
-
79 // Remove used features
-
80 featureSelection.erase(remove_if(begin(featureSelection), end(featureSelection), [&](auto x)
-
81 { return std::find(begin(featuresUsed), end(featuresUsed), x) != end(featuresUsed);}),
-
82 end(featureSelection)
-
83 );
-
84 int k = bisection ? pow(2, tolerance) : 1;
-
85 int counter = 0; // The model counter of the current pack
-
86 // VLOG_SCOPE_F(1, "counter=%d k=%d featureSelection.size: %zu", counter, k, featureSelection.size());
-
87 while (counter++ < k && featureSelection.size() > 0) {
-
88 auto feature = featureSelection[0];
-
89 featureSelection.erase(featureSelection.begin());
-
90 std::unique_ptr<Classifier> model;
-
91 model = std::make_unique<SPODE>(feature);
-
92 model->fit(dataset, features, className, states, weights_);
-
93 alpha_t = 0.0;
-
94 if (!block_update) {
-
95 auto ypred = model->predict(X_train);
-
96 // Step 3.1: Compute the classifier amout of say
-
97 std::tie(weights_, alpha_t, finished) = update_weights(y_train, ypred, weights_);
-
98 }
-
99 // Step 3.4: Store classifier and its accuracy to weigh its future vote
-
100 numItemsPack++;
-
101 featuresUsed.push_back(feature);
-
102 models.push_back(std::move(model));
-
103 significanceModels.push_back(alpha_t);
-
104 n_models++;
-
105 // VLOG_SCOPE_F(2, "numItemsPack: %d n_models: %d featuresUsed: %zu", numItemsPack, n_models, featuresUsed.size());
-
106 }
-
107 if (block_update) {
-
108 std::tie(weights_, alpha_t, finished) = update_weights_block(k, y_train, weights_);
-
109 }
-
110 if (convergence && !finished) {
-
111 auto y_val_predict = predict(X_test);
-
112 double accuracy = (y_val_predict == y_test).sum().item<double>() / (double)y_test.size(0);
-
113 if (priorAccuracy == 0) {
-
114 priorAccuracy = accuracy;
-
115 } else {
-
116 improvement = accuracy - priorAccuracy;
-
117 }
-
118 if (improvement < convergence_threshold) {
-
119 // VLOG_SCOPE_F(3, " (improvement<threshold) tolerance: %d numItemsPack: %d improvement: %f prior: %f current: %f", tolerance, numItemsPack, improvement, priorAccuracy, accuracy);
-
120 tolerance++;
-
121 } else {
-
122 // VLOG_SCOPE_F(3, "* (improvement>=threshold) Reset. tolerance: %d numItemsPack: %d improvement: %f prior: %f current: %f", tolerance, numItemsPack, improvement, priorAccuracy, accuracy);
-
123 tolerance = 0; // Reset the counter if the model performs better
-
124 numItemsPack = 0;
-
125 }
-
126 if (convergence_best) {
-
127 // Keep the best accuracy until now as the prior accuracy
-
128 priorAccuracy = std::max(accuracy, priorAccuracy);
-
129 } else {
-
130 // Keep the last accuray obtained as the prior accuracy
-
131 priorAccuracy = accuracy;
-
132 }
-
133 }
-
134 // VLOG_SCOPE_F(1, "tolerance: %d featuresUsed.size: %zu features.size: %zu", tolerance, featuresUsed.size(), features.size());
-
135 finished = finished || tolerance > maxTolerance || featuresUsed.size() == features.size();
-
136 }
-
137 if (tolerance > maxTolerance) {
-
138 if (numItemsPack < n_models) {
-
139 notes.push_back("Convergence threshold reached & " + std::to_string(numItemsPack) + " models eliminated");
-
140 // VLOG_SCOPE_F(4, "Convergence threshold reached & %d models eliminated of %d", numItemsPack, n_models);
-
141 for (int i = 0; i < numItemsPack; ++i) {
-
142 significanceModels.pop_back();
-
143 models.pop_back();
-
144 n_models--;
-
145 }
-
146 } else {
-
147 notes.push_back("Convergence threshold reached & 0 models eliminated");
-
148 // VLOG_SCOPE_F(4, "Convergence threshold reached & 0 models eliminated n_models=%d numItemsPack=%d", n_models, numItemsPack);
-
149 }
-
150 }
-
151 if (featuresUsed.size() != features.size()) {
-
152 notes.push_back("Used features in train: " + std::to_string(featuresUsed.size()) + " of " + std::to_string(features.size()));
-
153 status = WARNING;
-
154 }
-
155 notes.push_back("Number of models: " + std::to_string(n_models));
-
156 }
-
157 std::vector<std::string> BoostAODE::graph(const std::string& title) const
-
158 {
-
159 return Ensemble::graph(title);
-
160 }
-
161}
-
-
- - - - diff --git a/docs/manual/_boost_a_o_d_e_8h_source.html b/docs/manual/_boost_a_o_d_e_8h_source.html deleted file mode 100644 index 7b04ec2..0000000 --- a/docs/manual/_boost_a_o_d_e_8h_source.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostAODE.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
BoostAODE.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef BOOSTAODE_H
-
8#define BOOSTAODE_H
-
9#include <string>
-
10#include <vector>
-
11#include "bayesnet/classifiers/SPODE.h"
-
12#include "Boost.h"
-
13
-
14namespace bayesnet {
-
-
15 class BoostAODE : public Boost {
-
16 public:
-
17 explicit BoostAODE(bool predict_voting = false);
-
18 virtual ~BoostAODE() = default;
-
19 std::vector<std::string> graph(const std::string& title = "BoostAODE") const override;
-
20 protected:
-
21 void trainModel(const torch::Tensor& weights) override;
-
22 private:
-
23 std::vector<int> initializeModels();
-
24 };
-
-
25}
-
26#endif
- - -
-
- - - - diff --git a/docs/manual/_classifier_8cc_source.html b/docs/manual/_classifier_8cc_source.html deleted file mode 100644 index 7d8cd8c..0000000 --- a/docs/manual/_classifier_8cc_source.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Classifier.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Classifier.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 <sstream>
-
8#include "bayesnet/utils/bayesnetUtils.h"
-
9#include "Classifier.h"
-
10
-
11namespace bayesnet {
-
12 Classifier::Classifier(Network model) : model(model), m(0), n(0), metrics(Metrics()), fitted(false) {}
-
13 const std::string CLASSIFIER_NOT_FITTED = "Classifier has not been fitted";
-
14 Classifier& Classifier::build(const std::vector<std::string>& features, const std::string& className, std::map<std::string, std::vector<int>>& states, const torch::Tensor& weights)
-
15 {
-
16 this->features = features;
-
17 this->className = className;
-
18 this->states = states;
-
19 m = dataset.size(1);
-
20 n = features.size();
-
21 checkFitParameters();
-
22 auto n_classes = states.at(className).size();
-
23 metrics = Metrics(dataset, features, className, n_classes);
-
24 model.initialize();
-
25 buildModel(weights);
-
26 trainModel(weights);
-
27 fitted = true;
-
28 return *this;
-
29 }
-
30 void Classifier::buildDataset(torch::Tensor& ytmp)
-
31 {
-
32 try {
-
33 auto yresized = torch::transpose(ytmp.view({ ytmp.size(0), 1 }), 0, 1);
-
34 dataset = torch::cat({ dataset, yresized }, 0);
-
35 }
-
36 catch (const std::exception& e) {
-
37 std::stringstream oss;
-
38 oss << "* Error in X and y dimensions *\n";
-
39 oss << "X dimensions: " << dataset.sizes() << "\n";
-
40 oss << "y dimensions: " << ytmp.sizes();
-
41 throw std::runtime_error(oss.str());
-
42 }
-
43 }
-
44 void Classifier::trainModel(const torch::Tensor& weights)
-
45 {
-
46 model.fit(dataset, weights, features, className, states);
-
47 }
-
48 // X is nxm where n is the number of features and m the number of samples
-
49 Classifier& Classifier::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)
-
50 {
-
51 dataset = X;
-
52 buildDataset(y);
-
53 const torch::Tensor weights = torch::full({ dataset.size(1) }, 1.0 / dataset.size(1), torch::kDouble);
-
54 return build(features, className, states, weights);
-
55 }
-
56 // X is nxm where n is the number of features and m the number of samples
-
57 Classifier& 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)
-
58 {
-
59 dataset = torch::zeros({ static_cast<int>(X.size()), static_cast<int>(X[0].size()) }, torch::kInt32);
-
60 for (int i = 0; i < X.size(); ++i) {
-
61 dataset.index_put_({ i, "..." }, torch::tensor(X[i], torch::kInt32));
-
62 }
-
63 auto ytmp = torch::tensor(y, torch::kInt32);
-
64 buildDataset(ytmp);
-
65 const torch::Tensor weights = torch::full({ dataset.size(1) }, 1.0 / dataset.size(1), torch::kDouble);
-
66 return build(features, className, states, weights);
-
67 }
-
68 Classifier& Classifier::fit(torch::Tensor& dataset, const std::vector<std::string>& features, const std::string& className, std::map<std::string, std::vector<int>>& states)
-
69 {
-
70 this->dataset = dataset;
-
71 const torch::Tensor weights = torch::full({ dataset.size(1) }, 1.0 / dataset.size(1), torch::kDouble);
-
72 return build(features, className, states, weights);
-
73 }
-
74 Classifier& 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)
-
75 {
-
76 this->dataset = dataset;
-
77 return build(features, className, states, weights);
-
78 }
-
79 void Classifier::checkFitParameters()
-
80 {
-
81 if (torch::is_floating_point(dataset)) {
-
82 throw std::invalid_argument("dataset (X, y) must be of type Integer");
-
83 }
-
84 if (dataset.size(0) - 1 != features.size()) {
-
85 throw std::invalid_argument("Classifier: X " + std::to_string(dataset.size(0) - 1) + " and features " + std::to_string(features.size()) + " must have the same number of features");
-
86 }
-
87 if (states.find(className) == states.end()) {
-
88 throw std::invalid_argument("class name not found in states");
-
89 }
-
90 for (auto feature : features) {
-
91 if (states.find(feature) == states.end()) {
-
92 throw std::invalid_argument("feature [" + feature + "] not found in states");
-
93 }
-
94 }
-
95 }
-
96 torch::Tensor Classifier::predict(torch::Tensor& X)
-
97 {
-
98 if (!fitted) {
-
99 throw std::logic_error(CLASSIFIER_NOT_FITTED);
-
100 }
-
101 return model.predict(X);
-
102 }
-
103 std::vector<int> Classifier::predict(std::vector<std::vector<int>>& X)
-
104 {
-
105 if (!fitted) {
-
106 throw std::logic_error(CLASSIFIER_NOT_FITTED);
-
107 }
-
108 auto m_ = X[0].size();
-
109 auto n_ = X.size();
-
110 std::vector<std::vector<int>> Xd(n_, std::vector<int>(m_, 0));
-
111 for (auto i = 0; i < n_; i++) {
-
112 Xd[i] = std::vector<int>(X[i].begin(), X[i].end());
-
113 }
-
114 auto yp = model.predict(Xd);
-
115 return yp;
-
116 }
-
117 torch::Tensor Classifier::predict_proba(torch::Tensor& X)
-
118 {
-
119 if (!fitted) {
-
120 throw std::logic_error(CLASSIFIER_NOT_FITTED);
-
121 }
-
122 return model.predict_proba(X);
-
123 }
-
124 std::vector<std::vector<double>> Classifier::predict_proba(std::vector<std::vector<int>>& X)
-
125 {
-
126 if (!fitted) {
-
127 throw std::logic_error(CLASSIFIER_NOT_FITTED);
-
128 }
-
129 auto m_ = X[0].size();
-
130 auto n_ = X.size();
-
131 std::vector<std::vector<int>> Xd(n_, std::vector<int>(m_, 0));
-
132 // Convert to nxm vector
-
133 for (auto i = 0; i < n_; i++) {
-
134 Xd[i] = std::vector<int>(X[i].begin(), X[i].end());
-
135 }
-
136 auto yp = model.predict_proba(Xd);
-
137 return yp;
-
138 }
-
139 float Classifier::score(torch::Tensor& X, torch::Tensor& y)
-
140 {
-
141 torch::Tensor y_pred = predict(X);
-
142 return (y_pred == y).sum().item<float>() / y.size(0);
-
143 }
-
144 float Classifier::score(std::vector<std::vector<int>>& X, std::vector<int>& y)
-
145 {
-
146 if (!fitted) {
-
147 throw std::logic_error(CLASSIFIER_NOT_FITTED);
-
148 }
-
149 return model.score(X, y);
-
150 }
-
151 std::vector<std::string> Classifier::show() const
-
152 {
-
153 return model.show();
-
154 }
-
155 void Classifier::addNodes()
-
156 {
-
157 // Add all nodes to the network
-
158 for (const auto& feature : features) {
-
159 model.addNode(feature);
-
160 }
-
161 model.addNode(className);
-
162 }
-
163 int Classifier::getNumberOfNodes() const
-
164 {
-
165 // Features does not include class
-
166 return fitted ? model.getFeatures().size() : 0;
-
167 }
-
168 int Classifier::getNumberOfEdges() const
-
169 {
-
170 return fitted ? model.getNumEdges() : 0;
-
171 }
-
172 int Classifier::getNumberOfStates() const
-
173 {
-
174 return fitted ? model.getStates() : 0;
-
175 }
-
176 int Classifier::getClassNumStates() const
-
177 {
-
178 return fitted ? model.getClassNumStates() : 0;
-
179 }
-
180 std::vector<std::string> Classifier::topological_order()
-
181 {
-
182 return model.topological_sort();
-
183 }
-
184 std::string Classifier::dump_cpt() const
-
185 {
-
186 return model.dump_cpt();
-
187 }
-
188 void Classifier::setHyperparameters(const nlohmann::json& hyperparameters)
-
189 {
-
190 if (!hyperparameters.empty()) {
-
191 throw std::invalid_argument("Invalid hyperparameters" + hyperparameters.dump());
-
192 }
-
193 }
-
194}
-
-
- - - - diff --git a/docs/manual/_classifier_8h_source.html b/docs/manual/_classifier_8h_source.html deleted file mode 100644 index 5b39713..0000000 --- a/docs/manual/_classifier_8h_source.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Classifier.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Classifier.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef CLASSIFIER_H
-
8#define CLASSIFIER_H
-
9#include <torch/torch.h>
-
10#include "bayesnet/utils/BayesMetrics.h"
-
11#include "bayesnet/network/Network.h"
-
12#include "bayesnet/BaseClassifier.h"
-
13
-
14namespace bayesnet {
-
-
15 class Classifier : public BaseClassifier {
-
16 public:
-
17 Classifier(Network model);
-
18 virtual ~Classifier() = default;
-
19 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) override;
-
20 Classifier& 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) override;
-
21 Classifier& fit(torch::Tensor& dataset, const std::vector<std::string>& features, const std::string& className, std::map<std::string, std::vector<int>>& states) override;
-
22 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) override;
-
23 void addNodes();
-
24 int getNumberOfNodes() const override;
-
25 int getNumberOfEdges() const override;
-
26 int getNumberOfStates() const override;
-
27 int getClassNumStates() const override;
-
28 torch::Tensor predict(torch::Tensor& X) override;
-
29 std::vector<int> predict(std::vector<std::vector<int>>& X) override;
-
30 torch::Tensor predict_proba(torch::Tensor& X) override;
-
31 std::vector<std::vector<double>> predict_proba(std::vector<std::vector<int>>& X) override;
-
32 status_t getStatus() const override { return status; }
-
33 std::string getVersion() override { return { project_version.begin(), project_version.end() }; };
-
34 float score(torch::Tensor& X, torch::Tensor& y) override;
-
35 float score(std::vector<std::vector<int>>& X, std::vector<int>& y) override;
-
36 std::vector<std::string> show() const override;
-
37 std::vector<std::string> topological_order() override;
-
38 std::vector<std::string> getNotes() const override { return notes; }
-
39 std::string dump_cpt() const override;
-
40 void setHyperparameters(const nlohmann::json& hyperparameters) override; //For classifiers that don't have hyperparameters
-
41 protected:
-
42 bool fitted;
-
43 unsigned int m, n; // m: number of samples, n: number of features
-
44 Network model;
-
45 Metrics metrics;
-
46 std::vector<std::string> features;
-
47 std::string className;
-
48 std::map<std::string, std::vector<int>> states;
-
49 torch::Tensor dataset; // (n+1)xm tensor
-
50 status_t status = NORMAL;
-
51 std::vector<std::string> notes; // Used to store messages occurred during the fit process
-
52 void checkFitParameters();
-
53 virtual void buildModel(const torch::Tensor& weights) = 0;
-
54 void trainModel(const torch::Tensor& weights) override;
-
55 void buildDataset(torch::Tensor& y);
-
56 private:
-
57 Classifier& build(const std::vector<std::string>& features, const std::string& className, std::map<std::string, std::vector<int>>& states, const torch::Tensor& weights);
-
58 };
-
-
59}
-
60#endif
-
61
-
62
-
63
-
64
-
65
- - - -
-
- - - - diff --git a/docs/manual/_ensemble_8cc_source.html b/docs/manual/_ensemble_8cc_source.html deleted file mode 100644 index 7cffac3..0000000 --- a/docs/manual/_ensemble_8cc_source.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Ensemble.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Ensemble.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 "Ensemble.h"
-
8
-
9namespace bayesnet {
-
10
-
11 Ensemble::Ensemble(bool predict_voting) : Classifier(Network()), n_models(0), predict_voting(predict_voting)
-
12 {
-
13
-
14 };
-
15 const std::string ENSEMBLE_NOT_FITTED = "Ensemble has not been fitted";
-
16 void Ensemble::trainModel(const torch::Tensor& weights)
-
17 {
-
18 n_models = models.size();
-
19 for (auto i = 0; i < n_models; ++i) {
-
20 // fit with std::vectors
-
21 models[i]->fit(dataset, features, className, states);
-
22 }
-
23 }
-
24 std::vector<int> Ensemble::compute_arg_max(std::vector<std::vector<double>>& X)
-
25 {
-
26 std::vector<int> y_pred;
-
27 for (auto i = 0; i < X.size(); ++i) {
-
28 auto max = std::max_element(X[i].begin(), X[i].end());
-
29 y_pred.push_back(std::distance(X[i].begin(), max));
-
30 }
-
31 return y_pred;
-
32 }
-
33 torch::Tensor Ensemble::compute_arg_max(torch::Tensor& X)
-
34 {
-
35 auto y_pred = torch::argmax(X, 1);
-
36 return y_pred;
-
37 }
-
38 torch::Tensor Ensemble::voting(torch::Tensor& votes)
-
39 {
-
40 // Convert m x n_models tensor to a m x n_class_states with voting probabilities
-
41 auto y_pred_ = votes.accessor<int, 2>();
-
42 std::vector<int> y_pred_final;
-
43 int numClasses = states.at(className).size();
-
44 // votes is m x n_models with the prediction of every model for each sample
-
45 auto result = torch::zeros({ votes.size(0), numClasses }, torch::kFloat32);
-
46 auto sum = std::reduce(significanceModels.begin(), significanceModels.end());
-
47 for (int i = 0; i < votes.size(0); ++i) {
-
48 // n_votes store in each index (value of class) the significance added by each model
-
49 // i.e. n_votes[0] contains how much value has the value 0 of class. That value is generated by the models predictions
-
50 std::vector<double> n_votes(numClasses, 0.0);
-
51 for (int j = 0; j < n_models; ++j) {
-
52 n_votes[y_pred_[i][j]] += significanceModels.at(j);
-
53 }
-
54 result[i] = torch::tensor(n_votes);
-
55 }
-
56 // To only do one division and gain precision
-
57 result /= sum;
-
58 return result;
-
59 }
-
60 std::vector<std::vector<double>> Ensemble::predict_proba(std::vector<std::vector<int>>& X)
-
61 {
-
62 if (!fitted) {
-
63 throw std::logic_error(ENSEMBLE_NOT_FITTED);
-
64 }
-
65 return predict_voting ? predict_average_voting(X) : predict_average_proba(X);
-
66 }
-
67 torch::Tensor Ensemble::predict_proba(torch::Tensor& X)
-
68 {
-
69 if (!fitted) {
-
70 throw std::logic_error(ENSEMBLE_NOT_FITTED);
-
71 }
-
72 return predict_voting ? predict_average_voting(X) : predict_average_proba(X);
-
73 }
-
74 std::vector<int> Ensemble::predict(std::vector<std::vector<int>>& X)
-
75 {
-
76 auto res = predict_proba(X);
-
77 return compute_arg_max(res);
-
78 }
-
79 torch::Tensor Ensemble::predict(torch::Tensor& X)
-
80 {
-
81 auto res = predict_proba(X);
-
82 return compute_arg_max(res);
-
83 }
-
84 torch::Tensor Ensemble::predict_average_proba(torch::Tensor& X)
-
85 {
-
86 auto n_states = models[0]->getClassNumStates();
-
87 torch::Tensor y_pred = torch::zeros({ X.size(1), n_states }, torch::kFloat32);
-
88 auto threads{ std::vector<std::thread>() };
-
89 std::mutex mtx;
-
90 for (auto i = 0; i < n_models; ++i) {
-
91 threads.push_back(std::thread([&, i]() {
-
92 auto ypredict = models[i]->predict_proba(X);
-
93 std::lock_guard<std::mutex> lock(mtx);
-
94 y_pred += ypredict * significanceModels[i];
-
95 }));
-
96 }
-
97 for (auto& thread : threads) {
-
98 thread.join();
-
99 }
-
100 auto sum = std::reduce(significanceModels.begin(), significanceModels.end());
-
101 y_pred /= sum;
-
102 return y_pred;
-
103 }
-
104 std::vector<std::vector<double>> Ensemble::predict_average_proba(std::vector<std::vector<int>>& X)
-
105 {
-
106 auto n_states = models[0]->getClassNumStates();
-
107 std::vector<std::vector<double>> y_pred(X[0].size(), std::vector<double>(n_states, 0.0));
-
108 auto threads{ std::vector<std::thread>() };
-
109 std::mutex mtx;
-
110 for (auto i = 0; i < n_models; ++i) {
-
111 threads.push_back(std::thread([&, i]() {
-
112 auto ypredict = models[i]->predict_proba(X);
-
113 assert(ypredict.size() == y_pred.size());
-
114 assert(ypredict[0].size() == y_pred[0].size());
-
115 std::lock_guard<std::mutex> lock(mtx);
-
116 // Multiply each prediction by the significance of the model and then add it to the final prediction
-
117 for (auto j = 0; j < ypredict.size(); ++j) {
-
118 std::transform(y_pred[j].begin(), y_pred[j].end(), ypredict[j].begin(), y_pred[j].begin(),
-
119 [significanceModels = significanceModels[i]](double x, double y) { return x + y * significanceModels; });
-
120 }
-
121 }));
-
122 }
-
123 for (auto& thread : threads) {
-
124 thread.join();
-
125 }
-
126 auto sum = std::reduce(significanceModels.begin(), significanceModels.end());
-
127 //Divide each element of the prediction by the sum of the significances
-
128 for (auto j = 0; j < y_pred.size(); ++j) {
-
129 std::transform(y_pred[j].begin(), y_pred[j].end(), y_pred[j].begin(), [sum](double x) { return x / sum; });
-
130 }
-
131 return y_pred;
-
132 }
-
133 std::vector<std::vector<double>> Ensemble::predict_average_voting(std::vector<std::vector<int>>& X)
-
134 {
-
135 torch::Tensor Xt = bayesnet::vectorToTensor(X, false);
-
136 auto y_pred = predict_average_voting(Xt);
-
137 std::vector<std::vector<double>> result = tensorToVectorDouble(y_pred);
-
138 return result;
-
139 }
-
140 torch::Tensor Ensemble::predict_average_voting(torch::Tensor& X)
-
141 {
-
142 // Build a m x n_models tensor with the predictions of each model
-
143 torch::Tensor y_pred = torch::zeros({ X.size(1), n_models }, torch::kInt32);
-
144 auto threads{ std::vector<std::thread>() };
-
145 std::mutex mtx;
-
146 for (auto i = 0; i < n_models; ++i) {
-
147 threads.push_back(std::thread([&, i]() {
-
148 auto ypredict = models[i]->predict(X);
-
149 std::lock_guard<std::mutex> lock(mtx);
-
150 y_pred.index_put_({ "...", i }, ypredict);
-
151 }));
-
152 }
-
153 for (auto& thread : threads) {
-
154 thread.join();
-
155 }
-
156 return voting(y_pred);
-
157 }
-
158 float Ensemble::score(torch::Tensor& X, torch::Tensor& y)
-
159 {
-
160 auto y_pred = predict(X);
-
161 int correct = 0;
-
162 for (int i = 0; i < y_pred.size(0); ++i) {
-
163 if (y_pred[i].item<int>() == y[i].item<int>()) {
-
164 correct++;
-
165 }
-
166 }
-
167 return (double)correct / y_pred.size(0);
-
168 }
-
169 float Ensemble::score(std::vector<std::vector<int>>& X, std::vector<int>& y)
-
170 {
-
171 auto y_pred = predict(X);
-
172 int correct = 0;
-
173 for (int i = 0; i < y_pred.size(); ++i) {
-
174 if (y_pred[i] == y[i]) {
-
175 correct++;
-
176 }
-
177 }
-
178 return (double)correct / y_pred.size();
-
179 }
-
180 std::vector<std::string> Ensemble::show() const
-
181 {
-
182 auto result = std::vector<std::string>();
-
183 for (auto i = 0; i < n_models; ++i) {
-
184 auto res = models[i]->show();
-
185 result.insert(result.end(), res.begin(), res.end());
-
186 }
-
187 return result;
-
188 }
-
189 std::vector<std::string> Ensemble::graph(const std::string& title) const
-
190 {
-
191 auto result = std::vector<std::string>();
-
192 for (auto i = 0; i < n_models; ++i) {
-
193 auto res = models[i]->graph(title + "_" + std::to_string(i));
-
194 result.insert(result.end(), res.begin(), res.end());
-
195 }
-
196 return result;
-
197 }
-
198 int Ensemble::getNumberOfNodes() const
-
199 {
-
200 int nodes = 0;
-
201 for (auto i = 0; i < n_models; ++i) {
-
202 nodes += models[i]->getNumberOfNodes();
-
203 }
-
204 return nodes;
-
205 }
-
206 int Ensemble::getNumberOfEdges() const
-
207 {
-
208 int edges = 0;
-
209 for (auto i = 0; i < n_models; ++i) {
-
210 edges += models[i]->getNumberOfEdges();
-
211 }
-
212 return edges;
-
213 }
-
214 int Ensemble::getNumberOfStates() const
-
215 {
-
216 int nstates = 0;
-
217 for (auto i = 0; i < n_models; ++i) {
-
218 nstates += models[i]->getNumberOfStates();
-
219 }
-
220 return nstates;
-
221 }
-
222}
-
-
- - - - diff --git a/docs/manual/_ensemble_8h_source.html b/docs/manual/_ensemble_8h_source.html deleted file mode 100644 index 716f7f8..0000000 --- a/docs/manual/_ensemble_8h_source.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Ensemble.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Ensemble.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef ENSEMBLE_H
-
8#define ENSEMBLE_H
-
9#include <torch/torch.h>
-
10#include "bayesnet/utils/BayesMetrics.h"
-
11#include "bayesnet/utils/bayesnetUtils.h"
-
12#include "bayesnet/classifiers/Classifier.h"
-
13
-
14namespace bayesnet {
-
-
15 class Ensemble : public Classifier {
-
16 public:
-
17 Ensemble(bool predict_voting = true);
-
18 virtual ~Ensemble() = default;
-
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
-
31 {
-
32 return std::vector<std::string>();
-
33 }
-
34 std::string dump_cpt() const override
-
35 {
-
36 return "";
-
37 }
-
38 protected:
-
39 torch::Tensor predict_average_voting(torch::Tensor& X);
-
40 std::vector<std::vector<double>> predict_average_voting(std::vector<std::vector<int>>& X);
-
41 torch::Tensor predict_average_proba(torch::Tensor& X);
-
42 std::vector<std::vector<double>> predict_average_proba(std::vector<std::vector<int>>& X);
-
43 torch::Tensor compute_arg_max(torch::Tensor& X);
-
44 std::vector<int> compute_arg_max(std::vector<std::vector<double>>& X);
-
45 torch::Tensor voting(torch::Tensor& votes);
-
46 unsigned n_models;
-
47 std::vector<std::unique_ptr<Classifier>> models;
-
48 std::vector<double> significanceModels;
-
49 void trainModel(const torch::Tensor& weights) override;
-
50 bool predict_voting;
-
51 };
-
-
52}
-
53#endif
- - -
-
- - - - diff --git a/docs/manual/_k_d_b_8cc_source.html b/docs/manual/_k_d_b_8cc_source.html deleted file mode 100644 index 0bf9c42..0000000 --- a/docs/manual/_k_d_b_8cc_source.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDB.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
KDB.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 "KDB.h"
-
8
-
9namespace bayesnet {
-
10 KDB::KDB(int k, float theta) : Classifier(Network()), k(k), theta(theta)
-
11 {
-
12 validHyperparameters = { "k", "theta" };
-
13
-
14 }
-
15 void KDB::setHyperparameters(const nlohmann::json& hyperparameters_)
-
16 {
-
17 auto hyperparameters = hyperparameters_;
-
18 if (hyperparameters.contains("k")) {
-
19 k = hyperparameters["k"];
-
20 hyperparameters.erase("k");
-
21 }
-
22 if (hyperparameters.contains("theta")) {
-
23 theta = hyperparameters["theta"];
-
24 hyperparameters.erase("theta");
-
25 }
-
26 Classifier::setHyperparameters(hyperparameters);
-
27 }
-
28 void KDB::buildModel(const torch::Tensor& weights)
-
29 {
-
30 /*
-
31 1. For each feature Xi, compute mutual information, I(X;C),
-
32 where C is the class.
-
33 2. Compute class conditional mutual information I(Xi;XjIC), f or each
-
34 pair of features Xi and Xj, where i#j.
-
35 3. Let the used variable list, S, be empty.
-
36 4. Let the DAG network being constructed, BN, begin with a single
-
37 class node, C.
-
38 5. Repeat until S includes all domain features
-
39 5.1. Select feature Xmax which is not in S and has the largest value
-
40 I(Xmax;C).
-
41 5.2. Add a node to BN representing Xmax.
-
42 5.3. Add an arc from C to Xmax in BN.
-
43 5.4. Add m = min(lSl,/c) arcs from m distinct features Xj in S with
-
44 the highest value for I(Xmax;X,jC).
-
45 5.5. Add Xmax to S.
-
46 Compute the conditional probabilility infered by the structure of BN by
-
47 using counts from DB, and output BN.
-
48 */
-
49 // 1. For each feature Xi, compute mutual information, I(X;C),
-
50 // where C is the class.
-
51 addNodes();
-
52 const torch::Tensor& y = dataset.index({ -1, "..." });
-
53 std::vector<double> mi;
-
54 for (auto i = 0; i < features.size(); i++) {
-
55 torch::Tensor firstFeature = dataset.index({ i, "..." });
-
56 mi.push_back(metrics.mutualInformation(firstFeature, y, weights));
-
57 }
-
58 // 2. Compute class conditional mutual information I(Xi;XjIC), f or each
-
59 auto conditionalEdgeWeights = metrics.conditionalEdge(weights);
-
60 // 3. Let the used variable list, S, be empty.
-
61 std::vector<int> S;
-
62 // 4. Let the DAG network being constructed, BN, begin with a single
-
63 // class node, C.
-
64 // 5. Repeat until S includes all domain features
-
65 // 5.1. Select feature Xmax which is not in S and has the largest value
-
66 // I(Xmax;C).
-
67 auto order = argsort(mi);
-
68 for (auto idx : order) {
-
69 // 5.2. Add a node to BN representing Xmax.
-
70 // 5.3. Add an arc from C to Xmax in BN.
-
71 model.addEdge(className, features[idx]);
-
72 // 5.4. Add m = min(lSl,/c) arcs from m distinct features Xj in S with
-
73 // the highest value for I(Xmax;X,jC).
-
74 add_m_edges(idx, S, conditionalEdgeWeights);
-
75 // 5.5. Add Xmax to S.
-
76 S.push_back(idx);
-
77 }
-
78 }
-
79 void KDB::add_m_edges(int idx, std::vector<int>& S, torch::Tensor& weights)
-
80 {
-
81 auto n_edges = std::min(k, static_cast<int>(S.size()));
-
82 auto cond_w = clone(weights);
-
83 bool exit_cond = k == 0;
-
84 int num = 0;
-
85 while (!exit_cond) {
-
86 auto max_minfo = argmax(cond_w.index({ idx, "..." })).item<int>();
-
87 auto belongs = find(S.begin(), S.end(), max_minfo) != S.end();
-
88 if (belongs && cond_w.index({ idx, max_minfo }).item<float>() > theta) {
-
89 try {
-
90 model.addEdge(features[max_minfo], features[idx]);
-
91 num++;
-
92 }
-
93 catch (const std::invalid_argument& e) {
-
94 // Loops are not allowed
-
95 }
-
96 }
-
97 cond_w.index_put_({ idx, max_minfo }, -1);
-
98 auto candidates_mask = cond_w.index({ idx, "..." }).gt(theta);
-
99 auto candidates = candidates_mask.nonzero();
-
100 exit_cond = num == n_edges || candidates.size(0) == 0;
-
101 }
-
102 }
-
103 std::vector<std::string> KDB::graph(const std::string& title) const
-
104 {
-
105 std::string header{ title };
-
106 if (title == "KDB") {
-
107 header += " (k=" + std::to_string(k) + ", theta=" + std::to_string(theta) + ")";
-
108 }
-
109 return model.graph(header);
-
110 }
-
111}
-
-
- - - - diff --git a/docs/manual/_k_d_b_8h_source.html b/docs/manual/_k_d_b_8h_source.html deleted file mode 100644 index 57a4623..0000000 --- a/docs/manual/_k_d_b_8h_source.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDB.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
KDB.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef KDB_H
-
8#define KDB_H
-
9#include <torch/torch.h>
-
10#include "bayesnet/utils/bayesnetUtils.h"
-
11#include "Classifier.h"
-
12namespace bayesnet {
-
-
13 class KDB : public Classifier {
-
14 private:
-
15 int k;
-
16 float theta;
-
17 void add_m_edges(int idx, std::vector<int>& S, torch::Tensor& weights);
-
18 protected:
-
19 void buildModel(const torch::Tensor& weights) override;
-
20 public:
-
21 explicit KDB(int k, float theta = 0.03);
-
22 virtual ~KDB() = default;
-
23 void setHyperparameters(const nlohmann::json& hyperparameters_) override;
-
24 std::vector<std::string> graph(const std::string& name = "KDB") const override;
-
25 };
-
-
26}
-
27#endif
- - -
-
- - - - diff --git a/docs/manual/_k_d_b_ld_8cc_source.html b/docs/manual/_k_d_b_ld_8cc_source.html deleted file mode 100644 index 4ee98ea..0000000 --- a/docs/manual/_k_d_b_ld_8cc_source.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDBLd.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
KDBLd.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 "KDBLd.h"
-
8
-
9namespace bayesnet {
-
10 KDBLd::KDBLd(int k) : KDB(k), Proposal(dataset, features, className) {}
-
11 KDBLd& KDBLd::fit(torch::Tensor& X_, torch::Tensor& y_, const std::vector<std::string>& features_, const std::string& className_, map<std::string, std::vector<int>>& states_)
-
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 KDB structure, KDB::fit initializes the base Bayesian network
-
22 KDB::fit(dataset, features, className, states);
-
23 states = localDiscretizationProposal(states, model);
-
24 return *this;
-
25 }
-
26 torch::Tensor KDBLd::predict(torch::Tensor& X)
-
27 {
-
28 auto Xt = prepareX(X);
-
29 return KDB::predict(Xt);
-
30 }
-
31 std::vector<std::string> KDBLd::graph(const std::string& name) const
-
32 {
-
33 return KDB::graph(name);
-
34 }
-
35}
-
-
- - - - diff --git a/docs/manual/_k_d_b_ld_8h_source.html b/docs/manual/_k_d_b_ld_8h_source.html deleted file mode 100644 index 3c26e26..0000000 --- a/docs/manual/_k_d_b_ld_8h_source.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDBLd.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
KDBLd.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef KDBLD_H
-
8#define KDBLD_H
-
9#include "Proposal.h"
-
10#include "KDB.h"
-
11
-
12namespace bayesnet {
-
-
13 class KDBLd : public KDB, public Proposal {
-
14 private:
-
15 public:
-
16 explicit KDBLd(int k);
-
17 virtual ~KDBLd() = default;
-
18 KDBLd& fit(torch::Tensor& X, torch::Tensor& y, const std::vector<std::string>& features, const std::string& className, map<std::string, std::vector<int>>& states) override;
-
19 std::vector<std::string> graph(const std::string& name = "KDB") const override;
-
20 torch::Tensor predict(torch::Tensor& X) override;
-
21 static inline std::string version() { return "0.0.1"; };
-
22 };
-
-
23}
-
24#endif // !KDBLD_H
- - - -
-
- - - - diff --git a/docs/manual/_network_8cc_source.html b/docs/manual/_network_8cc_source.html deleted file mode 100644 index 2f277c8..0000000 --- a/docs/manual/_network_8cc_source.html +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/network/Network.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Network.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 <thread>
-
8#include <mutex>
-
9#include <sstream>
-
10#include "Network.h"
-
11#include "bayesnet/utils/bayesnetUtils.h"
-
12namespace bayesnet {
-
13 Network::Network() : fitted{ false }, maxThreads{ 0.95 }, classNumStates{ 0 }, laplaceSmoothing{ 0 }
-
14 {
-
15 }
-
16 Network::Network(float maxT) : fitted{ false }, maxThreads{ maxT }, classNumStates{ 0 }, laplaceSmoothing{ 0 }
-
17 {
-
18
-
19 }
-
20 Network::Network(const Network& other) : laplaceSmoothing(other.laplaceSmoothing), features(other.features), className(other.className), classNumStates(other.getClassNumStates()),
-
21 maxThreads(other.getMaxThreads()), fitted(other.fitted), samples(other.samples)
-
22 {
-
23 if (samples.defined())
-
24 samples = samples.clone();
-
25 for (const auto& node : other.nodes) {
-
26 nodes[node.first] = std::make_unique<Node>(*node.second);
-
27 }
-
28 }
-
29 void Network::initialize()
-
30 {
-
31 features.clear();
-
32 className = "";
-
33 classNumStates = 0;
-
34 fitted = false;
-
35 nodes.clear();
-
36 samples = torch::Tensor();
-
37 }
-
38 float Network::getMaxThreads() const
-
39 {
-
40 return maxThreads;
-
41 }
-
42 torch::Tensor& Network::getSamples()
-
43 {
-
44 return samples;
-
45 }
-
46 void Network::addNode(const std::string& name)
-
47 {
-
48 if (name == "") {
-
49 throw std::invalid_argument("Node name cannot be empty");
-
50 }
-
51 if (nodes.find(name) != nodes.end()) {
-
52 return;
-
53 }
-
54 if (find(features.begin(), features.end(), name) == features.end()) {
-
55 features.push_back(name);
-
56 }
-
57 nodes[name] = std::make_unique<Node>(name);
-
58 }
-
59 std::vector<std::string> Network::getFeatures() const
-
60 {
-
61 return features;
-
62 }
-
63 int Network::getClassNumStates() const
-
64 {
-
65 return classNumStates;
-
66 }
-
67 int Network::getStates() const
-
68 {
-
69 int result = 0;
-
70 for (auto& node : nodes) {
-
71 result += node.second->getNumStates();
-
72 }
-
73 return result;
-
74 }
-
75 std::string Network::getClassName() const
-
76 {
-
77 return className;
-
78 }
-
79 bool Network::isCyclic(const std::string& nodeId, std::unordered_set<std::string>& visited, std::unordered_set<std::string>& recStack)
-
80 {
-
81 if (visited.find(nodeId) == visited.end()) // if node hasn't been visited yet
-
82 {
-
83 visited.insert(nodeId);
-
84 recStack.insert(nodeId);
-
85 for (Node* child : nodes[nodeId]->getChildren()) {
-
86 if (visited.find(child->getName()) == visited.end() && isCyclic(child->getName(), visited, recStack))
-
87 return true;
-
88 if (recStack.find(child->getName()) != recStack.end())
-
89 return true;
-
90 }
-
91 }
-
92 recStack.erase(nodeId); // remove node from recursion stack before function ends
-
93 return false;
-
94 }
-
95 void Network::addEdge(const std::string& parent, const std::string& child)
-
96 {
-
97 if (nodes.find(parent) == nodes.end()) {
-
98 throw std::invalid_argument("Parent node " + parent + " does not exist");
-
99 }
-
100 if (nodes.find(child) == nodes.end()) {
-
101 throw std::invalid_argument("Child node " + child + " does not exist");
-
102 }
-
103 // Temporarily add edge to check for cycles
-
104 nodes[parent]->addChild(nodes[child].get());
-
105 nodes[child]->addParent(nodes[parent].get());
-
106 std::unordered_set<std::string> visited;
-
107 std::unordered_set<std::string> recStack;
-
108 if (isCyclic(nodes[child]->getName(), visited, recStack)) // if adding this edge forms a cycle
-
109 {
-
110 // remove problematic edge
-
111 nodes[parent]->removeChild(nodes[child].get());
-
112 nodes[child]->removeParent(nodes[parent].get());
-
113 throw std::invalid_argument("Adding this edge forms a cycle in the graph.");
-
114 }
-
115 }
-
116 std::map<std::string, std::unique_ptr<Node>>& Network::getNodes()
-
117 {
-
118 return nodes;
-
119 }
-
120 void Network::checkFitData(int n_samples, int n_features, int n_samples_y, const std::vector<std::string>& featureNames, const std::string& className, const std::map<std::string, std::vector<int>>& states, const torch::Tensor& weights)
-
121 {
-
122 if (weights.size(0) != n_samples) {
-
123 throw std::invalid_argument("Weights (" + std::to_string(weights.size(0)) + ") must have the same number of elements as samples (" + std::to_string(n_samples) + ") in Network::fit");
-
124 }
-
125 if (n_samples != n_samples_y) {
-
126 throw std::invalid_argument("X and y must have the same number of samples in Network::fit (" + std::to_string(n_samples) + " != " + std::to_string(n_samples_y) + ")");
-
127 }
-
128 if (n_features != featureNames.size()) {
-
129 throw std::invalid_argument("X and features must have the same number of features in Network::fit (" + std::to_string(n_features) + " != " + std::to_string(featureNames.size()) + ")");
-
130 }
-
131 if (features.size() == 0) {
-
132 throw std::invalid_argument("The network has not been initialized. You must call addNode() before calling fit()");
-
133 }
-
134 if (n_features != features.size() - 1) {
-
135 throw std::invalid_argument("X and local features must have the same number of features in Network::fit (" + std::to_string(n_features) + " != " + std::to_string(features.size() - 1) + ")");
-
136 }
-
137 if (find(features.begin(), features.end(), className) == features.end()) {
-
138 throw std::invalid_argument("Class Name not found in Network::features");
-
139 }
-
140 for (auto& feature : featureNames) {
-
141 if (find(features.begin(), features.end(), feature) == features.end()) {
-
142 throw std::invalid_argument("Feature " + feature + " not found in Network::features");
-
143 }
-
144 if (states.find(feature) == states.end()) {
-
145 throw std::invalid_argument("Feature " + feature + " not found in states");
-
146 }
-
147 }
-
148 }
-
149 void Network::setStates(const std::map<std::string, std::vector<int>>& states)
-
150 {
-
151 // Set states to every Node in the network
-
152 for_each(features.begin(), features.end(), [this, &states](const std::string& feature) {
-
153 nodes.at(feature)->setNumStates(states.at(feature).size());
-
154 });
-
155 classNumStates = nodes.at(className)->getNumStates();
-
156 }
-
157 // X comes in nxm, where n is the number of features and m the number of samples
-
158 void Network::fit(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)
-
159 {
-
160 checkFitData(X.size(1), X.size(0), y.size(0), featureNames, className, states, weights);
-
161 this->className = className;
-
162 torch::Tensor ytmp = torch::transpose(y.view({ y.size(0), 1 }), 0, 1);
-
163 samples = torch::cat({ X , ytmp }, 0);
-
164 for (int i = 0; i < featureNames.size(); ++i) {
-
165 auto row_feature = X.index({ i, "..." });
-
166 }
-
167 completeFit(states, weights);
-
168 }
-
169 void Network::fit(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)
-
170 {
-
171 checkFitData(samples.size(1), samples.size(0) - 1, samples.size(1), featureNames, className, states, weights);
-
172 this->className = className;
-
173 this->samples = samples;
-
174 completeFit(states, weights);
-
175 }
-
176 // input_data comes in nxm, where n is the number of features and m the number of samples
-
177 void Network::fit(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)
-
178 {
-
179 const torch::Tensor weights = torch::tensor(weights_, torch::kFloat64);
-
180 checkFitData(input_data[0].size(), input_data.size(), labels.size(), featureNames, className, states, weights);
-
181 this->className = className;
-
182 // Build tensor of samples (nxm) (n+1 because of the class)
-
183 samples = torch::zeros({ static_cast<int>(input_data.size() + 1), static_cast<int>(input_data[0].size()) }, torch::kInt32);
-
184 for (int i = 0; i < featureNames.size(); ++i) {
-
185 samples.index_put_({ i, "..." }, torch::tensor(input_data[i], torch::kInt32));
-
186 }
-
187 samples.index_put_({ -1, "..." }, torch::tensor(labels, torch::kInt32));
-
188 completeFit(states, weights);
-
189 }
-
190 void Network::completeFit(const std::map<std::string, std::vector<int>>& states, const torch::Tensor& weights)
-
191 {
-
192 setStates(states);
-
193 laplaceSmoothing = 1.0 / samples.size(1); // To use in CPT computation
-
194 std::vector<std::thread> threads;
-
195 for (auto& node : nodes) {
-
196 threads.emplace_back([this, &node, &weights]() {
-
197 node.second->computeCPT(samples, features, laplaceSmoothing, weights);
-
198 });
-
199 }
-
200 for (auto& thread : threads) {
-
201 thread.join();
-
202 }
-
203 fitted = true;
-
204 }
-
205 torch::Tensor Network::predict_tensor(const torch::Tensor& samples, const bool proba)
-
206 {
-
207 if (!fitted) {
-
208 throw std::logic_error("You must call fit() before calling predict()");
-
209 }
-
210 torch::Tensor result;
-
211 result = torch::zeros({ samples.size(1), classNumStates }, torch::kFloat64);
-
212 for (int i = 0; i < samples.size(1); ++i) {
-
213 const torch::Tensor sample = samples.index({ "...", i });
-
214 auto psample = predict_sample(sample);
-
215 auto temp = torch::tensor(psample, torch::kFloat64);
-
216 // result.index_put_({ i, "..." }, torch::tensor(predict_sample(sample), torch::kFloat64));
-
217 result.index_put_({ i, "..." }, temp);
-
218 }
-
219 if (proba)
-
220 return result;
-
221 return result.argmax(1);
-
222 }
-
223 // Return mxn tensor of probabilities
-
224 torch::Tensor Network::predict_proba(const torch::Tensor& samples)
-
225 {
-
226 return predict_tensor(samples, true);
-
227 }
-
228
-
229 // Return mxn tensor of probabilities
-
230 torch::Tensor Network::predict(const torch::Tensor& samples)
-
231 {
-
232 return predict_tensor(samples, false);
-
233 }
-
234
-
235 // Return mx1 std::vector of predictions
-
236 // tsamples is nxm std::vector of samples
-
237 std::vector<int> Network::predict(const std::vector<std::vector<int>>& tsamples)
-
238 {
-
239 if (!fitted) {
-
240 throw std::logic_error("You must call fit() before calling predict()");
-
241 }
-
242 std::vector<int> predictions;
-
243 std::vector<int> sample;
-
244 for (int row = 0; row < tsamples[0].size(); ++row) {
-
245 sample.clear();
-
246 for (int col = 0; col < tsamples.size(); ++col) {
-
247 sample.push_back(tsamples[col][row]);
-
248 }
-
249 std::vector<double> classProbabilities = predict_sample(sample);
-
250 // Find the class with the maximum posterior probability
-
251 auto maxElem = max_element(classProbabilities.begin(), classProbabilities.end());
-
252 int predictedClass = distance(classProbabilities.begin(), maxElem);
-
253 predictions.push_back(predictedClass);
-
254 }
-
255 return predictions;
-
256 }
-
257 // Return mxn std::vector of probabilities
-
258 // tsamples is nxm std::vector of samples
-
259 std::vector<std::vector<double>> Network::predict_proba(const std::vector<std::vector<int>>& tsamples)
-
260 {
-
261 if (!fitted) {
-
262 throw std::logic_error("You must call fit() before calling predict_proba()");
-
263 }
-
264 std::vector<std::vector<double>> predictions;
-
265 std::vector<int> sample;
-
266 for (int row = 0; row < tsamples[0].size(); ++row) {
-
267 sample.clear();
-
268 for (int col = 0; col < tsamples.size(); ++col) {
-
269 sample.push_back(tsamples[col][row]);
-
270 }
-
271 predictions.push_back(predict_sample(sample));
-
272 }
-
273 return predictions;
-
274 }
-
275 double Network::score(const std::vector<std::vector<int>>& tsamples, const std::vector<int>& labels)
-
276 {
-
277 std::vector<int> y_pred = predict(tsamples);
-
278 int correct = 0;
-
279 for (int i = 0; i < y_pred.size(); ++i) {
-
280 if (y_pred[i] == labels[i]) {
-
281 correct++;
-
282 }
-
283 }
-
284 return (double)correct / y_pred.size();
-
285 }
-
286 // Return 1xn std::vector of probabilities
-
287 std::vector<double> Network::predict_sample(const std::vector<int>& sample)
-
288 {
-
289 // Ensure the sample size is equal to the number of features
-
290 if (sample.size() != features.size() - 1) {
-
291 throw std::invalid_argument("Sample size (" + std::to_string(sample.size()) +
-
292 ") does not match the number of features (" + std::to_string(features.size() - 1) + ")");
-
293 }
-
294 std::map<std::string, int> evidence;
-
295 for (int i = 0; i < sample.size(); ++i) {
-
296 evidence[features[i]] = sample[i];
-
297 }
-
298 return exactInference(evidence);
-
299 }
-
300 // Return 1xn std::vector of probabilities
-
301 std::vector<double> Network::predict_sample(const torch::Tensor& sample)
-
302 {
-
303 // Ensure the sample size is equal to the number of features
-
304 if (sample.size(0) != features.size() - 1) {
-
305 throw std::invalid_argument("Sample size (" + std::to_string(sample.size(0)) +
-
306 ") does not match the number of features (" + std::to_string(features.size() - 1) + ")");
-
307 }
-
308 std::map<std::string, int> evidence;
-
309 for (int i = 0; i < sample.size(0); ++i) {
-
310 evidence[features[i]] = sample[i].item<int>();
-
311 }
-
312 return exactInference(evidence);
-
313 }
-
314 double Network::computeFactor(std::map<std::string, int>& completeEvidence)
-
315 {
-
316 double result = 1.0;
-
317 for (auto& node : getNodes()) {
-
318 result *= node.second->getFactorValue(completeEvidence);
-
319 }
-
320 return result;
-
321 }
-
322 std::vector<double> Network::exactInference(std::map<std::string, int>& evidence)
-
323 {
-
324 std::vector<double> result(classNumStates, 0.0);
-
325 std::vector<std::thread> threads;
-
326 std::mutex mtx;
-
327 for (int i = 0; i < classNumStates; ++i) {
-
328 threads.emplace_back([this, &result, &evidence, i, &mtx]() {
-
329 auto completeEvidence = std::map<std::string, int>(evidence);
-
330 completeEvidence[getClassName()] = i;
-
331 double factor = computeFactor(completeEvidence);
-
332 std::lock_guard<std::mutex> lock(mtx);
-
333 result[i] = factor;
-
334 });
-
335 }
-
336 for (auto& thread : threads) {
-
337 thread.join();
-
338 }
-
339 // Normalize result
-
340 double sum = accumulate(result.begin(), result.end(), 0.0);
-
341 transform(result.begin(), result.end(), result.begin(), [sum](const double& value) { return value / sum; });
-
342 return result;
-
343 }
-
344 std::vector<std::string> Network::show() const
-
345 {
-
346 std::vector<std::string> result;
-
347 // Draw the network
-
348 for (auto& node : nodes) {
-
349 std::string line = node.first + " -> ";
-
350 for (auto child : node.second->getChildren()) {
-
351 line += child->getName() + ", ";
-
352 }
-
353 result.push_back(line);
-
354 }
-
355 return result;
-
356 }
-
357 std::vector<std::string> Network::graph(const std::string& title) const
-
358 {
-
359 auto output = std::vector<std::string>();
-
360 auto prefix = "digraph BayesNet {\nlabel=<BayesNet ";
-
361 auto suffix = ">\nfontsize=30\nfontcolor=blue\nlabelloc=t\nlayout=circo\n";
-
362 std::string header = prefix + title + suffix;
-
363 output.push_back(header);
-
364 for (auto& node : nodes) {
-
365 auto result = node.second->graph(className);
-
366 output.insert(output.end(), result.begin(), result.end());
-
367 }
-
368 output.push_back("}\n");
-
369 return output;
-
370 }
-
371 std::vector<std::pair<std::string, std::string>> Network::getEdges() const
-
372 {
-
373 auto edges = std::vector<std::pair<std::string, std::string>>();
-
374 for (const auto& node : nodes) {
-
375 auto head = node.first;
-
376 for (const auto& child : node.second->getChildren()) {
-
377 auto tail = child->getName();
-
378 edges.push_back({ head, tail });
-
379 }
-
380 }
-
381 return edges;
-
382 }
-
383 int Network::getNumEdges() const
-
384 {
-
385 return getEdges().size();
-
386 }
-
387 std::vector<std::string> Network::topological_sort()
-
388 {
-
389 /* Check if al the fathers of every node are before the node */
-
390 auto result = features;
-
391 result.erase(remove(result.begin(), result.end(), className), result.end());
-
392 bool ending{ false };
-
393 while (!ending) {
-
394 ending = true;
-
395 for (auto feature : features) {
-
396 auto fathers = nodes[feature]->getParents();
-
397 for (const auto& father : fathers) {
-
398 auto fatherName = father->getName();
-
399 if (fatherName == className) {
-
400 continue;
-
401 }
-
402 // Check if father is placed before the actual feature
-
403 auto it = find(result.begin(), result.end(), fatherName);
-
404 if (it != result.end()) {
-
405 auto it2 = find(result.begin(), result.end(), feature);
-
406 if (it2 != result.end()) {
-
407 if (distance(it, it2) < 0) {
-
408 // if it is not, insert it before the feature
-
409 result.erase(remove(result.begin(), result.end(), fatherName), result.end());
-
410 result.insert(it2, fatherName);
-
411 ending = false;
-
412 }
-
413 }
-
414 }
-
415 }
-
416 }
-
417 }
-
418 return result;
-
419 }
-
420 std::string Network::dump_cpt() const
-
421 {
-
422 std::stringstream oss;
-
423 for (auto& node : nodes) {
-
424 oss << "* " << node.first << ": (" << node.second->getNumStates() << ") : " << node.second->getCPT().sizes() << std::endl;
-
425 oss << node.second->getCPT() << std::endl;
-
426 }
-
427 return oss.str();
-
428 }
-
429}
-
-
- - - - diff --git a/docs/manual/_network_8h_source.html b/docs/manual/_network_8h_source.html deleted file mode 100644 index 938087c..0000000 --- a/docs/manual/_network_8h_source.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/network/Network.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Network.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef NETWORK_H
-
8#define NETWORK_H
-
9#include <map>
-
10#include <vector>
-
11#include "bayesnet/config.h"
-
12#include "Node.h"
-
13
-
14namespace bayesnet {
-
-
15 class Network {
-
16 public:
-
17 Network();
-
18 explicit Network(float);
-
19 explicit Network(const Network&);
-
20 ~Network() = default;
-
21 torch::Tensor& getSamples();
-
22 float getMaxThreads() const;
-
23 void addNode(const std::string&);
-
24 void addEdge(const std::string&, const std::string&);
-
25 std::map<std::string, std::unique_ptr<Node>>& getNodes();
-
26 std::vector<std::string> getFeatures() const;
-
27 int getStates() const;
-
28 std::vector<std::pair<std::string, std::string>> getEdges() const;
-
29 int getNumEdges() const;
-
30 int getClassNumStates() const;
-
31 std::string getClassName() const;
-
32 /*
-
33 Notice: Nodes have to be inserted in the same order as they are in the dataset, i.e., first node is first column and so on.
-
34 */
-
35 void fit(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);
-
36 void fit(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);
-
37 void fit(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);
-
38 std::vector<int> predict(const std::vector<std::vector<int>>&); // Return mx1 std::vector of predictions
-
39 torch::Tensor predict(const torch::Tensor&); // Return mx1 tensor of predictions
-
40 torch::Tensor predict_tensor(const torch::Tensor& samples, const bool proba);
-
41 std::vector<std::vector<double>> predict_proba(const std::vector<std::vector<int>>&); // Return mxn std::vector of probabilities
-
42 torch::Tensor predict_proba(const torch::Tensor&); // Return mxn tensor of probabilities
-
43 double score(const std::vector<std::vector<int>>&, const std::vector<int>&);
-
44 std::vector<std::string> topological_sort();
-
45 std::vector<std::string> show() const;
-
46 std::vector<std::string> graph(const std::string& title) const; // Returns a std::vector of std::strings representing the graph in graphviz format
-
47 void initialize();
-
48 std::string dump_cpt() const;
-
49 inline std::string version() { return { project_version.begin(), project_version.end() }; }
-
50 private:
-
51 std::map<std::string, std::unique_ptr<Node>> nodes;
-
52 bool fitted;
-
53 float maxThreads = 0.95;
-
54 int classNumStates;
-
55 std::vector<std::string> features; // Including classname
-
56 std::string className;
-
57 double laplaceSmoothing;
-
58 torch::Tensor samples; // n+1xm tensor used to fit the model
-
59 bool isCyclic(const std::string&, std::unordered_set<std::string>&, std::unordered_set<std::string>&);
-
60 std::vector<double> predict_sample(const std::vector<int>&);
-
61 std::vector<double> predict_sample(const torch::Tensor&);
-
62 std::vector<double> exactInference(std::map<std::string, int>&);
-
63 double computeFactor(std::map<std::string, int>&);
-
64 void completeFit(const std::map<std::string, std::vector<int>>& states, const torch::Tensor& weights);
-
65 void checkFitData(int n_features, int n_samples, int n_samples_y, const std::vector<std::string>& featureNames, const std::string& className, const std::map<std::string, std::vector<int>>& states, const torch::Tensor& weights);
-
66 void setStates(const std::map<std::string, std::vector<int>>&);
-
67 };
-
-
68}
-
69#endif
- -
-
- - - - diff --git a/docs/manual/_node_8cc_source.html b/docs/manual/_node_8cc_source.html deleted file mode 100644 index 2046da7..0000000 --- a/docs/manual/_node_8cc_source.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/network/Node.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Node.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 "Node.h"
-
8
-
9namespace bayesnet {
-
10
-
11 Node::Node(const std::string& name)
-
12 : name(name)
-
13 {
-
14 }
-
15 void Node::clear()
-
16 {
-
17 parents.clear();
-
18 children.clear();
-
19 cpTable = torch::Tensor();
-
20 dimensions.clear();
-
21 numStates = 0;
-
22 }
-
23 std::string Node::getName() const
-
24 {
-
25 return name;
-
26 }
-
27 void Node::addParent(Node* parent)
-
28 {
-
29 parents.push_back(parent);
-
30 }
-
31 void Node::removeParent(Node* parent)
-
32 {
-
33 parents.erase(std::remove(parents.begin(), parents.end(), parent), parents.end());
-
34 }
-
35 void Node::removeChild(Node* child)
-
36 {
-
37 children.erase(std::remove(children.begin(), children.end(), child), children.end());
-
38 }
-
39 void Node::addChild(Node* child)
-
40 {
-
41 children.push_back(child);
-
42 }
-
43 std::vector<Node*>& Node::getParents()
-
44 {
-
45 return parents;
-
46 }
-
47 std::vector<Node*>& Node::getChildren()
-
48 {
-
49 return children;
-
50 }
-
51 int Node::getNumStates() const
-
52 {
-
53 return numStates;
-
54 }
-
55 void Node::setNumStates(int numStates)
-
56 {
-
57 this->numStates = numStates;
-
58 }
-
59 torch::Tensor& Node::getCPT()
-
60 {
-
61 return cpTable;
-
62 }
-
63 /*
-
64 The MinFill criterion is a heuristic for variable elimination.
-
65 The variable that minimizes the number of edges that need to be added to the graph to make it triangulated.
-
66 This is done by counting the number of edges that need to be added to the graph if the variable is eliminated.
-
67 The variable with the minimum number of edges is chosen.
-
68 Here this is done computing the length of the combinations of the node neighbors taken 2 by 2.
-
69 */
-
70 unsigned Node::minFill()
-
71 {
-
72 std::unordered_set<std::string> neighbors;
-
73 for (auto child : children) {
-
74 neighbors.emplace(child->getName());
-
75 }
-
76 for (auto parent : parents) {
-
77 neighbors.emplace(parent->getName());
-
78 }
-
79 auto source = std::vector<std::string>(neighbors.begin(), neighbors.end());
-
80 return combinations(source).size();
-
81 }
-
82 std::vector<std::pair<std::string, std::string>> Node::combinations(const std::vector<std::string>& source)
-
83 {
-
84 std::vector<std::pair<std::string, std::string>> result;
-
85 for (int i = 0; i < source.size(); ++i) {
-
86 std::string temp = source[i];
-
87 for (int j = i + 1; j < source.size(); ++j) {
-
88 result.push_back({ temp, source[j] });
-
89 }
-
90 }
-
91 return result;
-
92 }
-
93 void Node::computeCPT(const torch::Tensor& dataset, const std::vector<std::string>& features, const double laplaceSmoothing, const torch::Tensor& weights)
-
94 {
-
95 dimensions.clear();
-
96 // Get dimensions of the CPT
-
97 dimensions.push_back(numStates);
-
98 transform(parents.begin(), parents.end(), back_inserter(dimensions), [](const auto& parent) { return parent->getNumStates(); });
-
99 // Create a tensor of zeros with the dimensions of the CPT
-
100 cpTable = torch::zeros(dimensions, torch::kFloat) + laplaceSmoothing;
-
101 // Fill table with counts
-
102 auto pos = find(features.begin(), features.end(), name);
-
103 if (pos == features.end()) {
-
104 throw std::logic_error("Feature " + name + " not found in dataset");
-
105 }
-
106 int name_index = pos - features.begin();
-
107 for (int n_sample = 0; n_sample < dataset.size(1); ++n_sample) {
-
108 c10::List<c10::optional<at::Tensor>> coordinates;
-
109 coordinates.push_back(dataset.index({ name_index, n_sample }));
-
110 for (auto parent : parents) {
-
111 pos = find(features.begin(), features.end(), parent->getName());
-
112 if (pos == features.end()) {
-
113 throw std::logic_error("Feature parent " + parent->getName() + " not found in dataset");
-
114 }
-
115 int parent_index = pos - features.begin();
-
116 coordinates.push_back(dataset.index({ parent_index, n_sample }));
-
117 }
-
118 // Increment the count of the corresponding coordinate
-
119 cpTable.index_put_({ coordinates }, cpTable.index({ coordinates }) + weights.index({ n_sample }).item<double>());
-
120 }
-
121 // Normalize the counts
-
122 cpTable = cpTable / cpTable.sum(0);
-
123 }
-
124 float Node::getFactorValue(std::map<std::string, int>& evidence)
-
125 {
-
126 c10::List<c10::optional<at::Tensor>> coordinates;
-
127 // following predetermined order of indices in the cpTable (see Node.h)
-
128 coordinates.push_back(at::tensor(evidence[name]));
-
129 transform(parents.begin(), parents.end(), std::back_inserter(coordinates), [&evidence](const auto& parent) { return at::tensor(evidence[parent->getName()]); });
-
130 return cpTable.index({ coordinates }).item<float>();
-
131 }
-
132 std::vector<std::string> Node::graph(const std::string& className)
-
133 {
-
134 auto output = std::vector<std::string>();
-
135 auto suffix = name == className ? ", fontcolor=red, fillcolor=lightblue, style=filled " : "";
-
136 output.push_back(name + " [shape=circle" + suffix + "] \n");
-
137 transform(children.begin(), children.end(), back_inserter(output), [this](const auto& child) { return name + " -> " + child->getName(); });
-
138 return output;
-
139 }
-
140}
-
-
- - - - diff --git a/docs/manual/_node_8h_source.html b/docs/manual/_node_8h_source.html deleted file mode 100644 index 5121b18..0000000 --- a/docs/manual/_node_8h_source.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/network/Node.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Node.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef NODE_H
-
8#define NODE_H
-
9#include <unordered_set>
-
10#include <vector>
-
11#include <string>
-
12#include <torch/torch.h>
-
13namespace bayesnet {
-
-
14 class Node {
-
15 public:
-
16 explicit Node(const std::string&);
-
17 void clear();
-
18 void addParent(Node*);
-
19 void addChild(Node*);
-
20 void removeParent(Node*);
-
21 void removeChild(Node*);
-
22 std::string getName() const;
-
23 std::vector<Node*>& getParents();
-
24 std::vector<Node*>& getChildren();
-
25 torch::Tensor& getCPT();
-
26 void computeCPT(const torch::Tensor& dataset, const std::vector<std::string>& features, const double laplaceSmoothing, const torch::Tensor& weights);
-
27 int getNumStates() const;
-
28 void setNumStates(int);
-
29 unsigned minFill();
-
30 std::vector<std::string> graph(const std::string& clasName); // Returns a std::vector of std::strings representing the graph in graphviz format
-
31 float getFactorValue(std::map<std::string, int>&);
-
32 private:
-
33 std::string name;
-
34 std::vector<Node*> parents;
-
35 std::vector<Node*> children;
-
36 int numStates = 0; // number of states of the variable
-
37 torch::Tensor cpTable; // Order of indices is 0-> node variable, 1-> 1st parent, 2-> 2nd parent, ...
-
38 std::vector<int64_t> dimensions; // dimensions of the cpTable
-
39 std::vector<std::pair<std::string, std::string>> combinations(const std::vector<std::string>&);
-
40 };
-
-
41}
-
42#endif
- -
-
- - - - diff --git a/docs/manual/_proposal_8cc_source.html b/docs/manual/_proposal_8cc_source.html deleted file mode 100644 index 89130d5..0000000 --- a/docs/manual/_proposal_8cc_source.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Proposal.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Proposal.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 "Proposal.h"
-
8
-
9namespace bayesnet {
-
10 Proposal::Proposal(torch::Tensor& dataset_, std::vector<std::string>& features_, std::string& className_) : pDataset(dataset_), pFeatures(features_), pClassName(className_) {}
-
11 Proposal::~Proposal()
-
12 {
-
13 for (auto& [key, value] : discretizers) {
-
14 delete value;
-
15 }
-
16 }
-
17 void Proposal::checkInput(const torch::Tensor& X, const torch::Tensor& y)
-
18 {
-
19 if (!torch::is_floating_point(X)) {
-
20 throw std::invalid_argument("X must be a floating point tensor");
-
21 }
-
22 if (torch::is_floating_point(y)) {
-
23 throw std::invalid_argument("y must be an integer tensor");
-
24 }
-
25 }
-
26 map<std::string, std::vector<int>> Proposal::localDiscretizationProposal(const map<std::string, std::vector<int>>& oldStates, Network& model)
-
27 {
-
28 // order of local discretization is important. no good 0, 1, 2...
-
29 // although we rediscretize features after the local discretization of every feature
-
30 auto order = model.topological_sort();
-
31 auto& nodes = model.getNodes();
-
32 map<std::string, std::vector<int>> states = oldStates;
-
33 std::vector<int> indicesToReDiscretize;
-
34 bool upgrade = false; // Flag to check if we need to upgrade the model
-
35 for (auto feature : order) {
-
36 auto nodeParents = nodes[feature]->getParents();
-
37 if (nodeParents.size() < 2) continue; // Only has class as parent
-
38 upgrade = true;
-
39 int index = find(pFeatures.begin(), pFeatures.end(), feature) - pFeatures.begin();
-
40 indicesToReDiscretize.push_back(index); // We need to re-discretize this feature
-
41 std::vector<std::string> parents;
-
42 transform(nodeParents.begin(), nodeParents.end(), back_inserter(parents), [](const auto& p) { return p->getName(); });
-
43 // Remove class as parent as it will be added later
-
44 parents.erase(remove(parents.begin(), parents.end(), pClassName), parents.end());
-
45 // Get the indices of the parents
-
46 std::vector<int> indices;
-
47 indices.push_back(-1); // Add class index
-
48 transform(parents.begin(), parents.end(), back_inserter(indices), [&](const auto& p) {return find(pFeatures.begin(), pFeatures.end(), p) - pFeatures.begin(); });
-
49 // Now we fit the discretizer of the feature, conditioned on its parents and the class i.e. discretizer.fit(X[index], X[indices] + y)
-
50 std::vector<std::string> yJoinParents(Xf.size(1));
-
51 for (auto idx : indices) {
-
52 for (int i = 0; i < Xf.size(1); ++i) {
-
53 yJoinParents[i] += to_string(pDataset.index({ idx, i }).item<int>());
-
54 }
-
55 }
-
56 auto yxv = factorize(yJoinParents);
-
57 auto xvf_ptr = Xf.index({ index }).data_ptr<float>();
-
58 auto xvf = std::vector<mdlp::precision_t>(xvf_ptr, xvf_ptr + Xf.size(1));
-
59 discretizers[feature]->fit(xvf, yxv);
-
60 }
-
61 if (upgrade) {
-
62 // Discretize again X (only the affected indices) with the new fitted discretizers
-
63 for (auto index : indicesToReDiscretize) {
-
64 auto Xt_ptr = Xf.index({ index }).data_ptr<float>();
-
65 auto Xt = std::vector<float>(Xt_ptr, Xt_ptr + Xf.size(1));
-
66 pDataset.index_put_({ index, "..." }, torch::tensor(discretizers[pFeatures[index]]->transform(Xt)));
-
67 auto xStates = std::vector<int>(discretizers[pFeatures[index]]->getCutPoints().size() + 1);
-
68 iota(xStates.begin(), xStates.end(), 0);
-
69 //Update new states of the feature/node
-
70 states[pFeatures[index]] = xStates;
-
71 }
-
72 const torch::Tensor weights = torch::full({ pDataset.size(1) }, 1.0 / pDataset.size(1), torch::kDouble);
-
73 model.fit(pDataset, weights, pFeatures, pClassName, states);
-
74 }
-
75 return states;
-
76 }
-
77 map<std::string, std::vector<int>> Proposal::fit_local_discretization(const torch::Tensor& y)
-
78 {
-
79 // Discretize the continuous input data and build pDataset (Classifier::dataset)
-
80 int m = Xf.size(1);
-
81 int n = Xf.size(0);
-
82 map<std::string, std::vector<int>> states;
-
83 pDataset = torch::zeros({ n + 1, m }, torch::kInt32);
-
84 auto yv = std::vector<int>(y.data_ptr<int>(), y.data_ptr<int>() + y.size(0));
-
85 // discretize input data by feature(row)
-
86 for (auto i = 0; i < pFeatures.size(); ++i) {
-
87 auto* discretizer = new mdlp::CPPFImdlp();
-
88 auto Xt_ptr = Xf.index({ i }).data_ptr<float>();
-
89 auto Xt = std::vector<float>(Xt_ptr, Xt_ptr + Xf.size(1));
-
90 discretizer->fit(Xt, yv);
-
91 pDataset.index_put_({ i, "..." }, torch::tensor(discretizer->transform(Xt)));
-
92 auto xStates = std::vector<int>(discretizer->getCutPoints().size() + 1);
-
93 iota(xStates.begin(), xStates.end(), 0);
-
94 states[pFeatures[i]] = xStates;
-
95 discretizers[pFeatures[i]] = discretizer;
-
96 }
-
97 int n_classes = torch::max(y).item<int>() + 1;
-
98 auto yStates = std::vector<int>(n_classes);
-
99 iota(yStates.begin(), yStates.end(), 0);
-
100 states[pClassName] = yStates;
-
101 pDataset.index_put_({ n, "..." }, y);
-
102 return states;
-
103 }
-
104 torch::Tensor Proposal::prepareX(torch::Tensor& X)
-
105 {
-
106 auto Xtd = torch::zeros_like(X, torch::kInt32);
-
107 for (int i = 0; i < X.size(0); ++i) {
-
108 auto Xt = std::vector<float>(X[i].data_ptr<float>(), X[i].data_ptr<float>() + X.size(1));
-
109 auto Xd = discretizers[pFeatures[i]]->transform(Xt);
-
110 Xtd.index_put_({ i }, torch::tensor(Xd, torch::kInt32));
-
111 }
-
112 return Xtd;
-
113 }
-
114 std::vector<int> Proposal::factorize(const std::vector<std::string>& labels_t)
-
115 {
-
116 std::vector<int> yy;
-
117 yy.reserve(labels_t.size());
-
118 std::map<std::string, int> labelMap;
-
119 int i = 0;
-
120 for (const std::string& label : labels_t) {
-
121 if (labelMap.find(label) == labelMap.end()) {
-
122 labelMap[label] = i++;
-
123 bool allDigits = std::all_of(label.begin(), label.end(), ::isdigit);
-
124 }
-
125 yy.push_back(labelMap[label]);
-
126 }
-
127 return yy;
-
128 }
-
129}
-
-
- - - - diff --git a/docs/manual/_proposal_8h_source.html b/docs/manual/_proposal_8h_source.html deleted file mode 100644 index dcce17b..0000000 --- a/docs/manual/_proposal_8h_source.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Proposal.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Proposal.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef PROPOSAL_H
-
8#define PROPOSAL_H
-
9#include <string>
-
10#include <map>
-
11#include <torch/torch.h>
-
12#include <CPPFImdlp.h>
-
13#include "bayesnet/network/Network.h"
-
14#include "Classifier.h"
-
15
-
16namespace bayesnet {
-
-
17 class Proposal {
-
18 public:
-
19 Proposal(torch::Tensor& pDataset, std::vector<std::string>& features_, std::string& className_);
-
20 virtual ~Proposal();
-
21 protected:
-
22 void checkInput(const torch::Tensor& X, const torch::Tensor& y);
-
23 torch::Tensor prepareX(torch::Tensor& X);
-
24 map<std::string, std::vector<int>> localDiscretizationProposal(const map<std::string, std::vector<int>>& states, Network& model);
-
25 map<std::string, std::vector<int>> fit_local_discretization(const torch::Tensor& y);
-
26 torch::Tensor Xf; // X continuous nxm tensor
-
27 torch::Tensor y; // y discrete nx1 tensor
-
28 map<std::string, mdlp::CPPFImdlp*> discretizers;
-
29 private:
-
30 std::vector<int> factorize(const std::vector<std::string>& labels_t);
-
31 torch::Tensor& pDataset; // (n+1)xm tensor
-
32 std::vector<std::string>& pFeatures;
-
33 std::string& pClassName;
-
34 };
-
-
35}
-
36
-
37#endif
- - -
-
- - - - diff --git a/docs/manual/_s_p_o_d_e_8cc_source.html b/docs/manual/_s_p_o_d_e_8cc_source.html deleted file mode 100644 index 2e5c363..0000000 --- a/docs/manual/_s_p_o_d_e_8cc_source.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODE.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
SPODE.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 "SPODE.h"
-
8
-
9namespace bayesnet {
-
10
-
11 SPODE::SPODE(int root) : Classifier(Network()), root(root) {}
-
12
-
13 void SPODE::buildModel(const torch::Tensor& weights)
-
14 {
-
15 // 0. Add all nodes to the model
-
16 addNodes();
-
17 // 1. Add edges from the class node to all other nodes
-
18 // 2. Add edges from the root node to all other nodes
-
19 for (int i = 0; i < static_cast<int>(features.size()); ++i) {
-
20 model.addEdge(className, features[i]);
-
21 if (i != root) {
-
22 model.addEdge(features[root], features[i]);
-
23 }
-
24 }
-
25 }
-
26 std::vector<std::string> SPODE::graph(const std::string& name) const
-
27 {
-
28 return model.graph(name);
-
29 }
-
30
-
31}
-
-
- - - - diff --git a/docs/manual/_s_p_o_d_e_8h_source.html b/docs/manual/_s_p_o_d_e_8h_source.html deleted file mode 100644 index 681595b..0000000 --- a/docs/manual/_s_p_o_d_e_8h_source.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODE.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
SPODE.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef SPODE_H
-
8#define SPODE_H
-
9#include "Classifier.h"
-
10
-
11namespace bayesnet {
-
-
12 class SPODE : public Classifier {
-
13 private:
-
14 int root;
-
15 protected:
-
16 void buildModel(const torch::Tensor& weights) override;
-
17 public:
-
18 explicit SPODE(int root);
-
19 virtual ~SPODE() = default;
-
20 std::vector<std::string> graph(const std::string& name = "SPODE") const override;
-
21 };
-
-
22}
-
23#endif
- - -
-
- - - - diff --git a/docs/manual/_s_p_o_d_e_ld_8cc_source.html b/docs/manual/_s_p_o_d_e_ld_8cc_source.html deleted file mode 100644 index 1afe7a6..0000000 --- a/docs/manual/_s_p_o_d_e_ld_8cc_source.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODELd.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
SPODELd.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 "SPODELd.h"
-
8
-
9namespace bayesnet {
-
10 SPODELd::SPODELd(int root) : SPODE(root), Proposal(dataset, features, className) {}
-
11 SPODELd& SPODELd::fit(torch::Tensor& X_, torch::Tensor& y_, const std::vector<std::string>& features_, const std::string& className_, map<std::string, std::vector<int>>& states_)
-
12 {
-
13 checkInput(X_, y_);
-
14 Xf = X_;
-
15 y = y_;
-
16 return commonFit(features_, className_, states_);
-
17 }
-
18
-
19 SPODELd& SPODELd::fit(torch::Tensor& dataset, const std::vector<std::string>& features_, const std::string& className_, map<std::string, std::vector<int>>& states_)
-
20 {
-
21 if (!torch::is_floating_point(dataset)) {
-
22 throw std::runtime_error("Dataset must be a floating point tensor");
-
23 }
-
24 Xf = dataset.index({ torch::indexing::Slice(0, dataset.size(0) - 1), "..." }).clone();
-
25 y = dataset.index({ -1, "..." }).clone().to(torch::kInt32);
-
26 return commonFit(features_, className_, states_);
-
27 }
-
28
-
29 SPODELd& SPODELd::commonFit(const std::vector<std::string>& features_, const std::string& className_, map<std::string, std::vector<int>>& states_)
-
30 {
-
31 features = features_;
-
32 className = className_;
-
33 // Fills std::vectors Xv & yv with the data from tensors X_ (discretized) & y
-
34 states = fit_local_discretization(y);
-
35 // We have discretized the input data
-
36 // 1st we need to fit the model to build the normal SPODE structure, SPODE::fit initializes the base Bayesian network
-
37 SPODE::fit(dataset, features, className, states);
-
38 states = localDiscretizationProposal(states, model);
-
39 return *this;
-
40 }
-
41 torch::Tensor SPODELd::predict(torch::Tensor& X)
-
42 {
-
43 auto Xt = prepareX(X);
-
44 return SPODE::predict(Xt);
-
45 }
-
46 std::vector<std::string> SPODELd::graph(const std::string& name) const
-
47 {
-
48 return SPODE::graph(name);
-
49 }
-
50}
-
-
- - - - diff --git a/docs/manual/_s_p_o_d_e_ld_8h_source.html b/docs/manual/_s_p_o_d_e_ld_8h_source.html deleted file mode 100644 index 489c096..0000000 --- a/docs/manual/_s_p_o_d_e_ld_8h_source.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODELd.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
SPODELd.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef SPODELD_H
-
8#define SPODELD_H
-
9#include "SPODE.h"
-
10#include "Proposal.h"
-
11
-
12namespace bayesnet {
-
-
13 class SPODELd : public SPODE, public Proposal {
-
14 public:
-
15 explicit SPODELd(int root);
-
16 virtual ~SPODELd() = default;
-
17 SPODELd& fit(torch::Tensor& X, torch::Tensor& y, const std::vector<std::string>& features, const std::string& className, map<std::string, std::vector<int>>& states) override;
-
18 SPODELd& fit(torch::Tensor& dataset, const std::vector<std::string>& features, const std::string& className, map<std::string, std::vector<int>>& states) override;
-
19 SPODELd& commonFit(const std::vector<std::string>& features, const std::string& className, map<std::string, std::vector<int>>& states);
-
20 std::vector<std::string> graph(const std::string& name = "SPODE") const override;
-
21 torch::Tensor predict(torch::Tensor& X) override;
-
22 static inline std::string version() { return "0.0.1"; };
-
23 };
-
-
24}
-
25#endif // !SPODELD_H
- - - -
-
- - - - diff --git a/docs/manual/_s_pn_d_e_8cc_source.html b/docs/manual/_s_pn_d_e_8cc_source.html deleted file mode 100644 index c5b2eff..0000000 --- a/docs/manual/_s_pn_d_e_8cc_source.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPnDE.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
SPnDE.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 "SPnDE.h"
-
8
-
9namespace bayesnet {
-
10
-
11 SPnDE::SPnDE(std::vector<int> parents) : Classifier(Network()), parents(parents) {}
-
12
-
13 void SPnDE::buildModel(const torch::Tensor& weights)
-
14 {
-
15 // 0. Add all nodes to the model
-
16 addNodes();
-
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);
-
21 }
-
22 }
-
23 // 1. Add edges from the class node to all other nodes
-
24 // 2. Add edges from the parents nodes to all other nodes
-
25 for (const auto& attribute : attributes) {
-
26 model.addEdge(className, features[attribute]);
-
27 for (const auto& root : parents) {
-
28
-
29 model.addEdge(features[root], features[attribute]);
-
30 }
-
31 }
-
32 }
-
33 std::vector<std::string> SPnDE::graph(const std::string& name) const
-
34 {
-
35 return model.graph(name);
-
36 }
-
37
-
38}
-
-
- - - - diff --git a/docs/manual/_s_pn_d_e_8h_source.html b/docs/manual/_s_pn_d_e_8h_source.html deleted file mode 100644 index d2cfecf..0000000 --- a/docs/manual/_s_pn_d_e_8h_source.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPnDE.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
SPnDE.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef SPnDE_H
-
8#define SPnDE_H
-
9#include <vector>
-
10#include "Classifier.h"
-
11
-
12namespace bayesnet {
-
-
13 class SPnDE : public Classifier {
-
14 public:
-
15 explicit SPnDE(std::vector<int> parents);
-
16 virtual ~SPnDE() = default;
-
17 std::vector<std::string> graph(const std::string& name = "SPnDE") const override;
-
18 protected:
-
19 void buildModel(const torch::Tensor& weights) override;
-
20 private:
-
21 std::vector<int> parents;
-
22
-
23
-
24 };
-
-
25}
-
26#endif
- - -
-
- - - - diff --git a/docs/manual/_t_a_n_8cc_source.html b/docs/manual/_t_a_n_8cc_source.html deleted file mode 100644 index 9a6f957..0000000 --- a/docs/manual/_t_a_n_8cc_source.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TAN.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
TAN.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 "TAN.h"
-
8
-
9namespace bayesnet {
-
10 TAN::TAN() : Classifier(Network()) {}
-
11
-
12 void TAN::buildModel(const torch::Tensor& weights)
-
13 {
-
14 // 0. Add all nodes to the model
-
15 addNodes();
-
16 // 1. Compute mutual information between each feature and the class and set the root node
-
17 // as the highest mutual information with the class
-
18 auto mi = std::vector <std::pair<int, float >>();
-
19 torch::Tensor class_dataset = dataset.index({ -1, "..." });
-
20 for (int i = 0; i < static_cast<int>(features.size()); ++i) {
-
21 torch::Tensor feature_dataset = dataset.index({ i, "..." });
-
22 auto mi_value = metrics.mutualInformation(class_dataset, feature_dataset, weights);
-
23 mi.push_back({ i, mi_value });
-
24 }
-
25 sort(mi.begin(), mi.end(), [](const auto& left, const auto& right) {return left.second < right.second;});
-
26 auto root = mi[mi.size() - 1].first;
-
27 // 2. Compute mutual information between each feature and the class
-
28 auto weights_matrix = metrics.conditionalEdge(weights);
-
29 // 3. Compute the maximum spanning tree
-
30 auto mst = metrics.maximumSpanningTree(features, weights_matrix, root);
-
31 // 4. Add edges from the maximum spanning tree to the model
-
32 for (auto i = 0; i < mst.size(); ++i) {
-
33 auto [from, to] = mst[i];
-
34 model.addEdge(features[from], features[to]);
-
35 }
-
36 // 5. Add edges from the class to all features
-
37 for (auto feature : features) {
-
38 model.addEdge(className, feature);
-
39 }
-
40 }
-
41 std::vector<std::string> TAN::graph(const std::string& title) const
-
42 {
-
43 return model.graph(title);
-
44 }
-
45}
-
-
- - - - diff --git a/docs/manual/_t_a_n_8h_source.html b/docs/manual/_t_a_n_8h_source.html deleted file mode 100644 index f8621f6..0000000 --- a/docs/manual/_t_a_n_8h_source.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TAN.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
TAN.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef TAN_H
-
8#define TAN_H
-
9#include "Classifier.h"
-
10namespace bayesnet {
-
-
11 class TAN : public Classifier {
-
12 private:
-
13 protected:
-
14 void buildModel(const torch::Tensor& weights) override;
-
15 public:
-
16 TAN();
-
17 virtual ~TAN() = default;
-
18 std::vector<std::string> graph(const std::string& name = "TAN") const override;
-
19 };
-
-
20}
-
21#endif
- - -
-
- - - - diff --git a/docs/manual/_t_a_n_ld_8cc_source.html b/docs/manual/_t_a_n_ld_8cc_source.html deleted file mode 100644 index 9c8daf3..0000000 --- a/docs/manual/_t_a_n_ld_8cc_source.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TANLd.cc Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
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_)
-
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);
-
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}
-
-
- - - - diff --git a/docs/manual/_t_a_n_ld_8h_source.html b/docs/manual/_t_a_n_ld_8h_source.html deleted file mode 100644 index 59cbc7b..0000000 --- a/docs/manual/_t_a_n_ld_8h_source.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TANLd.h Source File - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
TANLd.h
-
-
-
1// ***************************************************************
-
2// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
-
3// SPDX-FileType: SOURCE
-
4// SPDX-License-Identifier: MIT
-
5// ***************************************************************
-
6
-
7#ifndef TANLD_H
-
8#define TANLD_H
-
9#include "TAN.h"
-
10#include "Proposal.h"
-
11
-
12namespace bayesnet {
-
-
13 class TANLd : public TAN, public Proposal {
-
14 private:
-
15 public:
-
16 TANLd();
-
17 virtual ~TANLd() = default;
-
18 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) override;
-
19 std::vector<std::string> graph(const std::string& name = "TAN") const override;
-
20 torch::Tensor predict(torch::Tensor& X) override;
-
21 static inline std::string version() { return "0.0.1"; };
-
22 };
-
-
23}
-
24#endif // !TANLD_H
- - - -
-
- - - - diff --git a/docs/manual/annotated.html b/docs/manual/annotated.html deleted file mode 100644 index 13be465..0000000 --- a/docs/manual/annotated.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -BayesNet: Class List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 12]
- - - - - - - - - - - - - - - - - - - - -
 Nbayesnet
 CA2DE
 CAODE
 CAODELd
 CBaseClassifier
 CBoost
 CBoostA2DE
 CBoostAODE
 CClassifier
 CEnsemble
 CKDB
 CKDBLd
 CNetwork
 CNode
 CProposal
 CSPnDE
 CSPODE
 CSPODELd
 CTAN
 CTANLd
-
-
-
- - - - diff --git a/docs/manual/annotated_dup.js b/docs/manual/annotated_dup.js deleted file mode 100644 index 6c6009f..0000000 --- a/docs/manual/annotated_dup.js +++ /dev/null @@ -1,24 +0,0 @@ -var annotated_dup = -[ - [ "bayesnet", null, [ - [ "A2DE", "classbayesnet_1_1_a2_d_e.html", null ], - [ "AODE", "classbayesnet_1_1_a_o_d_e.html", null ], - [ "AODELd", "classbayesnet_1_1_a_o_d_e_ld.html", null ], - [ "BaseClassifier", "classbayesnet_1_1_base_classifier.html", null ], - [ "Boost", "classbayesnet_1_1_boost.html", null ], - [ "BoostA2DE", "classbayesnet_1_1_boost_a2_d_e.html", null ], - [ "BoostAODE", "classbayesnet_1_1_boost_a_o_d_e.html", null ], - [ "Classifier", "classbayesnet_1_1_classifier.html", null ], - [ "Ensemble", "classbayesnet_1_1_ensemble.html", null ], - [ "KDB", "classbayesnet_1_1_k_d_b.html", null ], - [ "KDBLd", "classbayesnet_1_1_k_d_b_ld.html", null ], - [ "Network", "classbayesnet_1_1_network.html", null ], - [ "Node", "classbayesnet_1_1_node.html", null ], - [ "Proposal", "classbayesnet_1_1_proposal.html", null ], - [ "SPnDE", "classbayesnet_1_1_s_pn_d_e.html", null ], - [ "SPODE", "classbayesnet_1_1_s_p_o_d_e.html", null ], - [ "SPODELd", "classbayesnet_1_1_s_p_o_d_e_ld.html", null ], - [ "TAN", "classbayesnet_1_1_t_a_n.html", null ], - [ "TANLd", "classbayesnet_1_1_t_a_n_ld.html", null ] - ] ] -]; \ No newline at end of file diff --git a/docs/manual/bc_s.png b/docs/manual/bc_s.png deleted file mode 100644 index 224b29aa9847d5a4b3902efd602b7ddf7d33e6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT diff --git a/docs/manual/bc_sd.png b/docs/manual/bc_sd.png deleted file mode 100644 index 31ca888dc71049713b35c351933a8d0f36180bf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmV->0)+jEP)Jwi0r1~gdSq#w{Bu1q z`craw(p2!hu$4C_$Oc3X(sI6e=9QSTwPt{G) z=htT&^~&c~L2~e{r5_5SYe7#Is-$ln>~Kd%$F#tC65?{LvQ}8O`A~RBB0N~`2M+waajO;5>3B&-viHGJeEK2TQOiPRa zfDKyqwMc4wfaEh4jt>H`nW_Zidwk@Bowp`}(VUaj-pSI(-1L>FJVsX}Yl9~JsqgsZ zUD9(rMwf23Gez6KPa|wwInZodP-2}9@fK0Ga_9{8SOjU&4l`pH4@qlQp83>>HT$xW zER^U>)MyV%t(Lu=`d=Y?{k1@}&r7ZGkFQ%z%N+sE9BtYjovzxyxCPxN6&@wLK{soQ zSmkj$aLI}miuE^p@~4}mg9OjDfGEkgY4~^XzLRUBB*O{+&vq<3v(E%+k_i%=`~j%{ Vj14gnt9}3g002ovPDHLkV1n!oC4m3{ diff --git a/docs/manual/classbayesnet_1_1_a2_d_e-members.html b/docs/manual/classbayesnet_1_1_a2_d_e-members.html deleted file mode 100644 index 35b3392..0000000 --- a/docs/manual/classbayesnet_1_1_a2_d_e-members.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::A2DE Member List
-
-
- -

This is the complete list of members for bayesnet::A2DE, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A2DE(bool predict_voting=false) (defined in bayesnet::A2DE)bayesnet::A2DE
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::A2DE)bayesnet::A2DEprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
compute_arg_max(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
compute_arg_max(std::vector< std::vector< double > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
Ensemble(bool predict_voting=true) (defined in bayesnet::Ensemble)bayesnet::Ensemble
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfNodes() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfStates() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &title="A2DE") const override (defined in bayesnet::A2DE)bayesnet::A2DEvirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n_models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_average_proba(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_proba(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_proba(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_voting (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::A2DE)bayesnet::A2DEvirtual
show() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
significanceModels (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Ensemble)bayesnet::Ensembleprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
voting(torch::Tensor &votes) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
~A2DE() (defined in bayesnet::A2DE)bayesnet::A2DEinlinevirtual
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Ensemble()=default (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_a2_d_e.html b/docs/manual/classbayesnet_1_1_a2_d_e.html deleted file mode 100644 index d883239..0000000 --- a/docs/manual/classbayesnet_1_1_a2_d_e.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - -BayesNet: bayesnet::A2DE Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::A2DE Class Reference
-
-
-
-Inheritance diagram for bayesnet::A2DE:
-
-
Inheritance graph
- - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::A2DE:
-
-
Collaboration graph
- - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 A2DE (bool predict_voting=false)
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
std::vector< std::string > graph (const std::string &title="A2DE") const override
 
- Public Member Functions inherited from bayesnet::Ensemble
 Ensemble (bool predict_voting=true)
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
std::vector< std::string > show () const override
 
std::vector< std::string > graph (const std::string &title) const override
 
std::vector< std::string > topological_order () override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getClassNumStates () const override
 
status_t getStatus () const override
 
std::string getVersion () override
 
std::vector< std::string > getNotes () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Ensemble
torch::Tensor predict_average_voting (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_voting (std::vector< std::vector< int > > &X)
 
torch::Tensor predict_average_proba (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_proba (std::vector< std::vector< int > > &X)
 
torch::Tensor compute_arg_max (torch::Tensor &X)
 
std::vector< int > compute_arg_max (std::vector< std::vector< double > > &X)
 
torch::Tensor voting (torch::Tensor &votes)
 
void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Ensemble
unsigned n_models
 
std::vector< std::unique_ptr< Classifier > > models
 
std::vector< double > significanceModels
 
bool predict_voting
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 12 of file A2DE.h.

-

Constructor & Destructor Documentation

- -

◆ A2DE()

- -
-
- - - - - - - -
bayesnet::A2DE::A2DE (bool predict_voting = false)
-
- -

Definition at line 10 of file A2DE.cc.

- -
-
- -

◆ ~A2DE()

- -
-
- - - - - -
- - - - - - - -
virtual bayesnet::A2DE::~A2DE ()
-
-inlinevirtual
-
- -

Definition at line 15 of file A2DE.h.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::A2DE::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 23 of file A2DE.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::A2DE::graph (const std::string & title = "A2DE") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 36 of file A2DE.cc.

- -
-
- -

◆ setHyperparameters()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::A2DE::setHyperparameters (const nlohmann::json & hyperparameters)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 14 of file A2DE.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/A2DE.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/A2DE.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.map b/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.map deleted file mode 100644 index 2ed4963..0000000 --- a/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.md5 b/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.md5 deleted file mode 100644 index e47884e..0000000 --- a/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1a9d8b8ca8faca87b7939271324f2f54 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.png b/docs/manual/classbayesnet_1_1_a2_d_e__coll__graph.png deleted file mode 100644 index 306367d63bc5ae01d9bbc82dd3b2727c7319fd4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13836 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 diff --git a/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.map b/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.map deleted file mode 100644 index 3933e10..0000000 --- a/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.md5 deleted file mode 100644 index 2430de2..0000000 --- a/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2a4c640dc60ff5b335609cbf09ecb998 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.png b/docs/manual/classbayesnet_1_1_a2_d_e__inherit__graph.png deleted file mode 100644 index 71e485d88a99575ca14d23e1460349412472bee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9888 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 PIYUr)74GETHt_oo+?oU` diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e-members.html b/docs/manual/classbayesnet_1_1_a_o_d_e-members.html deleted file mode 100644 index 910d05f..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e-members.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::AODE Member List
-
-
- -

This is the complete list of members for bayesnet::AODE, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
AODE(bool predict_voting=false) (defined in bayesnet::AODE)bayesnet::AODE
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::AODE)bayesnet::AODEprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
compute_arg_max(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
compute_arg_max(std::vector< std::vector< double > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
Ensemble(bool predict_voting=true) (defined in bayesnet::Ensemble)bayesnet::Ensemble
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfNodes() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfStates() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &title="AODE") const override (defined in bayesnet::AODE)bayesnet::AODEvirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n_models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_average_proba(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_proba(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_proba(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_voting (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::AODE)bayesnet::AODEvirtual
show() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
significanceModels (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Ensemble)bayesnet::Ensembleprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
voting(torch::Tensor &votes) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
~AODE() (defined in bayesnet::AODE)bayesnet::AODEinlinevirtual
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Ensemble()=default (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e.html b/docs/manual/classbayesnet_1_1_a_o_d_e.html deleted file mode 100644 index 1c6cc5a..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - -BayesNet: bayesnet::AODE Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::AODE Class Reference
-
-
-
-Inheritance diagram for bayesnet::AODE:
-
-
Inheritance graph
- - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::AODE:
-
-
Collaboration graph
- - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 AODE (bool predict_voting=false)
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
std::vector< std::string > graph (const std::string &title="AODE") const override
 
- Public Member Functions inherited from bayesnet::Ensemble
 Ensemble (bool predict_voting=true)
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
std::vector< std::string > show () const override
 
std::vector< std::string > graph (const std::string &title) const override
 
std::vector< std::string > topological_order () override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getClassNumStates () const override
 
status_t getStatus () const override
 
std::string getVersion () override
 
std::vector< std::string > getNotes () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Ensemble
torch::Tensor predict_average_voting (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_voting (std::vector< std::vector< int > > &X)
 
torch::Tensor predict_average_proba (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_proba (std::vector< std::vector< int > > &X)
 
torch::Tensor compute_arg_max (torch::Tensor &X)
 
std::vector< int > compute_arg_max (std::vector< std::vector< double > > &X)
 
torch::Tensor voting (torch::Tensor &votes)
 
void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Ensemble
unsigned n_models
 
std::vector< std::unique_ptr< Classifier > > models
 
std::vector< double > significanceModels
 
bool predict_voting
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 12 of file AODE.h.

-

Constructor & Destructor Documentation

- -

◆ AODE()

- -
-
- - - - - - - -
bayesnet::AODE::AODE (bool predict_voting = false)
-
- -

Definition at line 10 of file AODE.cc.

- -
-
- -

◆ ~AODE()

- -
-
- - - - - -
- - - - - - - -
virtual bayesnet::AODE::~AODE ()
-
-inlinevirtual
-
- -

Definition at line 15 of file AODE.h.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::AODE::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 24 of file AODE.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::AODE::graph (const std::string & title = "AODE") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 34 of file AODE.cc.

- -
-
- -

◆ setHyperparameters()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::AODE::setHyperparameters (const nlohmann::json & hyperparameters)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 15 of file AODE.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODE.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODE.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.map b/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.map deleted file mode 100644 index 12e0d18..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.md5 b/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.md5 deleted file mode 100644 index e6b0ce6..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a8ecb4b4827a401aa13582922068e79f \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.png b/docs/manual/classbayesnet_1_1_a_o_d_e__coll__graph.png deleted file mode 100644 index 76cba847d662acbdfaf60ee7bc5f8f88d3c9a654..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13955 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 diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.map b/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.map deleted file mode 100644 index b9bbc8e..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.md5 deleted file mode 100644 index 349ca86..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e36b83aa01980726c9835edea89fb3f \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.png b/docs/manual/classbayesnet_1_1_a_o_d_e__inherit__graph.png deleted file mode 100644 index 84bdbab593f7163ed7049b04da4cbf725943e61b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10014 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 diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld-members.html b/docs/manual/classbayesnet_1_1_a_o_d_e_ld-members.html deleted file mode 100644 index 761d28d..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e_ld-members.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::AODELd Member List
-
-
- -

This is the complete list of members for bayesnet::AODELd, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
AODELd(bool predict_voting=true) (defined in bayesnet::AODELd)bayesnet::AODELd
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::AODELd)bayesnet::AODELdprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
checkInput(const torch::Tensor &X, const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
compute_arg_max(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
compute_arg_max(std::vector< std::vector< double > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
discretizers (defined in bayesnet::Proposal)bayesnet::Proposalprotected
dump_cpt() const override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
Ensemble(bool predict_voting=true) (defined in bayesnet::Ensemble)bayesnet::Ensemble
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
fit(torch::Tensor &X_, torch::Tensor &y_, const std::vector< std::string > &features_, const std::string &className_, map< std::string, std::vector< int > > &states_) override (defined in bayesnet::AODELd)bayesnet::AODELd
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit_local_discretization(const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfNodes() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfStates() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="AODELd") const override (defined in bayesnet::AODELd)bayesnet::AODELdvirtual
localDiscretizationProposal(const map< std::string, std::vector< int > > &states, Network &model) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n_models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_average_proba(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_proba(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_proba(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_voting (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
prepareX(torch::Tensor &X) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Proposal(torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_) (defined in bayesnet::Proposal)bayesnet::Proposal
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
significanceModels (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::AODELd)bayesnet::AODELdprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
voting(torch::Tensor &votes) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
Xf (defined in bayesnet::Proposal)bayesnet::Proposalprotected
y (defined in bayesnet::Proposal)bayesnet::Proposalprotected
~AODELd()=default (defined in bayesnet::AODELd)bayesnet::AODELdvirtual
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Ensemble()=default (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
~Proposal() (defined in bayesnet::Proposal)bayesnet::Proposalvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld.html b/docs/manual/classbayesnet_1_1_a_o_d_e_ld.html deleted file mode 100644 index 8598fec..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e_ld.html +++ /dev/null @@ -1,464 +0,0 @@ - - - - - - - -BayesNet: bayesnet::AODELd Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::AODELd Class Reference
-
-
-
-Inheritance diagram for bayesnet::AODELd:
-
-
Inheritance graph
- - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::AODELd:
-
-
Collaboration graph
- - - - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 AODELd (bool predict_voting=true)
 
AODELdfit (torch::Tensor &X_, torch::Tensor &y_, const std::vector< std::string > &features_, const std::string &className_, map< std::string, std::vector< int > > &states_) override
 
std::vector< std::string > graph (const std::string &name="AODELd") const override
 
- Public Member Functions inherited from bayesnet::Ensemble
 Ensemble (bool predict_voting=true)
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
std::vector< std::string > show () const override
 
std::vector< std::string > graph (const std::string &title) const override
 
std::vector< std::string > topological_order () override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getClassNumStates () const override
 
status_t getStatus () const override
 
std::string getVersion () override
 
std::vector< std::string > getNotes () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- Public Member Functions inherited from bayesnet::Proposal
 Proposal (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

void trainModel (const torch::Tensor &weights) override
 
void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Ensemble
torch::Tensor predict_average_voting (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_voting (std::vector< std::vector< int > > &X)
 
torch::Tensor predict_average_proba (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_proba (std::vector< std::vector< int > > &X)
 
torch::Tensor compute_arg_max (torch::Tensor &X)
 
std::vector< int > compute_arg_max (std::vector< std::vector< double > > &X)
 
torch::Tensor voting (torch::Tensor &votes)
 
void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void buildDataset (torch::Tensor &y)
 
- Protected Member Functions inherited from bayesnet::Proposal
void checkInput (const torch::Tensor &X, const torch::Tensor &y)
 
torch::Tensor prepareX (torch::Tensor &X)
 
map< std::string, std::vector< int > > localDiscretizationProposal (const map< std::string, std::vector< int > > &states, Network &model)
 
map< std::string, std::vector< int > > fit_local_discretization (const torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Ensemble
unsigned n_models
 
std::vector< std::unique_ptr< Classifier > > models
 
std::vector< double > significanceModels
 
bool predict_voting
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
- Protected Attributes inherited from bayesnet::Proposal
torch::Tensor Xf
 
torch::Tensor y
 
map< std::string, mdlp::CPPFImdlp * > discretizers
 
-

Detailed Description

-
-

Definition at line 14 of file AODELd.h.

-

Constructor & Destructor Documentation

- -

◆ AODELd()

- -
-
- - - - - - - -
bayesnet::AODELd::AODELd (bool predict_voting = true)
-
- -

Definition at line 10 of file AODELd.cc.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::AODELd::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 28 of file AODELd.cc.

- -
-
- -

◆ fit()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
AODELd & bayesnet::AODELd::fit (torch::Tensor & X_,
torch::Tensor & y_,
const std::vector< std::string > & features_,
const std::string & className_,
map< std::string, std::vector< int > > & states_ )
-
-override
-
- -

Definition at line 13 of file AODELd.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::AODELd::graph (const std::string & name = "AODELd") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 43 of file AODELd.cc.

- -
-
- -

◆ trainModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::AODELd::trainModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 37 of file AODELd.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODELd.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/AODELd.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.map b/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.map deleted file mode 100644 index 4da9f75..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.md5 b/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.md5 deleted file mode 100644 index 7e928dd..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f651d150c08db011384ec50dda3d8bd9 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.png b/docs/manual/classbayesnet_1_1_a_o_d_e_ld__coll__graph.png deleted file mode 100644 index 3bab28d68e5c226d86c9650816c4b2fb56683b6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16871 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 Ay8r+H diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.map b/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.map deleted file mode 100644 index 98066fc..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.md5 deleted file mode 100644 index 2b66607..0000000 --- a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cb0c139611e4782226f297a1cfe9fbfd \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.png b/docs/manual/classbayesnet_1_1_a_o_d_e_ld__inherit__graph.png deleted file mode 100644 index fa6fe72a415fb8b0fdf0462ce25992cef040c4b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13060 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 - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::BaseClassifier Member List
-
-
- -

This is the complete list of members for bayesnet::BaseClassifier, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
dump_cpt() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
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)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
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)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
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)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
getClassNumStates() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
getNotes() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
getNumberOfEdges() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
getNumberOfNodes() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
getNumberOfStates() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
getStatus() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion()=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
graph(const std::string &title="") const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
predict(torch::Tensor &X)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
predict(std::vector< std::vector< int > > &X)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
predict_proba(torch::Tensor &X)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
predict_proba(std::vector< std::vector< int > > &X)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
score(torch::Tensor &X, torch::Tensor &y)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
setHyperparameters(const nlohmann::json &hyperparameters)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
show() const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
topological_order()=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
trainModel(const torch::Tensor &weights)=0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotectedpure virtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_base_classifier.html b/docs/manual/classbayesnet_1_1_base_classifier.html deleted file mode 100644 index c423364..0000000 --- a/docs/manual/classbayesnet_1_1_base_classifier.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -BayesNet: bayesnet::BaseClassifier Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::BaseClassifier Class Referenceabstract
-
-
-
-Inheritance diagram for bayesnet::BaseClassifier:
-
-
Inheritance graph
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-virtual BaseClassifierfit (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)=0
 
-virtual BaseClassifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states)=0
 
-virtual BaseClassifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states)=0
 
-virtual BaseClassifierfit (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)=0
 
-virtual torch::Tensor predict (torch::Tensor &X)=0
 
-virtual std::vector< int > predict (std::vector< std::vector< int > > &X)=0
 
-virtual torch::Tensor predict_proba (torch::Tensor &X)=0
 
-virtual std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X)=0
 
-virtual status_t getStatus () const =0
 
-virtual float score (std::vector< std::vector< int > > &X, std::vector< int > &y)=0
 
-virtual float score (torch::Tensor &X, torch::Tensor &y)=0
 
-virtual int getNumberOfNodes () const =0
 
-virtual int getNumberOfEdges () const =0
 
-virtual int getNumberOfStates () const =0
 
-virtual int getClassNumStates () const =0
 
-virtual std::vector< std::string > show () const =0
 
-virtual std::vector< std::string > graph (const std::string &title="") const =0
 
-virtual std::string getVersion ()=0
 
-virtual std::vector< std::string > topological_order ()=0
 
-virtual std::vector< std::string > getNotes () const =0
 
-virtual std::string dump_cpt () const =0
 
-virtual void setHyperparameters (const nlohmann::json &hyperparameters)=0
 
std::vector< std::string > & getValidHyperparameters ()
 
- - - -

-Protected Member Functions

-virtual void trainModel (const torch::Tensor &weights)=0
 
- - - -

-Protected Attributes

std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 13 of file BaseClassifier.h.

-

Member Function Documentation

- -

◆ getValidHyperparameters()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > & bayesnet::BaseClassifier::getValidHyperparameters ()
-
-inline
-
- -

Definition at line 40 of file BaseClassifier.h.

- -
-
-

Member Data Documentation

- -

◆ validHyperparameters

- -
-
- - - - - -
- - - - -
std::vector<std::string> bayesnet::BaseClassifier::validHyperparameters
-
-protected
-
- -

Definition at line 43 of file BaseClassifier.h.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.map b/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.map deleted file mode 100644 index 4ee5c66..0000000 --- a/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.map +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.md5 deleted file mode 100644 index 0904b24..0000000 --- a/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -db5ef66c6a031328c592dde37edf565d \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.png b/docs/manual/classbayesnet_1_1_base_classifier__inherit__graph.png deleted file mode 100644 index 06c4ed899875d509921ee1faac49141a7a9dfc4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43173 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 - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::Boost Member List
-
-
- -

This is the complete list of members for bayesnet::Boost, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
bisection (defined in bayesnet::Boost)bayesnet::Boostprotected
block_update (defined in bayesnet::Boost)bayesnet::Boostprotected
Boost(bool predict_voting=false) (defined in bayesnet::Boost)bayesnet::Boostexplicit
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::Boost)bayesnet::Boostprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
compute_arg_max(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
compute_arg_max(std::vector< std::vector< double > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
convergence (defined in bayesnet::Boost)bayesnet::Boostprotected
convergence_best (defined in bayesnet::Boost)bayesnet::Boostprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
Ensemble(bool predict_voting=true) (defined in bayesnet::Ensemble)bayesnet::Ensemble
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
featureSelection(torch::Tensor &weights_) (defined in bayesnet::Boost)bayesnet::Boostprotected
featureSelector (defined in bayesnet::Boost)bayesnet::Boostprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfNodes() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfStates() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &title) const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
maxTolerance (defined in bayesnet::Boost)bayesnet::Boostprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n_models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
order_algorithm (defined in bayesnet::Boost)bayesnet::Boostprotected
predict(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_average_proba(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_proba(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_proba(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_voting (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
select_features_algorithm (defined in bayesnet::Boost)bayesnet::Boostprotected
selectFeatures (defined in bayesnet::Boost)bayesnet::Boostprotected
setHyperparameters(const nlohmann::json &hyperparameters_) override (defined in bayesnet::Boost)bayesnet::Boostvirtual
show() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
significanceModels (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
threshold (defined in bayesnet::Boost)bayesnet::Boostprotected
topological_order() override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Ensemble)bayesnet::Ensembleprotectedvirtual
update_weights(torch::Tensor &ytrain, torch::Tensor &ypred, torch::Tensor &weights) (defined in bayesnet::Boost)bayesnet::Boostprotected
update_weights_block(int k, torch::Tensor &ytrain, torch::Tensor &weights) (defined in bayesnet::Boost)bayesnet::Boostprotected
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
voting(torch::Tensor &votes) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
X_test (defined in bayesnet::Boost)bayesnet::Boostprotected
X_train (defined in bayesnet::Boost)bayesnet::Boostprotected
y_test (defined in bayesnet::Boost)bayesnet::Boostprotected
y_train (defined in bayesnet::Boost)bayesnet::Boostprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Boost()=default (defined in bayesnet::Boost)bayesnet::Boostvirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Ensemble()=default (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_boost.html b/docs/manual/classbayesnet_1_1_boost.html deleted file mode 100644 index e0db539..0000000 --- a/docs/manual/classbayesnet_1_1_boost.html +++ /dev/null @@ -1,845 +0,0 @@ - - - - - - - -BayesNet: bayesnet::Boost Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-Inheritance diagram for bayesnet::Boost:
-
-
Inheritance graph
- - - - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::Boost:
-
-
Collaboration graph
- - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Boost (bool predict_voting=false)
 
void setHyperparameters (const nlohmann::json &hyperparameters_) override
 
- Public Member Functions inherited from bayesnet::Ensemble
 Ensemble (bool predict_voting=true)
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
std::vector< std::string > show () const override
 
std::vector< std::string > graph (const std::string &title) const override
 
std::vector< std::string > topological_order () override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getClassNumStates () const override
 
status_t getStatus () const override
 
std::string getVersion () override
 
std::vector< std::string > getNotes () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

std::vector< int > featureSelection (torch::Tensor &weights_)
 
void buildModel (const torch::Tensor &weights) override
 
std::tuple< torch::Tensor &, double, bool > update_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)
 
- Protected Member Functions inherited from bayesnet::Ensemble
torch::Tensor predict_average_voting (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_voting (std::vector< std::vector< int > > &X)
 
torch::Tensor predict_average_proba (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_proba (std::vector< std::vector< int > > &X)
 
torch::Tensor compute_arg_max (torch::Tensor &X)
 
std::vector< int > compute_arg_max (std::vector< std::vector< double > > &X)
 
torch::Tensor voting (torch::Tensor &votes)
 
void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

torch::Tensor X_train
 
torch::Tensor y_train
 
torch::Tensor X_test
 
torch::Tensor y_test
 
bool bisection = true
 
int maxTolerance = 3
 
std::string order_algorithm
 
bool convergence = true
 
bool convergence_best = false
 
bool selectFeatures = false
 
std::string select_features_algorithm = Orders.DESC
 
FeatureSelect * featureSelector = nullptr
 
double threshold = -1
 
bool block_update = false
 
- Protected Attributes inherited from bayesnet::Ensemble
unsigned n_models
 
std::vector< std::unique_ptr< Classifier > > models
 
std::vector< double > significanceModels
 
bool predict_voting
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 27 of file Boost.h.

-

Constructor & Destructor Documentation

- -

◆ Boost()

- -
-
- - - - - -
- - - - - - - -
bayesnet::Boost::Boost (bool predict_voting = false)
-
-explicit
-
- -

Definition at line 13 of file Boost.cc.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::Boost::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 71 of file Boost.cc.

- -
-
- -

◆ featureSelection()

- -
-
- - - - - -
- - - - - - - -
std::vector< int > bayesnet::Boost::featureSelection (torch::Tensor & weights_)
-
-protected
-
- -

Definition at line 102 of file Boost.cc.

- -
-
- -

◆ setHyperparameters()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::Boost::setHyperparameters (const nlohmann::json & hyperparameters_)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 18 of file Boost.cc.

- -
-
- -

◆ update_weights()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - -
std::tuple< torch::Tensor &, double, bool > bayesnet::Boost::update_weights (torch::Tensor & ytrain,
torch::Tensor & ypred,
torch::Tensor & weights )
-
-protected
-
- -

Definition at line 123 of file Boost.cc.

- -
-
- -

◆ update_weights_block()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - -
std::tuple< torch::Tensor &, double, bool > bayesnet::Boost::update_weights_block (int k,
torch::Tensor & ytrain,
torch::Tensor & weights )
-
-protected
-
- -

Definition at line 150 of file Boost.cc.

- -
-
-

Member Data Documentation

- -

◆ bisection

- -
-
- - - - - -
- - - - -
bool bayesnet::Boost::bisection = true
-
-protected
-
- -

Definition at line 39 of file Boost.h.

- -
-
- -

◆ block_update

- -
-
- - - - - -
- - - - -
bool bayesnet::Boost::block_update = false
-
-protected
-
- -

Definition at line 48 of file Boost.h.

- -
-
- -

◆ convergence

- -
-
- - - - - -
- - - - -
bool bayesnet::Boost::convergence = true
-
-protected
-
- -

Definition at line 42 of file Boost.h.

- -
-
- -

◆ convergence_best

- -
-
- - - - - -
- - - - -
bool bayesnet::Boost::convergence_best = false
-
-protected
-
- -

Definition at line 43 of file Boost.h.

- -
-
- -

◆ featureSelector

- -
-
- - - - - -
- - - - -
FeatureSelect* bayesnet::Boost::featureSelector = nullptr
-
-protected
-
- -

Definition at line 46 of file Boost.h.

- -
-
- -

◆ maxTolerance

- -
-
- - - - - -
- - - - -
int bayesnet::Boost::maxTolerance = 3
-
-protected
-
- -

Definition at line 40 of file Boost.h.

- -
-
- -

◆ order_algorithm

- -
-
- - - - - -
- - - - -
std::string bayesnet::Boost::order_algorithm
-
-protected
-
- -

Definition at line 41 of file Boost.h.

- -
-
- -

◆ select_features_algorithm

- -
-
- - - - - -
- - - - -
std::string bayesnet::Boost::select_features_algorithm = Orders.DESC
-
-protected
-
- -

Definition at line 45 of file Boost.h.

- -
-
- -

◆ selectFeatures

- -
-
- - - - - -
- - - - -
bool bayesnet::Boost::selectFeatures = false
-
-protected
-
- -

Definition at line 44 of file Boost.h.

- -
-
- -

◆ threshold

- -
-
- - - - - -
- - - - -
double bayesnet::Boost::threshold = -1
-
-protected
-
- -

Definition at line 47 of file Boost.h.

- -
-
- -

◆ X_test

- -
-
- - - - - -
- - - - -
torch::Tensor bayesnet::Boost::X_test
-
-protected
-
- -

Definition at line 37 of file Boost.h.

- -
-
- -

◆ X_train

- -
-
- - - - - -
- - - - -
torch::Tensor bayesnet::Boost::X_train
-
-protected
-
- -

Definition at line 37 of file Boost.h.

- -
-
- -

◆ y_test

- -
-
- - - - - -
- - - - -
torch::Tensor bayesnet::Boost::y_test
-
-protected
-
- -

Definition at line 37 of file Boost.h.

- -
-
- -

◆ y_train

- -
-
- - - - - -
- - - - -
torch::Tensor bayesnet::Boost::y_train
-
-protected
-
- -

Definition at line 37 of file Boost.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Boost.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Boost.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_boost__coll__graph.map b/docs/manual/classbayesnet_1_1_boost__coll__graph.map deleted file mode 100644 index 4321386..0000000 --- a/docs/manual/classbayesnet_1_1_boost__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_boost__coll__graph.md5 b/docs/manual/classbayesnet_1_1_boost__coll__graph.md5 deleted file mode 100644 index 94b6c47..0000000 --- a/docs/manual/classbayesnet_1_1_boost__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -33c55f91c7a5aad7b7e8fe161de0b44b \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_boost__coll__graph.png b/docs/manual/classbayesnet_1_1_boost__coll__graph.png deleted file mode 100644 index 1be9b7e3e6793825e312faf54100847e021d224a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13587 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 bb1ZDVp1O9|gC%&&36Ygnk}8xidi6g5;R1KJ diff --git a/docs/manual/classbayesnet_1_1_boost__inherit__graph.map b/docs/manual/classbayesnet_1_1_boost__inherit__graph.map deleted file mode 100644 index 6e4f09e..0000000 --- a/docs/manual/classbayesnet_1_1_boost__inherit__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_boost__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_boost__inherit__graph.md5 deleted file mode 100644 index 0f9adf1..0000000 --- a/docs/manual/classbayesnet_1_1_boost__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e24f4aa87c4b3d0cdd0c5eb01ce7479b \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_boost__inherit__graph.png b/docs/manual/classbayesnet_1_1_boost__inherit__graph.png deleted file mode 100644 index afd6d52b581116fc011aa84473cf2a95ab77d6f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15507 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 diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e-members.html b/docs/manual/classbayesnet_1_1_boost_a2_d_e-members.html deleted file mode 100644 index dd7e95e..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a2_d_e-members.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::BoostA2DE Member List
-
-
- -

This is the complete list of members for bayesnet::BoostA2DE, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
bisection (defined in bayesnet::Boost)bayesnet::Boostprotected
block_update (defined in bayesnet::Boost)bayesnet::Boostprotected
Boost(bool predict_voting=false) (defined in bayesnet::Boost)bayesnet::Boostexplicit
BoostA2DE(bool predict_voting=false) (defined in bayesnet::BoostA2DE)bayesnet::BoostA2DEexplicit
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::Boost)bayesnet::Boostprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
compute_arg_max(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
compute_arg_max(std::vector< std::vector< double > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
convergence (defined in bayesnet::Boost)bayesnet::Boostprotected
convergence_best (defined in bayesnet::Boost)bayesnet::Boostprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
Ensemble(bool predict_voting=true) (defined in bayesnet::Ensemble)bayesnet::Ensemble
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
featureSelection(torch::Tensor &weights_) (defined in bayesnet::Boost)bayesnet::Boostprotected
featureSelector (defined in bayesnet::Boost)bayesnet::Boostprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfNodes() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfStates() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &title="BoostA2DE") const override (defined in bayesnet::BoostA2DE)bayesnet::BoostA2DEvirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
maxTolerance (defined in bayesnet::Boost)bayesnet::Boostprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n_models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
order_algorithm (defined in bayesnet::Boost)bayesnet::Boostprotected
predict(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_average_proba(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_proba(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_proba(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_voting (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
select_features_algorithm (defined in bayesnet::Boost)bayesnet::Boostprotected
selectFeatures (defined in bayesnet::Boost)bayesnet::Boostprotected
setHyperparameters(const nlohmann::json &hyperparameters_) override (defined in bayesnet::Boost)bayesnet::Boostvirtual
show() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
significanceModels (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
threshold (defined in bayesnet::Boost)bayesnet::Boostprotected
topological_order() override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::BoostA2DE)bayesnet::BoostA2DEprotectedvirtual
update_weights(torch::Tensor &ytrain, torch::Tensor &ypred, torch::Tensor &weights) (defined in bayesnet::Boost)bayesnet::Boostprotected
update_weights_block(int k, torch::Tensor &ytrain, torch::Tensor &weights) (defined in bayesnet::Boost)bayesnet::Boostprotected
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
voting(torch::Tensor &votes) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
X_test (defined in bayesnet::Boost)bayesnet::Boostprotected
X_train (defined in bayesnet::Boost)bayesnet::Boostprotected
y_test (defined in bayesnet::Boost)bayesnet::Boostprotected
y_train (defined in bayesnet::Boost)bayesnet::Boostprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Boost()=default (defined in bayesnet::Boost)bayesnet::Boostvirtual
~BoostA2DE()=default (defined in bayesnet::BoostA2DE)bayesnet::BoostA2DEvirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Ensemble()=default (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e.html b/docs/manual/classbayesnet_1_1_boost_a2_d_e.html deleted file mode 100644 index 3a95eaa..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a2_d_e.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - - -BayesNet: bayesnet::BoostA2DE Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::BoostA2DE Class Reference
-
-
-
-Inheritance diagram for bayesnet::BoostA2DE:
-
-
Inheritance graph
- - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::BoostA2DE:
-
-
Collaboration graph
- - - - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 BoostA2DE (bool predict_voting=false)
 
std::vector< std::string > graph (const std::string &title="BoostA2DE") const override
 
- Public Member Functions inherited from bayesnet::Boost
 Boost (bool predict_voting=false)
 
void setHyperparameters (const nlohmann::json &hyperparameters_) override
 
- Public Member Functions inherited from bayesnet::Ensemble
 Ensemble (bool predict_voting=true)
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
std::vector< std::string > show () const override
 
std::vector< std::string > graph (const std::string &title) const override
 
std::vector< std::string > topological_order () override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getClassNumStates () const override
 
status_t getStatus () const override
 
std::string getVersion () override
 
std::vector< std::string > getNotes () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Boost
std::vector< int > featureSelection (torch::Tensor &weights_)
 
void buildModel (const torch::Tensor &weights) override
 
std::tuple< torch::Tensor &, double, bool > update_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)
 
- Protected Member Functions inherited from bayesnet::Ensemble
torch::Tensor predict_average_voting (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_voting (std::vector< std::vector< int > > &X)
 
torch::Tensor predict_average_proba (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_proba (std::vector< std::vector< int > > &X)
 
torch::Tensor compute_arg_max (torch::Tensor &X)
 
std::vector< int > compute_arg_max (std::vector< std::vector< double > > &X)
 
torch::Tensor voting (torch::Tensor &votes)
 
void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Boost
torch::Tensor X_train
 
torch::Tensor y_train
 
torch::Tensor X_test
 
torch::Tensor y_test
 
bool bisection = true
 
int maxTolerance = 3
 
std::string order_algorithm
 
bool convergence = true
 
bool convergence_best = false
 
bool selectFeatures = false
 
std::string select_features_algorithm = Orders.DESC
 
FeatureSelect * featureSelector = nullptr
 
double threshold = -1
 
bool block_update = false
 
- Protected Attributes inherited from bayesnet::Ensemble
unsigned n_models
 
std::vector< std::unique_ptr< Classifier > > models
 
std::vector< double > significanceModels
 
bool predict_voting
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 14 of file BoostA2DE.h.

-

Constructor & Destructor Documentation

- -

◆ BoostA2DE()

- -
-
- - - - - -
- - - - - - - -
bayesnet::BoostA2DE::BoostA2DE (bool predict_voting = false)
-
-explicit
-
- -

Definition at line 19 of file BoostA2DE.cc.

- -
-
-

Member Function Documentation

- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::BoostA2DE::graph (const std::string & title = "BoostA2DE") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 163 of file BoostA2DE.cc.

- -
-
- -

◆ trainModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::BoostA2DE::trainModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 44 of file BoostA2DE.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostA2DE.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostA2DE.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.map b/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.map deleted file mode 100644 index 5cbcf45..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.md5 b/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.md5 deleted file mode 100644 index 83241f0..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -98594f5a9055dcb8b341181bb66be4d2 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.png b/docs/manual/classbayesnet_1_1_boost_a2_d_e__coll__graph.png deleted file mode 100644 index 67b6796b9c871f67d574609a15d5d7be5c59d8a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16762 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 diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.map b/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.map deleted file mode 100644 index 2f39440..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.md5 deleted file mode 100644 index ce8b996..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -aa422c1101da842a8232eacd485de14f \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.png b/docs/manual/classbayesnet_1_1_boost_a2_d_e__inherit__graph.png deleted file mode 100644 index 7e032fdc631febff074fd40faee8e874888710ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12635 zcmc(G2RN4f-}fn!kXiQ372Vl8o5;wjWY1(}6|!e2%DxC?B#P`1vPt&J-YeOAhwy%{ z`+wj6=Xu}fd5`CRyvO^zZ#h)gmDBnAo!{U0`&nMxR#UiuPlJyj$OR=uxx4UZA%b8j zJ98Cr;z#q7#$_jGGDdu-dRYo*|Fd<5EGWXmPSI0edG|j8eZLE)cdCKYUcrKsE z>U+vPqtwcTXbSp=l~IAO7`hk5GZxJx@85ai;MLP-vC}O&eJ{O5&gxAkwg2n$Dw&&6 zwaU70UiwGY;>ry9t+X8`ON9zDt#mY04VQaKb=9XW7f$YaP9B?Y<`oOmN|WHoU_Jr| z-Y;waoSP$J6`7!Jz`LQXh~DY={IK_ye*Uu4u^OsL8NKsx{nZt`aoH_iggSSyn7}b4 zQzJvPoIz%x1p6G(lP^ZS73O&U4}zHpvY7liKKkPorr=+0_P>UC!DM$&Upq<6l_)ba zQ>WBENn)w&N^@c8{9E7Z4pC!cW0f}oncDXHTH4w(>b{5M`1ttWhlYZqSQIY*@yGf4 z=NGUMgEGgn`Bi%~139|bNotn+GuoP(_ji~2-IjApr{?CK6HszZ1rSS0-@AA5IU%)w zeGu_X*?e-*k%L{?G{2*}yNJum(ESL##A|$fWMyS#h9las=C&iB&-eHDFAU~0J`tr? zOT7N{VQ>0$)&7K&RT7(e@;8b7v4DVc#FvGHD4gcn>xiX(`!zQ!CSG?qgP8D8eR|l- zDj+N@_Wt?YoW;e97o}s(5ouG?%Uj#q4o&o~DOp+g8EQ$6%?=e;*x1;(goWb_U&X~W z)z(U*f4*YZ*3s7=o%Yex)QmANYg;Y(n3?&m!SrG2glWM>&j)2KMoXatT@8)iS)l-b z|M*w0`air;VI{}fICOZ!Z%Nb?MmuQlYvaA1LrmW<;=X0p*x2au#piHm5!KSubN7tZ z;AwJSw{94Unt`EnXXi=6k&Y*WQekH13sqHBA;!tea5o|%A`V373-j~2<2ZD0xVpOD zLVp`BvMj2uPDZ_c^{QcGNHVc{< zG-7ji$F&%3`wx!yC&>{40)kNq;wx9Kw70jTh9#RNa_dJ*Qd2MQtxvw)-Q7(Tcjq%S zFj!bzY$=`eNf2{cnR?{2ouGDfS4&G?SXkKS*L2X%=H@h|u~&DVI=zEcBo+@ZZxlR= z_O`YMii&s|cke2q(-a~sJUq(pR%T?d5#Zy;M@7jnGBVPH$)n9&T!gABD~I~}z8xNV z;GR3T-LGwIE-Q;25)wj9L(|&VcQ0AOGj?KPA}2TZL$}q>kzyMWpWkliL4QI&2L}fM zD#G@zE=v;=CaIHO4-)Lqt6j~yy1HYZ?#l+XamuJEDw;St@@eN8v?wro$2@)dRNUc5 z;1-pQcWM7Qedo1_ssy+TYJQtMVn_9*h1Tn(i8){E>kkg*-$tV*eNVk7TqnJg_C9=Q zJWtNb!_L0^ysO!z!X_#)kq~pz;(4$lB=)EZ3k#Xr_)fOsYM8jVh&-woq>gvU$HvAU zFZKP={zj0%qKFy_1o0cMaDA{gR`%G{wW-?s$V7mq!0W&(k)uffn5D_#Kgp*^kNh_tS4?d*~@>HK)1`)zZPYuE7M&S}DMkM>q&;lZV*r4=~L$bb3r1wqEf$9W%3h_6gk(ZX6h z_tzS}J|nXnpbW<;x_bq)+L^T%^$`LPklt(b7i>^76R27ia=Me!OaC zVNsIF#>6CjP@|R+&~5d3*g~Dtu>9hq>H}72LIJCzr7Yas#OsyYM6Io@wtIipCmgr% z#zy(y%f_eH+HLAm$ASIX+5u(>yAru+>@#Dp^Fj|k-bpL(PZt#SI=X;dV`sn5_d2ED z8VhL(r?3D1PWFzDPH;@j#h>%@EU-9)gn}Yn+dKOz-ZwUwpOhLdNm^lh9E48Fht6|vrOy8>!EFNr!bguD1qKCSBYSJ(A#nXG1{&!q zPb(_Kv~qNw1_t6>@#D8>msVB1(9_c+O$O&S_{9qu4-Zjj^CYyiA<$mxCnp(sd3jsy znDlLn&m(%d6wc1httUamjE!t>y-b~{ksS{S*yh_>TF=|tRodT5F+vZD=eh6ySLsNI zi+{2o7p**6s~9S>B!*TQD$i14H~O4d@>fc|XDRG|#>`j}uj|KTgOv-kLZR^82nh+_ z%ctGHapO#wJc}wTd4|gC8?aT+0|R*^C6n7?IUhWJ%%iNVtb~TL#;NViP%nKb%*h$X zz`#JqXNFg-$4SYl_YIo=n+^-Lc%G+ud3khVE*$k=zkYFE9uT5r*3LK59C;BDF;Bo< zX;P$$HmLRzaTcX_T^mzEtEj2XCAm&ye(v=sn>EefjeGl+ks#cH1hc&eaWEX{Pd585W9i4!gfaA-%$z?46A!p4{hww z_mbT_3kUW)4^6VwwnnN3;n;3Nxf#*~B=|fKX?YQiTGUXe>C@BK z4}q(Ys!Qx%obWlagRar`u8F*Fy7nnH)4>onvH15n?WDxL^mk}9nfTF4k=xvBOS#}@ zv=(s{6cVJDEXzsZezrtc=>{>4MY_lgSP4)n ztqm;ic79ZF&eO>|ekt!8m(FTAm`XttHkVpt^JNuf;n3jgQ#UU*squx>G&WVh%q{NM<8F;&W9^DX?Q*^bi;~V&ti0A+=kp>r`rzN8W!S+o&VD^sD!8OWb*!g9Jb5z%cE4UAlW{?) zgW2>|*-tu9N^X^d1mzckkD6UdR`jhoJ?_c)$GtLKT3VW_VOLwax^RQ|1%F{u0S!M^ zHZ$%OH=>0I>METcI~knePBZHB-)qh6DxQC8<|FecN*{e1uQ$|9KD_gtOq0xHd;2Y( zfuPdHkz2aisrt1tRk#j)S!;a1ZZMYgnK482;K?t=EE&gJnKY!=@u%vRwK9HhtuyB7 zb5CfnkBP>b@jp-!;urmML#>(rXDs(0z}6OIFffS??#%t zQ~D+FH*;QQVWIENNg;y~^2sy7H2itgNq2T@pcab2j^B+y-C#ppmbP6cb>& zSYsG1y`zDGgLPzETU)_{CL+sN6H0(i%^e-9TPOb-*t}x3H!wC9>hFK1xsVW1R8f)h z@sV8nGDCDvQ**j6Q-erkjg$HR2GpD_XH`#b9~v5RSyf3Ee+`X~O(`}umQ1=rG$-s? zuB7vTF`AH=*b?AThj&gGo05>AU;%8w+>Aa@2tK%l&SCfBEH;_F-Q8LA73GDsH8myl zb&auYX*i2fEgH#ZU8^+@>ZWhD&Of*Cee>CRtORh8Lob=~2I zoKcx$gGGYtxHIJyrPPE3+ETkwd9*>PJw2n_6xN68fi?h25?G($*SK3uObib{f3(>V zlRhnhzIS19?#GY8$4C2?-rf@MWK<|ADLp(qwpL3g=fdg5ekDx)mVa2UH`&(Ox-d7_ z2&^DdQd08wj}Y$ioyu&!W+Xm7zBw!F+T83cFA5d-#~**7TDsE|_$4F^sRh*4)iLX0 zVF`e*5ugb}wXCez0#t_WdjZgukcen5JHNX1`Ey(fN=kkKffyi6;+}gPurghJedV<7 z=3<*c$KSs;QTb=7k(nPqtazy6-@fevR^jt|vq@+aHTpIRHu%f^`sYM(uIm#3w$u9T zJ9cGCgea1BGmB125(WMPT0}i8TIUqR%rL;ArTf&>NXW~VG0yDTc|X56%vcrZxB)6` zEo^`J5`S)PuBWRj;^D)Gw$|3EadB~E$sd&C95;V7pjv?7^$ZTi2?`1V#Dx#cjB9_* z?>^T~U0z=9czn3~8$jwGZG8DgRU>mRsvb}K-)#eGaIn?JJ!%`hGSPP##;fm z!ZPD!rcoMr9!s};#Rv*>t4sUbHm2&hcB`JT_^<4YJ_6DyXJz%VknYl@vsFgKVe$d+ zmCPs=S0^s%?B0xm*7sb4>elGC)=Jkt=HvvnnE7jEpG5#5 z5XuG--MoLF`R?7jk#FBd0MtaJb#&slzC0tKybM^}X}@vwz()d;DEe6)DKC)aHc2#gZq#m{vV&CV8V3Z1%@Z2+jD_`Z} zdR|&84C}-~065>gb0>-{?+=ai+VOFEcC8%g8#nyPYN`1xQqt3Lp%9o}z<~eu?HiMX z1pV2wXM@AS8fM$#rq|aa;^V1i_o6vVMsSc^t&s9^QS(y_F^^W4TzouSUyr>!kXv7| zUL6A8x7Lggw%2sD#O@dHcuZ3*7OT!J_|%_~yjLpbt^FanJu2t|Z6jO~7Z>+#S~m|f z^Hce>C}5)iHs96MNXg!~LB+_}W!@Icd;NO+hYuf6E$`o>&P*-#W{iGLh>ev8Ng2@VVZqO)5-+W-tqqSq_Wu3*W97~^2_g^L=+LN{nVEyH1l&Wm(Wp3X zW3?o;Ca7*SDmpsaeLl(c+NwbfM;o7ZuHMZgH3hgpd081RaD}qv8zo6BqckBf9kTzd z+ys`!Any^vze&d@GCvMD*7Fw7!ybnWZw z+emm+JsnKS^2PVmCx}t~6Sw9>@dD=A{0+W%Yz8E#1h@HHZHiJ0tU{Ax|b2wMdJO7%uA2A1B_5oQ^dAU9LW?`_}-bwH#!6 zB5O)<8WZ0jB~n3DT(lfSg>ToZzrLDi;2PnU|wJGSTFoSgecJuD+G zv56^Vs#2_a$?77#)-c5eGQL24v^)fFp!>~xkX7CXzP8O%vY{Q4Zc3yjKG5Q<2e(ngUcpA zi{mo&^RwePNooZD4R$3O28{q-`#1IMpQz+-Iqkpyg`w4eY9}Wrbu7G6ZBOg_eniN3 zVpX-gpXpCLfJ%_=S$&L?>V76i8?1e%8)u9e42S#c5tFAU`-UDydPRZ*rJwVw50}Ocw&#a0xx2gL)PDOW zr=_XM%gr6Z%*?E!q{OTg&LHt-ad9!m{54QgPy)?lWU%=8_!eenWYfA8(e0g`>2YzC z32)x$7#nv@O_{*;vTd!bOdK3|Wo2bwzj@PIWZBg-I+{>iTnwnmpu&X{dZ9WR1C6kF zxVXY`1D+ln8~~&L*~I8;3tXEJAKz3(G{$ zm(M63T9UQ&K3B_@?B?%Ll??I^8`AkkFa!wn@1x06HKcEOSLkgVMo%>X*)(IO=hA%F z+j(tcZ|6?;7saV;GF;cL-5tm^C_{s6lGb244NBM5Ha_-i*Wwcrl%=Gk(m#B_06QZi zqg!sVT!yU;A(YW54E={EH_+Gj-Gm1|ctk`%8teQCpMc}H?k*2*!?RE4XsZMvCSk+i z%VU{L^SzZ}uY=h*yOQBMkz(W&6pfoRO-=y1?5ay_hkG7!mS7%QtdM@=;nr*$PAzx! zuNxxIwX$aijeYI5-5=8b>}>qNzCv%7(Gm6U)w8!ghkpprT-aM34RW1uKL<)01~UII z$SDja=!5l%s$V<3>icLqAkAOgfq4e?ejc*MN_d%ol zzW5|w)cKm9je7N8s41lWzm~`JjdM2Q%93-1=rhywY3JQ6I-iKbq@tegz%5ix# zCp()30e+_Co&&X57jVu_k~??4IVnt8`{NJO{9-s-TKDcf8S0LeVQDEWgJH4e(!PY}u>Tv-L4UlqOs<3Bk!TqHnB3t| zxo`Y$DJqV6EYLoazmQ3X^CuqRm+|C;%_Hr6VInQp8qsLmc$6Gp08 z{;vmp7IvdVeXnc^nK`;(-Js+=@ZTmc66qRt{y5I*e6$*iVxEpGeX-)=cqPlCl$iJ8 zh;sA$xC&g&NF;>)jN}{Ee$finVlr1wI>n4S1B8a;jbums_#$>71E3qGGwNp$lwU2m z8ka&pzzUhew(rT31P zn~5%ys<#FzLs9kp=IbX}QB&cho02+hF;=ojyxBA(_9GzZeNmNRGzM*8TX6&j;W(X3 zPzj7Tx(?M4)I(rj%hJ)|*86ca_a7S{n` zl4}tBCjjDa_3)pF;=kpE#Jz$-a7FmBc3cNGJ(bgkr_Lhq@6vk4y0R^Bt<1z`YSjn| z<|fUu#l^$~g0?JD5o*NJ#+U4Sav-z}!(e?D1TnL;WVw9#3}6|6NB4YCU7+=E0*#NCv|G0(Pxgf2-Y$!Z(trR} zdkS)5t!crNa#(<9md2-P&}l?nPky_*TtZk`SqrnWUIO?bJb(T^j3_0?orP`{b@dF6 zHV$_7w13S)>>8JBLJ(3MOcvl@u@irSTYLULH5AQm-zEVOC`J;{mIK)5^jrxltY=KX z=>Yx;0QwdHzcdV30x3Ze4WtwtT#RRR3k`Ssz{={Xu-%B6Q$p^E^F2%LL@D27WAEL5 z5w@nR{asWuIB2aH?^eWq?7AKYMY5>#%R-K#)Kq`4)pxeHAL!}P0FYalo&6yG2Ryi0 za2%A-VyN#tU?xd2OnCR|+B zp>`c7Z?i@Jj&*_wtBJk$^aO30PC({R_O`HZ_NWe^v z7jxx$BAVnleUXF&0fQRE%&Ril|D{+|x_gt(_qFz@b+3_L_0yLxUrx=>2Z1nEJUqe2 zRZ=p%G`UL|So%_bF4R^i0pqD6wSYJ=elLg4C#0dFVPkJk9*!Df0>JPpz~HZf=B*dM zR8%|wi&s%m@%EYP4;l$UlwjiIR4prnG)}tUB&VHOC2gGCq!Vx zLiJu{XO{&PYp&~UL`n+NpXRmr7GCwyn%M8%eBZN=SMBRD=M-+LcCMuJ(A7K1|H60@ z3-SNC!^i)xI(%B_(`1&?WR1qArtN2xMxTaRmAH(n6G5+rV!t<+1AscCM{RjFR>X0c z8_0mTe|p2?)}F_4w{rOm>^`4Ubu5`_lIhU+PR|5mR*y7)$+! zmq$-zrm7lNXaLy--B=}bg7Bj`$mNLI=FfK41D_bpi8Fr%2ex@}Z++1PdYqKr!lyyvssAxy_>inG5yx&HmZ_*x?UPkoE)|w z-S&npH{1EUOu*spUe597dvb^h2QN48K zy843$X&MphpPBSIV!eTK%l0w+WRJDUKiG49Xzl3287{vCZXF37iZ_J)WSc;8@*w$Z z7>SeFIhKt;)U=Z2;5!!yU*C7%Gq32<5ls;yRvdVz+blimYFtXiAe%hB%8ccA-mj(S z+-7HG)vHcK8{)Q6h9 zjq;m-WAFm{P+(k2mm#ZgS+y?e1f7{hKD3tJb!}`Nss}(ewX}qf{QAA!bzcB-DK*4YJP4@5tM)Y(78YMkc%Hbeoc@Y9m7c8jUL8u< zqw|r^%g(N!t`DO3rV8>r-W_y+02bG(GMTZ@!4()95T}7`#~nSrmykoEJx9#&^q zEk{SkjV|AlqVW>wxYG@k#@|kkj|$A&C@MD_X(0%Ph0uw+k<8A{ez(fIISV85SMS@C zKp>8h_eOrrB|Lfz!x55arAJE_st)7S!A-$O1NmJo5d^OCXtFx;{aTgv#Ly64lG@;! z1L}^kF)=rHJ`p2Z8($tcFVnA6(}ZYgXiS6>Dl|vGy&xY=d^+j5F5v|$h!=NvOc2H3 zISl429&z#hRGgazI3T0N>?^Dyd)RB zojjp9+Fw`D&>)A=x&hh`1NcT-qXtzTf=kQGn`;&8mzkNdFj*#$y<9Q31euj{elBeT zjdfjJ>bfWJKR$UMxhSFoA^iiMDfRYzSCD*KK^cI>lZ_y$&)MV%4Ds%KV<~ZfUVsB+ z0mQD=ocbWrpmAY@Qflh+$am{vjD7-G^c9maH&|J+&k5^5Z|Y}l?(AcivA44FgDwP# z$J<6m;gD=WhKGkSb_?i5;X^|@q161i5F4wr$*+38uwaGBUx7X22EO3*k01Vki!csL z-^V*v_V$e+SMmUBXipR&#|^*&nN-Nj%L|i-;;#8khRHY?7#eOuk&;8qN9OKbGCvzB zm`oBOU_Yi-R?_L0*w(>wbpSC@-;V#vm9yNH8)qmu_1=q5gL7u>)L899jerojQBN!d z!N{1nxEY9FxviDWBL<%8GS=4D;0B(9_tiHrU<$_I#{Pa2*d4j{w1U<#{ZMagk5`*c zy!Xe0B)t!(V0#l#C;dp{(O1she^Y{G4T1d9!anF2j!AO;XUk@Ke4cJKOaPix^0+v9j%rENX3N8fF*&miA&6oLl_Qc0+xImGG>56 z$szvJ0J$+N1d@-Kk^tFmgw7H&n|OG5wW&8lV)!+Ia+yAO;Ls(pfAy$1S=+i;FTTSf z!EUb)lNM`_VrOUH9I?s24+{3jygYd;E31TKZ*Ol1u~|9kYab5kwLRO@e^doa6sAHhWz?9{ zfay3uRr&@8XCPpwsH|My9L4g=MPEvZ(^6I6ZX^WQnV(H5>S%X42z1!b!$x{~`0zaw zMs0W34+(BejeN!=fcGbk)?K4cW*ARvp%i%m-9msFqE+=B9Ty;$@ceEXCv+}_aJo8Z zJDxoF;oa;S1iG=Cz+cXM*$bqT@VE$-Ba7kSd#fP;W|3N`qC1+J9|D)d#nwRkYsfRK zAfczv#aS7wIT56xrFHn(Ogh`@vpv_*+|{K3ePY6Wo*vSEwY|OMfb49Y5}Ii+vSCOF z0rd5(6=TpKZI`X6zwCwGhH%!%h@RK!@jjTu&j4m(yzM(_^6zqT2-(yU;VFpz03uuu zMF!L($2WHwuqk0yb~Z*!_;qmbhcP*;inOjS^(|#(2Vl7|v9YG0vBK%NRh6586BZWs zF*o-nWco0!4FKADxToH9Rhz-dNZn%jxkU^O-4(L0*yvPQl3dbNa#mt&9PmOW%d9jNBE#Iv<^amFz86> z>BB(u_>)ix+tVSR^>O`j^-Hgvu0#0y#*G`FOdIf_dqZmCerKY{ugTM6<6nn|*Jd1H z1Hq!u8ON=)IMo|;hw~^WFJB_oMno@q5ptNz{heu zdk02vQpVQGPcF~P!)Bxw7Lq|AYGY$#p$FK}e6XmeGB_`al6&(~ry^-$5zGCQayiEy zG5PtADvqJz?!a70Or(Q+Wleok@tFIUWRz0tlMfX+#pi38xr;#OA6y!49l=~{AuiyN zyzpx23V8id$;sgmo&Tfs9ZuaFBMBDQrm4CB2pq3~xvc+9)f3F+HB7b-qs~2J=!)_@ zJizv!!W$>zYk7o-&-v-$VELhW|NKD&_*n$|+EeVw^UUt?#r@Lo(-Mf%O*Of^8z%n$ E1J~F{fB*mh diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e-members.html b/docs/manual/classbayesnet_1_1_boost_a_o_d_e-members.html deleted file mode 100644 index 2bebe69..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a_o_d_e-members.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::BoostAODE Member List
-
-
- -

This is the complete list of members for bayesnet::BoostAODE, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
bisection (defined in bayesnet::Boost)bayesnet::Boostprotected
block_update (defined in bayesnet::Boost)bayesnet::Boostprotected
Boost(bool predict_voting=false) (defined in bayesnet::Boost)bayesnet::Boostexplicit
BoostAODE(bool predict_voting=false) (defined in bayesnet::BoostAODE)bayesnet::BoostAODEexplicit
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::Boost)bayesnet::Boostprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
compute_arg_max(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
compute_arg_max(std::vector< std::vector< double > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
convergence (defined in bayesnet::Boost)bayesnet::Boostprotected
convergence_best (defined in bayesnet::Boost)bayesnet::Boostprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
Ensemble(bool predict_voting=true) (defined in bayesnet::Ensemble)bayesnet::Ensemble
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
featureSelection(torch::Tensor &weights_) (defined in bayesnet::Boost)bayesnet::Boostprotected
featureSelector (defined in bayesnet::Boost)bayesnet::Boostprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfNodes() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfStates() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &title="BoostAODE") const override (defined in bayesnet::BoostAODE)bayesnet::BoostAODEvirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
maxTolerance (defined in bayesnet::Boost)bayesnet::Boostprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n_models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
order_algorithm (defined in bayesnet::Boost)bayesnet::Boostprotected
predict(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_average_proba(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_proba(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_proba(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_voting (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
select_features_algorithm (defined in bayesnet::Boost)bayesnet::Boostprotected
selectFeatures (defined in bayesnet::Boost)bayesnet::Boostprotected
setHyperparameters(const nlohmann::json &hyperparameters_) override (defined in bayesnet::Boost)bayesnet::Boostvirtual
show() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
significanceModels (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
threshold (defined in bayesnet::Boost)bayesnet::Boostprotected
topological_order() override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::BoostAODE)bayesnet::BoostAODEprotectedvirtual
update_weights(torch::Tensor &ytrain, torch::Tensor &ypred, torch::Tensor &weights) (defined in bayesnet::Boost)bayesnet::Boostprotected
update_weights_block(int k, torch::Tensor &ytrain, torch::Tensor &weights) (defined in bayesnet::Boost)bayesnet::Boostprotected
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
voting(torch::Tensor &votes) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
X_test (defined in bayesnet::Boost)bayesnet::Boostprotected
X_train (defined in bayesnet::Boost)bayesnet::Boostprotected
y_test (defined in bayesnet::Boost)bayesnet::Boostprotected
y_train (defined in bayesnet::Boost)bayesnet::Boostprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Boost()=default (defined in bayesnet::Boost)bayesnet::Boostvirtual
~BoostAODE()=default (defined in bayesnet::BoostAODE)bayesnet::BoostAODEvirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Ensemble()=default (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e.html b/docs/manual/classbayesnet_1_1_boost_a_o_d_e.html deleted file mode 100644 index ba60471..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a_o_d_e.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - - -BayesNet: bayesnet::BoostAODE Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::BoostAODE Class Reference
-
-
-
-Inheritance diagram for bayesnet::BoostAODE:
-
-
Inheritance graph
- - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::BoostAODE:
-
-
Collaboration graph
- - - - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 BoostAODE (bool predict_voting=false)
 
std::vector< std::string > graph (const std::string &title="BoostAODE") const override
 
- Public Member Functions inherited from bayesnet::Boost
 Boost (bool predict_voting=false)
 
void setHyperparameters (const nlohmann::json &hyperparameters_) override
 
- Public Member Functions inherited from bayesnet::Ensemble
 Ensemble (bool predict_voting=true)
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
std::vector< std::string > show () const override
 
std::vector< std::string > graph (const std::string &title) const override
 
std::vector< std::string > topological_order () override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getClassNumStates () const override
 
status_t getStatus () const override
 
std::string getVersion () override
 
std::vector< std::string > getNotes () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Boost
std::vector< int > featureSelection (torch::Tensor &weights_)
 
void buildModel (const torch::Tensor &weights) override
 
std::tuple< torch::Tensor &, double, bool > update_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)
 
- Protected Member Functions inherited from bayesnet::Ensemble
torch::Tensor predict_average_voting (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_voting (std::vector< std::vector< int > > &X)
 
torch::Tensor predict_average_proba (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_proba (std::vector< std::vector< int > > &X)
 
torch::Tensor compute_arg_max (torch::Tensor &X)
 
std::vector< int > compute_arg_max (std::vector< std::vector< double > > &X)
 
torch::Tensor voting (torch::Tensor &votes)
 
void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Boost
torch::Tensor X_train
 
torch::Tensor y_train
 
torch::Tensor X_test
 
torch::Tensor y_test
 
bool bisection = true
 
int maxTolerance = 3
 
std::string order_algorithm
 
bool convergence = true
 
bool convergence_best = false
 
bool selectFeatures = false
 
std::string select_features_algorithm = Orders.DESC
 
FeatureSelect * featureSelector = nullptr
 
double threshold = -1
 
bool block_update = false
 
- Protected Attributes inherited from bayesnet::Ensemble
unsigned n_models
 
std::vector< std::unique_ptr< Classifier > > models
 
std::vector< double > significanceModels
 
bool predict_voting
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 15 of file BoostAODE.h.

-

Constructor & Destructor Documentation

- -

◆ BoostAODE()

- -
-
- - - - - -
- - - - - - - -
bayesnet::BoostAODE::BoostAODE (bool predict_voting = false)
-
-explicit
-
- -

Definition at line 16 of file BoostAODE.cc.

- -
-
-

Member Function Documentation

- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::BoostAODE::graph (const std::string & title = "BoostAODE") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 157 of file BoostAODE.cc.

- -
-
- -

◆ trainModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::BoostAODE::trainModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 33 of file BoostAODE.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostAODE.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/BoostAODE.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.map b/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.map deleted file mode 100644 index 9a88f80..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.md5 b/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.md5 deleted file mode 100644 index f160e80..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3c89fcabfaf26457db505ef70b62833d \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.png b/docs/manual/classbayesnet_1_1_boost_a_o_d_e__coll__graph.png deleted file mode 100644 index 32135bee3de45ed41c1104b261ec0f295a52ef4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16880 zcmdVCbyQaUw>`Q+q!f4_P#Tn0KuSuwkw!{F1O<@}2?0rIDFLOF7LaaGB&7_xI~8d` zLYljt_k7Q}cbt39`Q1Cl{o{AXJ9yQH&EES{Yt1$1T!d+=D-sb>6Cwygq;y+O3qi2d z;L8vn7d}a5BKZY>;67AQlta!i|E1UG#v#a6L`hCs$Nla4)U$h+c26ZYM;<@$zbuV~ zwMCdA9b^9D!F?G%hgXL8Z}*F^o2Fd=HYAc*reOb!VQbkEP}WFU;pd$ z45fK&Sv5{C$1fN5kkW>bp|!cUx3_cAQk0jMx9-;XqhY0NEn{llhppTKzs9EbnHi}W z1NX~+etW1&&**uvDSpxN&0lXlGPK<}o~p$)m^UACsK;#ahR?%j24>ls*tx2!SZ|l9J_9B+=f!fo>oRiX0!8V&sA~p zsk-Bpp@Kvq2l{W{zrT5Oa&T~f`3E}(2NpuXeP2#h^b?DWRQ&CRW%UdZ(_nbShM(Vg&2Y;5fGA?r6g z_mpBwpZrw5bm>yMSw~c_CBLxKJdTX4?CMmKeKrhpA@$it^XbVE?}N`cs>%EWjVF6F z@UxEdtptdldTz_N*Bo6LZUwq}dWs!AlD}FRE4))>K(V zA4woyo6UIci%E|+S4$d)lh026&Mb6X@wJV2{idt09~v!j_}*Z=Av^aM3k%B!&t2>K z?}UVeQgY=JoLpRjzQQ)K%mia&V?+(z=6o3+K79CUM@~*IQ!?^B{{|l)sYCrP`LxF` zI@_t*%WnRBJbb7my(wc zY8yBDv{(Im#^YCt`$}G}DL*xh_ePQ7V*y4PPfyQ)$6A*!U+!{iLMAhN`KcpAU%Ysp zo6C0Z-aQ_xe&!_?5kyKx2K)HrWbW55JPi$vZM%jz(Zy}f;CSQzhbca?Zf|LACvSy-^%ix@v~b8FAnEtuWdAQlo5 zx_Cu`7Uqw9Vr`~T^2w7YJWlg+UVCGY5x<|`6U=^miCH|fe_I^gY}#a3Gi8x#|NeLU zp=n+>EVbF$>4|=wJFiauxWiPA+8fwQ&plUb$3&HwObp5k%BD+cJb=Mi+?Jl91H*aj5uI1#d z(u%rqPP;Dh#CrvDmRj~P-9y~^xp3Zn<<^u;0FAJXLetPih0bkO} zn#R|!U#qOc!osAbq>%FR^5j3&-{KMzDT{}!^YUV2WAPDrdHFj&J`ynSn3@`)w$@e@ zy3Y^moaOdn7qb%SqeqWo;^N4%-@WUNzhU%cXz2Bhr#KqT!p!`#qT=T3gamCXtLq*f z9(}Mc)#2h-sj2D`5)zkaXjFdnq_I&@P_T1xvDV+$P)Xp*W{?ero5K_kAVDD^aq78Q zKYp11+1Yv5BY8IY@Qs|D@h7+J{e5@m#`%SX<@&$V1y9FKc~D5Qgty2I!^+V6p35xB z!cL4Ho}T?-WNe)!R{vT8yNT);?(b2ho{`_HGcQ7o9Pu^A(s5HFs^T!YVy!gEjzsb;J znVd93^qzt_GaBje##$CW$?D3@qy zRpsQ^G*aJnr-;Tio2GYms`gv*?{o>xpwM^p^vDnP_j}>oudZq2<>d`#$l@_FdLH~t zSl*j($nEUxWUVh5Qcn?)H!O0qsR*(#G)(rGR^hIf3&15}jQcA0xce=GQtUN0wh(wx z*X918`T6kqTqX^wvCMbm<S+>c@X&M$6R()JZ{IHc z`T1RK!=x%$W;_0E>QgxKu>BU7o0_D4{QN1Mt@Yqncgp78o`Rzzk6xiZ77Yyz;ujEb zE=M)#IqaHdOa6x)QFMvCX1K`J8#jnVQi$OY1~fKGLWqHYuYk|co2zlfcC-}BsM=Qg z@5U6Gk}`Da)6db>#2njgpOeF{))iG&B}YD0 zuo(D~Cp&Q-mKn)!U2$=6ng#~Q8cz>7_SPpt6zM&1PLBR6YH5+~ZA^uimhvFFPp#nS zk9Zcr87{u}@nLH5M@cwMM9=ot{897q_g$(&F9M@k7V_afI4{W5Hb_pWZrD!=`+MP7u5(@b@%jnQ}2cfB5-{(C|%?m266c1W?< zof6(0fY&lKw3{M&$#Fg;x^fPXHuTAN-sZSJm#I#Mx0yYR@T3SONTy^=8Vq;ziNa5Z!gLo>gA|fIWA-3%AFGQDlAGuLp#D!f}Xwpb;Gg91E=dr!A zb7ZmlVQiiA@td0SkSI!)lOCr^N7IXM?v9wu?1;2{{=E5>E$!;HYxn?QC~rMs9xgNp zXz)HtCQ+dGTw-`D=0Q5+wN2!g&#^h<{g)0hmY#!gb#?X9`_5M_tw%(w{>qN#xLVCDI!P<$?UvMDT!^`g(Cp+^V*l=qxF@mGiG4C75HC z$1QZf&^muuFlTIf&pUJ6EO{vEiljPB!y>QR$JN1Q7jp*(4Tr`PK{Q%dN9UzNR))~D zd)BaLJhutvsvoPXD&5`PJA>L9N!+AElWF-K`~@s*Y;lp1MBadXA{$DElGkN4)sm8u zb~hY-kGB+yNE9InD8XD43d>rhM9?vLSJwsj)vEaE#z(Jr}}i7V)(y z<13{ZAHQ&p2b_uc!hkY8rkgh_rW>DjjVB}v&5Y=<@$0e=u`rIei$*>vf5&A%CFhfY zdU?havF@jwT{{@jiuN965loB@G6E(5y_p+k;bwf`;TK={3K1< zGNyTvG^d|LZf|yXn}^f6GwZ+9$04)zhixR+>Y^ecLeo9X5LPHNUdQ2Gb~CH_nFyK?{ZxW2q|hZpeaS3b%M^Bd*)TIQKO zV&TJb$xmfNm~bwVZswV{il&J(Q=iK678>hc)N-YJdH9lWpThr;0G|w@K~RX&b5`-! zq&u!mT|7|l7?q6?>;%8qq@HqbR&PR{%VC${)YbSzSax4vD!e>S>NviUZ~T*AODX(3 zfkT*-%wTPhCbr|;lNIEw4fV%oAljfcW9&uOfxn0nt2t?JnSU;2pdV6d5W6{C>ojkx zGTdP}-QKhib=g|>lHc9Xz)$ZFFOHnh#=Q(o@5s`|tB#VCn-1RWS}z)1xiio1M{>2d zcgR@)Z5y_kh}yrwmnztE993Iw9$EMZb-R$>{l{x%BQtWpztW$zb-aC6iBw5l%Hn

4H=RxVzfUY}QFp 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 QD;y9dd3CvB8Pn(g2j7BWS^xk5 diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.map b/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.map deleted file mode 100644 index 2d6d7a7..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.md5 deleted file mode 100644 index 48ae7fb..0000000 --- a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1349874a295fe4607bce4f148d38cc42 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.png b/docs/manual/classbayesnet_1_1_boost_a_o_d_e__inherit__graph.png deleted file mode 100644 index 39522192926d7977faed4ddf582b693492e4af22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12761 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 Hv^@V0i7Clx diff --git a/docs/manual/classbayesnet_1_1_classifier-members.html b/docs/manual/classbayesnet_1_1_classifier-members.html deleted file mode 100644 index 1e44557..0000000 --- a/docs/manual/classbayesnet_1_1_classifier-members.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -

-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::Classifier Member List
-
-
- -

This is the complete list of members for bayesnet::Classifier, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights)=0 (defined in bayesnet::Classifier)bayesnet::Classifierprotectedpure virtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &title="") const =0 (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierpure virtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_classifier.html b/docs/manual/classbayesnet_1_1_classifier.html deleted file mode 100644 index ef57099..0000000 --- a/docs/manual/classbayesnet_1_1_classifier.html +++ /dev/null @@ -1,1348 +0,0 @@ - - - - - - - -BayesNet: bayesnet::Classifier Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::Classifier Class Referenceabstract
-
-
-
-Inheritance diagram for bayesnet::Classifier:
-
-
Inheritance graph
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::Classifier:
-
-
Collaboration graph
- - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
-virtual std::vector< std::string > graph (const std::string &title="") const =0
 
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - -

-Protected Member Functions

void checkFitParameters ()
 
-virtual void buildModel (const torch::Tensor &weights)=0
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 15 of file Classifier.h.

-

Constructor & Destructor Documentation

- -

◆ Classifier()

- -
-
- - - - - - - -
bayesnet::Classifier::Classifier (Network model)
-
- -

Definition at line 12 of file Classifier.cc.

- -
-
-

Member Function Documentation

- -

◆ addNodes()

- -
-
- - - - - - - -
void bayesnet::Classifier::addNodes ()
-
- -

Definition at line 155 of file Classifier.cc.

- -
-
- -

◆ buildDataset()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::Classifier::buildDataset (torch::Tensor & y)
-
-protected
-
- -

Definition at line 30 of file Classifier.cc.

- -
-
- -

◆ checkFitParameters()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::Classifier::checkFitParameters ()
-
-protected
-
- -

Definition at line 79 of file Classifier.cc.

- -
-
- -

◆ dump_cpt()

- -
-
- - - - - -
- - - - - - - -
std::string bayesnet::Classifier::dump_cpt () const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 184 of file Classifier.cc.

- -
-
- -

◆ fit() [1/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Classifier & bayesnet::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 )
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 57 of file Classifier.cc.

- -
-
- -

◆ fit() [2/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - -
Classifier & bayesnet::Classifier::fit (torch::Tensor & dataset,
const std::vector< std::string > & features,
const std::string & className,
std::map< std::string, std::vector< int > > & states )
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 68 of file Classifier.cc.

- -
-
- -

◆ fit() [3/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Classifier & bayesnet::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 )
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 74 of file Classifier.cc.

- -
-
- -

◆ fit() [4/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Classifier & bayesnet::Classifier::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 )
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 49 of file Classifier.cc.

- -
-
- -

◆ getClassNumStates()

- -
-
- - - - - -
- - - - - - - -
int bayesnet::Classifier::getClassNumStates () const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 176 of file Classifier.cc.

- -
-
- -

◆ getNotes()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::Classifier::getNotes () const
-
-inlineoverridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 38 of file Classifier.h.

- -
-
- -

◆ getNumberOfEdges()

- -
-
- - - - - -
- - - - - - - -
int bayesnet::Classifier::getNumberOfEdges () const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 168 of file Classifier.cc.

- -
-
- -

◆ getNumberOfNodes()

- -
-
- - - - - -
- - - - - - - -
int bayesnet::Classifier::getNumberOfNodes () const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 163 of file Classifier.cc.

- -
-
- -

◆ getNumberOfStates()

- -
-
- - - - - -
- - - - - - - -
int bayesnet::Classifier::getNumberOfStates () const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 172 of file Classifier.cc.

- -
-
- -

◆ getStatus()

- -
-
- - - - - -
- - - - - - - -
status_t bayesnet::Classifier::getStatus () const
-
-inlineoverridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 32 of file Classifier.h.

- -
-
- -

◆ getVersion()

- -
-
- - - - - -
- - - - - - - -
std::string bayesnet::Classifier::getVersion ()
-
-inlineoverridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 33 of file Classifier.h.

- -
-
- -

◆ predict() [1/2]

- -
-
- - - - - -
- - - - - - - -
std::vector< int > bayesnet::Classifier::predict (std::vector< std::vector< int > > & X)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 103 of file Classifier.cc.

- -
-
- -

◆ predict() [2/2]

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Classifier::predict (torch::Tensor & X)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 96 of file Classifier.cc.

- -
-
- -

◆ predict_proba() [1/2]

- -
-
- - - - - -
- - - - - - - -
std::vector< std::vector< double > > bayesnet::Classifier::predict_proba (std::vector< std::vector< int > > & X)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 124 of file Classifier.cc.

- -
-
- -

◆ predict_proba() [2/2]

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Classifier::predict_proba (torch::Tensor & X)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 117 of file Classifier.cc.

- -
-
- -

◆ score() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - -
float bayesnet::Classifier::score (std::vector< std::vector< int > > & X,
std::vector< int > & y )
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 144 of file Classifier.cc.

- -
-
- -

◆ score() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - -
float bayesnet::Classifier::score (torch::Tensor & X,
torch::Tensor & y )
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 139 of file Classifier.cc.

- -
-
- -

◆ setHyperparameters()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::Classifier::setHyperparameters (const nlohmann::json & hyperparameters)
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 188 of file Classifier.cc.

- -
-
- -

◆ show()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::Classifier::show () const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 151 of file Classifier.cc.

- -
-
- -

◆ topological_order()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::Classifier::topological_order ()
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 180 of file Classifier.cc.

- -
-
- -

◆ trainModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::Classifier::trainModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 44 of file Classifier.cc.

- -
-
-

Member Data Documentation

- -

◆ className

- -
-
- - - - - -
- - - - -
std::string bayesnet::Classifier::className
-
-protected
-
- -

Definition at line 47 of file Classifier.h.

- -
-
- -

◆ dataset

- -
-
- - - - - -
- - - - -
torch::Tensor bayesnet::Classifier::dataset
-
-protected
-
- -

Definition at line 49 of file Classifier.h.

- -
-
- -

◆ features

- -
-
- - - - - -
- - - - -
std::vector<std::string> bayesnet::Classifier::features
-
-protected
-
- -

Definition at line 46 of file Classifier.h.

- -
-
- -

◆ fitted

- -
-
- - - - - -
- - - - -
bool bayesnet::Classifier::fitted
-
-protected
-
- -

Definition at line 42 of file Classifier.h.

- -
-
- -

◆ m

- -
-
- - - - - -
- - - - -
unsigned int bayesnet::Classifier::m
-
-protected
-
- -

Definition at line 43 of file Classifier.h.

- -
-
- -

◆ metrics

- -
-
- - - - - -
- - - - -
Metrics bayesnet::Classifier::metrics
-
-protected
-
- -

Definition at line 45 of file Classifier.h.

- -
-
- -

◆ model

- -
-
- - - - - -
- - - - -
Network bayesnet::Classifier::model
-
-protected
-
- -

Definition at line 44 of file Classifier.h.

- -
-
- -

◆ n

- -
-
- - - - - -
- - - - -
unsigned int bayesnet::Classifier::n
-
-protected
-
- -

Definition at line 43 of file Classifier.h.

- -
-
- -

◆ notes

- -
-
- - - - - -
- - - - -
std::vector<std::string> bayesnet::Classifier::notes
-
-protected
-
- -

Definition at line 51 of file Classifier.h.

- -
-
- -

◆ states

- -
-
- - - - - -
- - - - -
std::map<std::string, std::vector<int> > bayesnet::Classifier::states
-
-protected
-
- -

Definition at line 48 of file Classifier.h.

- -
-
- -

◆ status

- -
-
- - - - - -
- - - - -
status_t bayesnet::Classifier::status = NORMAL
-
-protected
-
- -

Definition at line 50 of file Classifier.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Classifier.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Classifier.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_classifier__coll__graph.map b/docs/manual/classbayesnet_1_1_classifier__coll__graph.map deleted file mode 100644 index faddef8..0000000 --- a/docs/manual/classbayesnet_1_1_classifier__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_classifier__coll__graph.md5 b/docs/manual/classbayesnet_1_1_classifier__coll__graph.md5 deleted file mode 100644 index fe2a7df..0000000 --- a/docs/manual/classbayesnet_1_1_classifier__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -11b68cf05c82a53d413b124afb143844 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_classifier__coll__graph.png b/docs/manual/classbayesnet_1_1_classifier__coll__graph.png deleted file mode 100644 index ff1955ab8f956aa7d4a9e20452d9414bc72beed6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8752 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 diff --git a/docs/manual/classbayesnet_1_1_classifier__inherit__graph.map b/docs/manual/classbayesnet_1_1_classifier__inherit__graph.map deleted file mode 100644 index 7c975a0..0000000 --- a/docs/manual/classbayesnet_1_1_classifier__inherit__graph.map +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_classifier__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_classifier__inherit__graph.md5 deleted file mode 100644 index ffe3469..0000000 --- a/docs/manual/classbayesnet_1_1_classifier__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e8eb745ffa2d265244d915fc0e5f0ee0 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_classifier__inherit__graph.png b/docs/manual/classbayesnet_1_1_classifier__inherit__graph.png deleted file mode 100644 index 410aacc6728d0e0dadac8675472cd8cef18f9a8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43117 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 SA-a!(FOB_&)e81npZ{O$=rQX6 diff --git a/docs/manual/classbayesnet_1_1_ensemble-members.html b/docs/manual/classbayesnet_1_1_ensemble-members.html deleted file mode 100644 index b30b233..0000000 --- a/docs/manual/classbayesnet_1_1_ensemble-members.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::Ensemble Member List
-
-
- -

This is the complete list of members for bayesnet::Ensemble, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights)=0 (defined in bayesnet::Classifier)bayesnet::Classifierprotectedpure virtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
compute_arg_max(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
compute_arg_max(std::vector< std::vector< double > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
Ensemble(bool predict_voting=true) (defined in bayesnet::Ensemble)bayesnet::Ensemble
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfNodes() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getNumberOfStates() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &title) const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n_models (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_average_proba(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_proba(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(torch::Tensor &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_average_voting(std::vector< std::vector< int > > &X) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
predict_proba(torch::Tensor &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
predict_voting (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
significanceModels (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Ensemble)bayesnet::Ensembleinlinevirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Ensemble)bayesnet::Ensembleprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
voting(torch::Tensor &votes) (defined in bayesnet::Ensemble)bayesnet::Ensembleprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Ensemble()=default (defined in bayesnet::Ensemble)bayesnet::Ensemblevirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_ensemble.html b/docs/manual/classbayesnet_1_1_ensemble.html deleted file mode 100644 index 0658cfc..0000000 --- a/docs/manual/classbayesnet_1_1_ensemble.html +++ /dev/null @@ -1,1007 +0,0 @@ - - - - - - - -BayesNet: bayesnet::Ensemble Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-Inheritance diagram for bayesnet::Ensemble:
-
-
Inheritance graph
- - - - - - - - - - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::Ensemble:
-
-
Collaboration graph
- - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Ensemble (bool predict_voting=true)
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
std::vector< std::string > show () const override
 
std::vector< std::string > graph (const std::string &title) const override
 
std::vector< std::string > topological_order () override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getClassNumStates () const override
 
status_t getStatus () const override
 
std::string getVersion () override
 
std::vector< std::string > getNotes () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

torch::Tensor predict_average_voting (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_voting (std::vector< std::vector< int > > &X)
 
torch::Tensor predict_average_proba (torch::Tensor &X)
 
std::vector< std::vector< double > > predict_average_proba (std::vector< std::vector< int > > &X)
 
torch::Tensor compute_arg_max (torch::Tensor &X)
 
std::vector< int > compute_arg_max (std::vector< std::vector< double > > &X)
 
torch::Tensor voting (torch::Tensor &votes)
 
void trainModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
-virtual void buildModel (const torch::Tensor &weights)=0
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

unsigned n_models
 
std::vector< std::unique_ptr< Classifier > > models
 
std::vector< double > significanceModels
 
bool predict_voting
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 15 of file Ensemble.h.

-

Constructor & Destructor Documentation

- -

◆ Ensemble()

- -
-
- - - - - - - -
bayesnet::Ensemble::Ensemble (bool predict_voting = true)
-
- -

Definition at line 11 of file Ensemble.cc.

- -
-
-

Member Function Documentation

- -

◆ compute_arg_max() [1/2]

- -
-
- - - - - -
- - - - - - - -
std::vector< int > bayesnet::Ensemble::compute_arg_max (std::vector< std::vector< double > > & X)
-
-protected
-
- -

Definition at line 24 of file Ensemble.cc.

- -
-
- -

◆ compute_arg_max() [2/2]

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Ensemble::compute_arg_max (torch::Tensor & X)
-
-protected
-
- -

Definition at line 33 of file Ensemble.cc.

- -
-
- -

◆ dump_cpt()

- -
-
- - - - - -
- - - - - - - -
std::string bayesnet::Ensemble::dump_cpt () const
-
-inlineoverridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 34 of file Ensemble.h.

- -
-
- -

◆ getNumberOfEdges()

- -
-
- - - - - -
- - - - - - - -
int bayesnet::Ensemble::getNumberOfEdges () const
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 206 of file Ensemble.cc.

- -
-
- -

◆ getNumberOfNodes()

- -
-
- - - - - -
- - - - - - - -
int bayesnet::Ensemble::getNumberOfNodes () const
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 198 of file Ensemble.cc.

- -
-
- -

◆ getNumberOfStates()

- -
-
- - - - - -
- - - - - - - -
int bayesnet::Ensemble::getNumberOfStates () const
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 214 of file Ensemble.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::Ensemble::graph (const std::string & title) const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 189 of file Ensemble.cc.

- -
-
- -

◆ predict() [1/2]

- -
-
- - - - - -
- - - - - - - -
std::vector< int > bayesnet::Ensemble::predict (std::vector< std::vector< int > > & X)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 74 of file Ensemble.cc.

- -
-
- -

◆ predict() [2/2]

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Ensemble::predict (torch::Tensor & X)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 79 of file Ensemble.cc.

- -
-
- -

◆ predict_average_proba() [1/2]

- -
-
- - - - - -
- - - - - - - -
std::vector< std::vector< double > > bayesnet::Ensemble::predict_average_proba (std::vector< std::vector< int > > & X)
-
-protected
-
- -

Definition at line 104 of file Ensemble.cc.

- -
-
- -

◆ predict_average_proba() [2/2]

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Ensemble::predict_average_proba (torch::Tensor & X)
-
-protected
-
- -

Definition at line 84 of file Ensemble.cc.

- -
-
- -

◆ predict_average_voting() [1/2]

- -
-
- - - - - -
- - - - - - - -
std::vector< std::vector< double > > bayesnet::Ensemble::predict_average_voting (std::vector< std::vector< int > > & X)
-
-protected
-
- -

Definition at line 133 of file Ensemble.cc.

- -
-
- -

◆ predict_average_voting() [2/2]

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Ensemble::predict_average_voting (torch::Tensor & X)
-
-protected
-
- -

Definition at line 140 of file Ensemble.cc.

- -
-
- -

◆ predict_proba() [1/2]

- -
-
- - - - - -
- - - - - - - -
std::vector< std::vector< double > > bayesnet::Ensemble::predict_proba (std::vector< std::vector< int > > & X)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 60 of file Ensemble.cc.

- -
-
- -

◆ predict_proba() [2/2]

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Ensemble::predict_proba (torch::Tensor & X)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 67 of file Ensemble.cc.

- -
-
- -

◆ score() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - -
float bayesnet::Ensemble::score (std::vector< std::vector< int > > & X,
std::vector< int > & y )
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 169 of file Ensemble.cc.

- -
-
- -

◆ score() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - -
float bayesnet::Ensemble::score (torch::Tensor & X,
torch::Tensor & y )
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 158 of file Ensemble.cc.

- -
-
- -

◆ show()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::Ensemble::show () const
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 180 of file Ensemble.cc.

- -
-
- -

◆ topological_order()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::Ensemble::topological_order ()
-
-inlineoverridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 30 of file Ensemble.h.

- -
-
- -

◆ trainModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::Ensemble::trainModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 16 of file Ensemble.cc.

- -
-
- -

◆ voting()

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Ensemble::voting (torch::Tensor & votes)
-
-protected
-
- -

Definition at line 38 of file Ensemble.cc.

- -
-
-

Member Data Documentation

- -

◆ models

- -
-
- - - - - -
- - - - -
std::vector<std::unique_ptr<Classifier> > bayesnet::Ensemble::models
-
-protected
-
- -

Definition at line 47 of file Ensemble.h.

- -
-
- -

◆ n_models

- -
-
- - - - - -
- - - - -
unsigned bayesnet::Ensemble::n_models
-
-protected
-
- -

Definition at line 46 of file Ensemble.h.

- -
-
- -

◆ predict_voting

- -
-
- - - - - -
- - - - -
bool bayesnet::Ensemble::predict_voting
-
-protected
-
- -

Definition at line 50 of file Ensemble.h.

- -
-
- -

◆ significanceModels

- -
-
- - - - - -
- - - - -
std::vector<double> bayesnet::Ensemble::significanceModels
-
-protected
-
- -

Definition at line 48 of file Ensemble.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Ensemble.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/ensembles/Ensemble.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_ensemble__coll__graph.map b/docs/manual/classbayesnet_1_1_ensemble__coll__graph.map deleted file mode 100644 index 03173b1..0000000 --- a/docs/manual/classbayesnet_1_1_ensemble__coll__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_ensemble__coll__graph.md5 b/docs/manual/classbayesnet_1_1_ensemble__coll__graph.md5 deleted file mode 100644 index b723997..0000000 --- a/docs/manual/classbayesnet_1_1_ensemble__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b86ef25f6b5cae66beecc3e9ed01dc2c \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_ensemble__coll__graph.png b/docs/manual/classbayesnet_1_1_ensemble__coll__graph.png deleted file mode 100644 index 33f6e04e1c55b43dd667169ef3ddbb0519bed5ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11121 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 LMe!0*!_WT<{!Fk( diff --git a/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.map b/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.map deleted file mode 100644 index 27da9cd..0000000 --- a/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.md5 deleted file mode 100644 index 664bcbd..0000000 --- a/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d57ab6e4c37c557ee959ea8c8835847b \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.png b/docs/manual/classbayesnet_1_1_ensemble__inherit__graph.png deleted file mode 100644 index dc895de4cf0b77646637296b7f0aace7c454401d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22170 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 WP@GV`>mq_|mhy1%alY#qeEdH?Xk|G7 diff --git a/docs/manual/classbayesnet_1_1_k_d_b-members.html b/docs/manual/classbayesnet_1_1_k_d_b-members.html deleted file mode 100644 index dacbb68..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b-members.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::KDB Member List
-
-
- -

This is the complete list of members for bayesnet::KDB, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::KDB)bayesnet::KDBprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="KDB") const override (defined in bayesnet::KDB)bayesnet::KDBvirtual
KDB(int k, float theta=0.03) (defined in bayesnet::KDB)bayesnet::KDBexplicit
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters_) override (defined in bayesnet::KDB)bayesnet::KDBvirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~KDB()=default (defined in bayesnet::KDB)bayesnet::KDBvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b.html b/docs/manual/classbayesnet_1_1_k_d_b.html deleted file mode 100644 index 2c77b6d..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - -BayesNet: bayesnet::KDB Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::KDB Class Reference
-
-
-
-Inheritance diagram for bayesnet::KDB:
-
-
Inheritance graph
- - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::KDB:
-
-
Collaboration graph
- - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 KDB (int k, float theta=0.03)
 
void setHyperparameters (const nlohmann::json &hyperparameters_) override
 
std::vector< std::string > graph (const std::string &name="KDB") const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - -

-Protected Member Functions

void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 13 of file KDB.h.

-

Constructor & Destructor Documentation

- -

◆ KDB()

- -
-
- - - - - -
- - - - - - - - - - - -
bayesnet::KDB::KDB (int k,
float theta = 0.03 )
-
-explicit
-
- -

Definition at line 10 of file KDB.cc.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::KDB::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 28 of file KDB.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::KDB::graph (const std::string & name = "KDB") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 103 of file KDB.cc.

- -
-
- -

◆ setHyperparameters()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::KDB::setHyperparameters (const nlohmann::json & hyperparameters_)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 15 of file KDB.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDB.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDB.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.map b/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.map deleted file mode 100644 index d3088ec..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.md5 b/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.md5 deleted file mode 100644 index 69194a0..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -da61a083859449e9d8d630b70d27b858 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.png b/docs/manual/classbayesnet_1_1_k_d_b__coll__graph.png deleted file mode 100644 index d6d858cd52a8359f5e7c93d456cf488d9916b752..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11240 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 diff --git a/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.map b/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.map deleted file mode 100644 index bd698e3..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.md5 deleted file mode 100644 index 138d696..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f7a2fcb142d7e60993bfdd827f6f96d9 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.png b/docs/manual/classbayesnet_1_1_k_d_b__inherit__graph.png deleted file mode 100644 index c151753ee436a1b688712d802b244b95ebb31163..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10088 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 diff --git a/docs/manual/classbayesnet_1_1_k_d_b_ld-members.html b/docs/manual/classbayesnet_1_1_k_d_b_ld-members.html deleted file mode 100644 index 8fe1817..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b_ld-members.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::KDBLd Member List
-
-
- -

This is the complete list of members for bayesnet::KDBLd, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::KDB)bayesnet::KDBprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
checkInput(const torch::Tensor &X, const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
discretizers (defined in bayesnet::Proposal)bayesnet::Proposalprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
fit(torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override (defined in bayesnet::KDBLd)bayesnet::KDBLd
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit_local_discretization(const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="KDB") const override (defined in bayesnet::KDBLd)bayesnet::KDBLdvirtual
KDB(int k, float theta=0.03) (defined in bayesnet::KDB)bayesnet::KDBexplicit
KDBLd(int k) (defined in bayesnet::KDBLd)bayesnet::KDBLdexplicit
localDiscretizationProposal(const map< std::string, std::vector< int > > &states, Network &model) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::KDBLd)bayesnet::KDBLdvirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
prepareX(torch::Tensor &X) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Proposal(torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_) (defined in bayesnet::Proposal)bayesnet::Proposal
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters_) override (defined in bayesnet::KDB)bayesnet::KDBvirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
version() (defined in bayesnet::KDBLd)bayesnet::KDBLdinlinestatic
Xf (defined in bayesnet::Proposal)bayesnet::Proposalprotected
y (defined in bayesnet::Proposal)bayesnet::Proposalprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~KDB()=default (defined in bayesnet::KDB)bayesnet::KDBvirtual
~KDBLd()=default (defined in bayesnet::KDBLd)bayesnet::KDBLdvirtual
~Proposal() (defined in bayesnet::Proposal)bayesnet::Proposalvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b_ld.html b/docs/manual/classbayesnet_1_1_k_d_b_ld.html deleted file mode 100644 index 46b2470..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b_ld.html +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - -BayesNet: bayesnet::KDBLd Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::KDBLd Class Reference
-
-
-
-Inheritance diagram for bayesnet::KDBLd:
-
-
Inheritance graph
- - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::KDBLd:
-
-
Collaboration graph
- - - - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 KDBLd (int k)
 
KDBLdfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override
 
std::vector< std::string > graph (const std::string &name="KDB") const override
 
torch::Tensor predict (torch::Tensor &X) override
 
- Public Member Functions inherited from bayesnet::KDB
 KDB (int k, float theta=0.03)
 
void setHyperparameters (const nlohmann::json &hyperparameters_) override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- Public Member Functions inherited from bayesnet::Proposal
 Proposal (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)
 
- - - -

-Static Public Member Functions

static std::string version ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from bayesnet::KDB
void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- Protected Member Functions inherited from bayesnet::Proposal
void checkInput (const torch::Tensor &X, const torch::Tensor &y)
 
torch::Tensor prepareX (torch::Tensor &X)
 
map< std::string, std::vector< int > > localDiscretizationProposal (const map< std::string, std::vector< int > > &states, Network &model)
 
map< std::string, std::vector< int > > fit_local_discretization (const torch::Tensor &y)
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
- Protected Attributes inherited from bayesnet::Proposal
torch::Tensor Xf
 
torch::Tensor y
 
map< std::string, mdlp::CPPFImdlp * > discretizers
 
-

Detailed Description

-
-

Definition at line 13 of file KDBLd.h.

-

Constructor & Destructor Documentation

- -

◆ KDBLd()

- -
-
- - - - - -
- - - - - - - -
bayesnet::KDBLd::KDBLd (int k)
-
-explicit
-
- -

Definition at line 10 of file KDBLd.cc.

- -
-
-

Member Function Documentation

- -

◆ fit()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
KDBLd & bayesnet::KDBLd::fit (torch::Tensor & X,
torch::Tensor & y,
const std::vector< std::string > & features,
const std::string & className,
map< std::string, std::vector< int > > & states )
-
-override
-
- -

Definition at line 11 of file KDBLd.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::KDBLd::graph (const std::string & name = "KDB") const
-
-overridevirtual
-
- -

Reimplemented from bayesnet::KDB.

- -

Definition at line 31 of file KDBLd.cc.

- -
-
- -

◆ predict()

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::KDBLd::predict (torch::Tensor & X)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 26 of file KDBLd.cc.

- -
-
- -

◆ version()

- -
-
- - - - - -
- - - - - - - -
static std::string bayesnet::KDBLd::version ()
-
-inlinestatic
-
- -

Definition at line 21 of file KDBLd.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDBLd.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/KDBLd.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.map b/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.map deleted file mode 100644 index 0bc95ec..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.md5 b/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.md5 deleted file mode 100644 index 5a460c8..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c341d14e86ad0c1b8e028db9c194d855 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.png b/docs/manual/classbayesnet_1_1_k_d_b_ld__coll__graph.png deleted file mode 100644 index b39b8d94f03dde91e43428f963686c3f284cf077..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16788 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 - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.md5 deleted file mode 100644 index 8da87ae..0000000 --- a/docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -464954a9aef0437aadb100e747a29b93 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.png b/docs/manual/classbayesnet_1_1_k_d_b_ld__inherit__graph.png deleted file mode 100644 index 4240afd7b461da41f5941be8c5cc95c822423003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12914 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 diff --git a/docs/manual/classbayesnet_1_1_network-members.html b/docs/manual/classbayesnet_1_1_network-members.html deleted file mode 100644 index 7f66917..0000000 --- a/docs/manual/classbayesnet_1_1_network-members.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::Network Member List
-
-
- -

This is the complete list of members for bayesnet::Network, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addEdge(const std::string &, const std::string &) (defined in bayesnet::Network)bayesnet::Network
addNode(const std::string &) (defined in bayesnet::Network)bayesnet::Network
dump_cpt() const (defined in bayesnet::Network)bayesnet::Network
fit(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) (defined in bayesnet::Network)bayesnet::Network
fit(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) (defined in bayesnet::Network)bayesnet::Network
fit(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) (defined in bayesnet::Network)bayesnet::Network
getClassName() const (defined in bayesnet::Network)bayesnet::Network
getClassNumStates() const (defined in bayesnet::Network)bayesnet::Network
getEdges() const (defined in bayesnet::Network)bayesnet::Network
getFeatures() const (defined in bayesnet::Network)bayesnet::Network
getMaxThreads() const (defined in bayesnet::Network)bayesnet::Network
getNodes() (defined in bayesnet::Network)bayesnet::Network
getNumEdges() const (defined in bayesnet::Network)bayesnet::Network
getSamples() (defined in bayesnet::Network)bayesnet::Network
getStates() const (defined in bayesnet::Network)bayesnet::Network
graph(const std::string &title) const (defined in bayesnet::Network)bayesnet::Network
initialize() (defined in bayesnet::Network)bayesnet::Network
Network() (defined in bayesnet::Network)bayesnet::Network
Network(float) (defined in bayesnet::Network)bayesnet::Networkexplicit
Network(const Network &) (defined in bayesnet::Network)bayesnet::Networkexplicit
predict(const std::vector< std::vector< int > > &) (defined in bayesnet::Network)bayesnet::Network
predict(const torch::Tensor &) (defined in bayesnet::Network)bayesnet::Network
predict_proba(const std::vector< std::vector< int > > &) (defined in bayesnet::Network)bayesnet::Network
predict_proba(const torch::Tensor &) (defined in bayesnet::Network)bayesnet::Network
predict_tensor(const torch::Tensor &samples, const bool proba) (defined in bayesnet::Network)bayesnet::Network
score(const std::vector< std::vector< int > > &, const std::vector< int > &) (defined in bayesnet::Network)bayesnet::Network
show() const (defined in bayesnet::Network)bayesnet::Network
topological_sort() (defined in bayesnet::Network)bayesnet::Network
version() (defined in bayesnet::Network)bayesnet::Networkinline
~Network()=default (defined in bayesnet::Network)bayesnet::Network
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_network.html b/docs/manual/classbayesnet_1_1_network.html deleted file mode 100644 index 252deae..0000000 --- a/docs/manual/classbayesnet_1_1_network.html +++ /dev/null @@ -1,840 +0,0 @@ - - - - - - - -BayesNet: bayesnet::Network Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::Network Class Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Network (float)
 
 Network (const Network &)
 
torch::Tensor & getSamples ()
 
float getMaxThreads () const
 
void addNode (const std::string &)
 
void addEdge (const std::string &, const std::string &)
 
std::map< std::string, std::unique_ptr< Node > > & getNodes ()
 
std::vector< std::string > getFeatures () const
 
int getStates () const
 
std::vector< std::pair< std::string, std::string > > getEdges () const
 
int getNumEdges () const
 
int getClassNumStates () const
 
std::string getClassName () const
 
void fit (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)
 
void fit (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)
 
void fit (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)
 
std::vector< int > predict (const std::vector< std::vector< int > > &)
 
torch::Tensor predict (const torch::Tensor &)
 
torch::Tensor predict_tensor (const torch::Tensor &samples, const bool proba)
 
std::vector< std::vector< double > > predict_proba (const std::vector< std::vector< int > > &)
 
torch::Tensor predict_proba (const torch::Tensor &)
 
double score (const std::vector< std::vector< int > > &, const std::vector< int > &)
 
std::vector< std::string > topological_sort ()
 
std::vector< std::string > show () const
 
std::vector< std::string > graph (const std::string &title) const
 
void initialize ()
 
std::string dump_cpt () const
 
std::string version ()
 
-

Detailed Description

-
-

Definition at line 15 of file Network.h.

-

Constructor & Destructor Documentation

- -

◆ Network() [1/3]

- -
-
- - - - - - - -
bayesnet::Network::Network ()
-
- -

Definition at line 13 of file Network.cc.

- -
-
- -

◆ Network() [2/3]

- -
-
- - - - - -
- - - - - - - -
bayesnet::Network::Network (float maxT)
-
-explicit
-
- -

Definition at line 16 of file Network.cc.

- -
-
- -

◆ Network() [3/3]

- -
-
- - - - - -
- - - - - - - -
bayesnet::Network::Network (const Network & other)
-
-explicit
-
- -

Definition at line 20 of file Network.cc.

- -
-
-

Member Function Documentation

- -

◆ addEdge()

- -
-
- - - - - - - - - - - -
void bayesnet::Network::addEdge (const std::string & parent,
const std::string & child )
-
- -

Definition at line 95 of file Network.cc.

- -
-
- -

◆ addNode()

- -
-
- - - - - - - -
void bayesnet::Network::addNode (const std::string & name)
-
- -

Definition at line 46 of file Network.cc.

- -
-
- -

◆ dump_cpt()

- -
-
- - - - - - - -
std::string bayesnet::Network::dump_cpt () const
-
- -

Definition at line 420 of file Network.cc.

- -
-
- -

◆ fit() [1/3]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void bayesnet::Network::fit (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 )
-
- -

Definition at line 177 of file Network.cc.

- -
-
- -

◆ fit() [2/3]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
void bayesnet::Network::fit (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 )
-
- -

Definition at line 169 of file Network.cc.

- -
-
- -

◆ fit() [3/3]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void bayesnet::Network::fit (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 )
-
- -

Definition at line 158 of file Network.cc.

- -
-
- -

◆ getClassName()

- -
-
- - - - - - - -
std::string bayesnet::Network::getClassName () const
-
- -

Definition at line 75 of file Network.cc.

- -
-
- -

◆ getClassNumStates()

- -
-
- - - - - - - -
int bayesnet::Network::getClassNumStates () const
-
- -

Definition at line 63 of file Network.cc.

- -
-
- -

◆ getEdges()

- -
-
- - - - - - - -
std::vector< std::pair< std::string, std::string > > bayesnet::Network::getEdges () const
-
- -

Definition at line 371 of file Network.cc.

- -
-
- -

◆ getFeatures()

- -
-
- - - - - - - -
std::vector< std::string > bayesnet::Network::getFeatures () const
-
- -

Definition at line 59 of file Network.cc.

- -
-
- -

◆ getMaxThreads()

- -
-
- - - - - - - -
float bayesnet::Network::getMaxThreads () const
-
- -

Definition at line 38 of file Network.cc.

- -
-
- -

◆ getNodes()

- -
-
- - - - - - - -
std::map< std::string, std::unique_ptr< Node > > & bayesnet::Network::getNodes ()
-
- -

Definition at line 116 of file Network.cc.

- -
-
- -

◆ getNumEdges()

- -
-
- - - - - - - -
int bayesnet::Network::getNumEdges () const
-
- -

Definition at line 383 of file Network.cc.

- -
-
- -

◆ getSamples()

- -
-
- - - - - - - -
torch::Tensor & bayesnet::Network::getSamples ()
-
- -

Definition at line 42 of file Network.cc.

- -
-
- -

◆ getStates()

- -
-
- - - - - - - -
int bayesnet::Network::getStates () const
-
- -

Definition at line 67 of file Network.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - - - -
std::vector< std::string > bayesnet::Network::graph (const std::string & title) const
-
- -

Definition at line 357 of file Network.cc.

- -
-
- -

◆ initialize()

- -
-
- - - - - - - -
void bayesnet::Network::initialize ()
-
- -

Definition at line 29 of file Network.cc.

- -
-
- -

◆ predict() [1/2]

- -
-
- - - - - - - -
std::vector< int > bayesnet::Network::predict (const std::vector< std::vector< int > > & tsamples)
-
- -

Definition at line 237 of file Network.cc.

- -
-
- -

◆ predict() [2/2]

- -
-
- - - - - - - -
torch::Tensor bayesnet::Network::predict (const torch::Tensor & samples)
-
- -

Definition at line 230 of file Network.cc.

- -
-
- -

◆ predict_proba() [1/2]

- -
-
- - - - - - - -
std::vector< std::vector< double > > bayesnet::Network::predict_proba (const std::vector< std::vector< int > > & tsamples)
-
- -

Definition at line 259 of file Network.cc.

- -
-
- -

◆ predict_proba() [2/2]

- -
-
- - - - - - - -
torch::Tensor bayesnet::Network::predict_proba (const torch::Tensor & samples)
-
- -

Definition at line 224 of file Network.cc.

- -
-
- -

◆ predict_tensor()

- -
-
- - - - - - - - - - - -
torch::Tensor bayesnet::Network::predict_tensor (const torch::Tensor & samples,
const bool proba )
-
- -

Definition at line 205 of file Network.cc.

- -
-
- -

◆ score()

- -
-
- - - - - - - - - - - -
double bayesnet::Network::score (const std::vector< std::vector< int > > & tsamples,
const std::vector< int > & labels )
-
- -

Definition at line 275 of file Network.cc.

- -
-
- -

◆ show()

- -
-
- - - - - - - -
std::vector< std::string > bayesnet::Network::show () const
-
- -

Definition at line 344 of file Network.cc.

- -
-
- -

◆ topological_sort()

- -
-
- - - - - - - -
std::vector< std::string > bayesnet::Network::topological_sort ()
-
- -

Definition at line 387 of file Network.cc.

- -
-
- -

◆ version()

- -
-
- - - - - -
- - - - - - - -
std::string bayesnet::Network::version ()
-
-inline
-
- -

Definition at line 49 of file Network.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/network/Network.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/network/Network.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_node-members.html b/docs/manual/classbayesnet_1_1_node-members.html deleted file mode 100644 index e8f9f24..0000000 --- a/docs/manual/classbayesnet_1_1_node-members.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::Node Member List
-
-
- -

This is the complete list of members for bayesnet::Node, including all inherited members.

- - - - - - - - - - - - - - - - - -
addChild(Node *) (defined in bayesnet::Node)bayesnet::Node
addParent(Node *) (defined in bayesnet::Node)bayesnet::Node
clear() (defined in bayesnet::Node)bayesnet::Node
computeCPT(const torch::Tensor &dataset, const std::vector< std::string > &features, const double laplaceSmoothing, const torch::Tensor &weights) (defined in bayesnet::Node)bayesnet::Node
getChildren() (defined in bayesnet::Node)bayesnet::Node
getCPT() (defined in bayesnet::Node)bayesnet::Node
getFactorValue(std::map< std::string, int > &) (defined in bayesnet::Node)bayesnet::Node
getName() const (defined in bayesnet::Node)bayesnet::Node
getNumStates() const (defined in bayesnet::Node)bayesnet::Node
getParents() (defined in bayesnet::Node)bayesnet::Node
graph(const std::string &clasName) (defined in bayesnet::Node)bayesnet::Node
minFill() (defined in bayesnet::Node)bayesnet::Node
Node(const std::string &) (defined in bayesnet::Node)bayesnet::Nodeexplicit
removeChild(Node *) (defined in bayesnet::Node)bayesnet::Node
removeParent(Node *) (defined in bayesnet::Node)bayesnet::Node
setNumStates(int) (defined in bayesnet::Node)bayesnet::Node
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_node.html b/docs/manual/classbayesnet_1_1_node.html deleted file mode 100644 index 2b9c143..0000000 --- a/docs/manual/classbayesnet_1_1_node.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - -BayesNet: bayesnet::Node Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::Node Class Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Node (const std::string &)
 
void clear ()
 
void addParent (Node *)
 
void addChild (Node *)
 
void removeParent (Node *)
 
void removeChild (Node *)
 
std::string getName () const
 
std::vector< Node * > & getParents ()
 
std::vector< Node * > & getChildren ()
 
torch::Tensor & getCPT ()
 
void computeCPT (const torch::Tensor &dataset, const std::vector< std::string > &features, const double laplaceSmoothing, const torch::Tensor &weights)
 
int getNumStates () const
 
void setNumStates (int)
 
unsigned minFill ()
 
std::vector< std::string > graph (const std::string &clasName)
 
float getFactorValue (std::map< std::string, int > &)
 
-

Detailed Description

-
-

Definition at line 14 of file Node.h.

-

Constructor & Destructor Documentation

- -

◆ Node()

- -
-
- - - - - -
- - - - - - - -
bayesnet::Node::Node (const std::string & name)
-
-explicit
-
- -

Definition at line 11 of file Node.cc.

- -
-
-

Member Function Documentation

- -

◆ addChild()

- -
-
- - - - - - - -
void bayesnet::Node::addChild (Node * child)
-
- -

Definition at line 39 of file Node.cc.

- -
-
- -

◆ addParent()

- -
-
- - - - - - - -
void bayesnet::Node::addParent (Node * parent)
-
- -

Definition at line 27 of file Node.cc.

- -
-
- -

◆ clear()

- -
-
- - - - - - - -
void bayesnet::Node::clear ()
-
- -

Definition at line 15 of file Node.cc.

- -
-
- -

◆ computeCPT()

- -
-
- - - - - - - - - - - - - - - - - - - - - -
void bayesnet::Node::computeCPT (const torch::Tensor & dataset,
const std::vector< std::string > & features,
const double laplaceSmoothing,
const torch::Tensor & weights )
-
- -

Definition at line 93 of file Node.cc.

- -
-
- -

◆ getChildren()

- -
-
- - - - - - - -
std::vector< Node * > & bayesnet::Node::getChildren ()
-
- -

Definition at line 47 of file Node.cc.

- -
-
- -

◆ getCPT()

- -
-
- - - - - - - -
torch::Tensor & bayesnet::Node::getCPT ()
-
- -

Definition at line 59 of file Node.cc.

- -
-
- -

◆ getFactorValue()

- -
-
- - - - - - - -
float bayesnet::Node::getFactorValue (std::map< std::string, int > & evidence)
-
- -

Definition at line 124 of file Node.cc.

- -
-
- -

◆ getName()

- -
-
- - - - - - - -
std::string bayesnet::Node::getName () const
-
- -

Definition at line 23 of file Node.cc.

- -
-
- -

◆ getNumStates()

- -
-
- - - - - - - -
int bayesnet::Node::getNumStates () const
-
- -

Definition at line 51 of file Node.cc.

- -
-
- -

◆ getParents()

- -
-
- - - - - - - -
std::vector< Node * > & bayesnet::Node::getParents ()
-
- -

Definition at line 43 of file Node.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - - - -
std::vector< std::string > bayesnet::Node::graph (const std::string & clasName)
-
- -

Definition at line 132 of file Node.cc.

- -
-
- -

◆ minFill()

- -
-
- - - - - - - -
unsigned bayesnet::Node::minFill ()
-
- -

Definition at line 70 of file Node.cc.

- -
-
- -

◆ removeChild()

- -
-
- - - - - - - -
void bayesnet::Node::removeChild (Node * child)
-
- -

Definition at line 35 of file Node.cc.

- -
-
- -

◆ removeParent()

- -
-
- - - - - - - -
void bayesnet::Node::removeParent (Node * parent)
-
- -

Definition at line 31 of file Node.cc.

- -
-
- -

◆ setNumStates()

- -
-
- - - - - - - -
void bayesnet::Node::setNumStates (int numStates)
-
- -

Definition at line 55 of file Node.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/network/Node.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/network/Node.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_proposal-members.html b/docs/manual/classbayesnet_1_1_proposal-members.html deleted file mode 100644 index 57aca7a..0000000 --- a/docs/manual/classbayesnet_1_1_proposal-members.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::Proposal Member List
-
-
- -

This is the complete list of members for bayesnet::Proposal, including all inherited members.

- - - - - - - - - - -
checkInput(const torch::Tensor &X, const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
discretizers (defined in bayesnet::Proposal)bayesnet::Proposalprotected
fit_local_discretization(const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
localDiscretizationProposal(const map< std::string, std::vector< int > > &states, Network &model) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
prepareX(torch::Tensor &X) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Proposal(torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_) (defined in bayesnet::Proposal)bayesnet::Proposal
Xf (defined in bayesnet::Proposal)bayesnet::Proposalprotected
y (defined in bayesnet::Proposal)bayesnet::Proposalprotected
~Proposal() (defined in bayesnet::Proposal)bayesnet::Proposalvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_proposal.html b/docs/manual/classbayesnet_1_1_proposal.html deleted file mode 100644 index 0003bbe..0000000 --- a/docs/manual/classbayesnet_1_1_proposal.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - - -BayesNet: bayesnet::Proposal Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-Inheritance diagram for bayesnet::Proposal:
-
-
Inheritance graph
- - - - - - - - - - - -
[legend]
- - - - -

-Public Member Functions

 Proposal (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)
 
- - - - - - - - - -

-Protected Member Functions

void checkInput (const torch::Tensor &X, const torch::Tensor &y)
 
torch::Tensor prepareX (torch::Tensor &X)
 
map< std::string, std::vector< int > > localDiscretizationProposal (const map< std::string, std::vector< int > > &states, Network &model)
 
map< std::string, std::vector< int > > fit_local_discretization (const torch::Tensor &y)
 
- - - - - - - -

-Protected Attributes

torch::Tensor Xf
 
torch::Tensor y
 
map< std::string, mdlp::CPPFImdlp * > discretizers
 
-

Detailed Description

-
-

Definition at line 17 of file Proposal.h.

-

Constructor & Destructor Documentation

- -

◆ Proposal()

- -
-
- - - - - - - - - - - - - - - - -
bayesnet::Proposal::Proposal (torch::Tensor & pDataset,
std::vector< std::string > & features_,
std::string & className_ )
-
- -

Definition at line 10 of file Proposal.cc.

- -
-
- -

◆ ~Proposal()

- -
-
- - - - - -
- - - - - - - -
bayesnet::Proposal::~Proposal ()
-
-virtual
-
- -

Definition at line 11 of file Proposal.cc.

- -
-
-

Member Function Documentation

- -

◆ checkInput()

- -
-
- - - - - -
- - - - - - - - - - - -
void bayesnet::Proposal::checkInput (const torch::Tensor & X,
const torch::Tensor & y )
-
-protected
-
- -

Definition at line 17 of file Proposal.cc.

- -
-
- -

◆ fit_local_discretization()

- -
-
- - - - - -
- - - - - - - -
map< std::string, std::vector< int > > bayesnet::Proposal::fit_local_discretization (const torch::Tensor & y)
-
-protected
-
- -

Definition at line 77 of file Proposal.cc.

- -
-
- -

◆ localDiscretizationProposal()

- -
-
- - - - - -
- - - - - - - - - - - -
map< std::string, std::vector< int > > bayesnet::Proposal::localDiscretizationProposal (const map< std::string, std::vector< int > > & states,
Network & model )
-
-protected
-
- -

Definition at line 26 of file Proposal.cc.

- -
-
- -

◆ prepareX()

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::Proposal::prepareX (torch::Tensor & X)
-
-protected
-
- -

Definition at line 104 of file Proposal.cc.

- -
-
-

Member Data Documentation

- -

◆ discretizers

- -
-
- - - - - -
- - - - -
map<std::string, mdlp::CPPFImdlp*> bayesnet::Proposal::discretizers
-
-protected
-
- -

Definition at line 28 of file Proposal.h.

- -
-
- -

◆ Xf

- -
-
- - - - - -
- - - - -
torch::Tensor bayesnet::Proposal::Xf
-
-protected
-
- -

Definition at line 26 of file Proposal.h.

- -
-
- -

◆ y

- -
-
- - - - - -
- - - - -
torch::Tensor bayesnet::Proposal::y
-
-protected
-
- -

Definition at line 27 of file Proposal.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Proposal.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/Proposal.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_proposal__inherit__graph.map b/docs/manual/classbayesnet_1_1_proposal__inherit__graph.map deleted file mode 100644 index 36e081a..0000000 --- a/docs/manual/classbayesnet_1_1_proposal__inherit__graph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_proposal__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_proposal__inherit__graph.md5 deleted file mode 100644 index 5104bf9..0000000 --- a/docs/manual/classbayesnet_1_1_proposal__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ebc49cb39da6e0edf6f34e086690a717 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_proposal__inherit__graph.png b/docs/manual/classbayesnet_1_1_proposal__inherit__graph.png deleted file mode 100644 index 58d8a633ca34b28e7ea352f0a9ccc7f4c85677b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11225 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 g@Bew}McmP>_CBa?W-(0wT3v{wn4D - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::SPODE Member List
-
-
- -

This is the complete list of members for bayesnet::SPODE, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::SPODE)bayesnet::SPODEprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="SPODE") const override (defined in bayesnet::SPODE)bayesnet::SPODEvirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
SPODE(int root) (defined in bayesnet::SPODE)bayesnet::SPODEexplicit
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~SPODE()=default (defined in bayesnet::SPODE)bayesnet::SPODEvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e.html b/docs/manual/classbayesnet_1_1_s_p_o_d_e.html deleted file mode 100644 index aa7f1e4..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - -BayesNet: bayesnet::SPODE Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::SPODE Class Reference
-
-
-
-Inheritance diagram for bayesnet::SPODE:
-
-
Inheritance graph
- - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::SPODE:
-
-
Collaboration graph
- - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 SPODE (int root)
 
std::vector< std::string > graph (const std::string &name="SPODE") const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - -

-Protected Member Functions

void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 12 of file SPODE.h.

-

Constructor & Destructor Documentation

- -

◆ SPODE()

- -
-
- - - - - -
- - - - - - - -
bayesnet::SPODE::SPODE (int root)
-
-explicit
-
- -

Definition at line 11 of file SPODE.cc.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::SPODE::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 13 of file SPODE.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::SPODE::graph (const std::string & name = "SPODE") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 26 of file SPODE.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODE.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODE.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.map b/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.map deleted file mode 100644 index 136e08b..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.md5 b/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.md5 deleted file mode 100644 index 3e45214..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a7ba010489f508859de8b2a34852703b \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.png b/docs/manual/classbayesnet_1_1_s_p_o_d_e__coll__graph.png deleted file mode 100644 index 72bb1578a70a11e5d9b17cfe9ac7230449d2ea2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11682 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 Q=^9Z}(pD^!w|M&B01A?t?*IS* diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.map b/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.map deleted file mode 100644 index 94db074..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.md5 deleted file mode 100644 index 7d139bf..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -660b58c59a98cc1f67bff80bae3c1de8 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.png b/docs/manual/classbayesnet_1_1_s_p_o_d_e__inherit__graph.png deleted file mode 100644 index 16e3eb5eb3b372deb9cf3a0ae06ecb53c5792323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10920 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 KsA4H2|NjG7+68+6 diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld-members.html b/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld-members.html deleted file mode 100644 index 6e68e07..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld-members.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::SPODELd Member List
-
-
- -

This is the complete list of members for bayesnet::SPODELd, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::SPODE)bayesnet::SPODEprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
checkInput(const torch::Tensor &X, const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
commonFit(const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) (defined in bayesnet::SPODELd)bayesnet::SPODELd
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
discretizers (defined in bayesnet::Proposal)bayesnet::Proposalprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
fit(torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override (defined in bayesnet::SPODELd)bayesnet::SPODELd
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override (defined in bayesnet::SPODELd)bayesnet::SPODELd
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit_local_discretization(const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="SPODE") const override (defined in bayesnet::SPODELd)bayesnet::SPODELdvirtual
localDiscretizationProposal(const map< std::string, std::vector< int > > &states, Network &model) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::SPODELd)bayesnet::SPODELdvirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
prepareX(torch::Tensor &X) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Proposal(torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_) (defined in bayesnet::Proposal)bayesnet::Proposal
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
SPODE(int root) (defined in bayesnet::SPODE)bayesnet::SPODEexplicit
SPODELd(int root) (defined in bayesnet::SPODELd)bayesnet::SPODELdexplicit
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
version() (defined in bayesnet::SPODELd)bayesnet::SPODELdinlinestatic
Xf (defined in bayesnet::Proposal)bayesnet::Proposalprotected
y (defined in bayesnet::Proposal)bayesnet::Proposalprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Proposal() (defined in bayesnet::Proposal)bayesnet::Proposalvirtual
~SPODE()=default (defined in bayesnet::SPODE)bayesnet::SPODEvirtual
~SPODELd()=default (defined in bayesnet::SPODELd)bayesnet::SPODELdvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld.html b/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld.html deleted file mode 100644 index a087449..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld.html +++ /dev/null @@ -1,518 +0,0 @@ - - - - - - - -BayesNet: bayesnet::SPODELd Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::SPODELd Class Reference
-
-
-
-Inheritance diagram for bayesnet::SPODELd:
-
-
Inheritance graph
- - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::SPODELd:
-
-
Collaboration graph
- - - - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 SPODELd (int root)
 
SPODELdfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override
 
SPODELdfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override
 
SPODELdcommonFit (const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states)
 
std::vector< std::string > graph (const std::string &name="SPODE") const override
 
torch::Tensor predict (torch::Tensor &X) override
 
- Public Member Functions inherited from bayesnet::SPODE
 SPODE (int root)
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- Public Member Functions inherited from bayesnet::Proposal
 Proposal (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)
 
- - - -

-Static Public Member Functions

static std::string version ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from bayesnet::SPODE
void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- Protected Member Functions inherited from bayesnet::Proposal
void checkInput (const torch::Tensor &X, const torch::Tensor &y)
 
torch::Tensor prepareX (torch::Tensor &X)
 
map< std::string, std::vector< int > > localDiscretizationProposal (const map< std::string, std::vector< int > > &states, Network &model)
 
map< std::string, std::vector< int > > fit_local_discretization (const torch::Tensor &y)
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
- Protected Attributes inherited from bayesnet::Proposal
torch::Tensor Xf
 
torch::Tensor y
 
map< std::string, mdlp::CPPFImdlp * > discretizers
 
-

Detailed Description

-
-

Definition at line 13 of file SPODELd.h.

-

Constructor & Destructor Documentation

- -

◆ SPODELd()

- -
-
- - - - - -
- - - - - - - -
bayesnet::SPODELd::SPODELd (int root)
-
-explicit
-
- -

Definition at line 10 of file SPODELd.cc.

- -
-
-

Member Function Documentation

- -

◆ commonFit()

- -
-
- - - - - - - - - - - - - - - - -
SPODELd & bayesnet::SPODELd::commonFit (const std::vector< std::string > & features,
const std::string & className,
map< std::string, std::vector< int > > & states )
-
- -

Definition at line 29 of file SPODELd.cc.

- -
-
- -

◆ fit() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - -
SPODELd & bayesnet::SPODELd::fit (torch::Tensor & dataset,
const std::vector< std::string > & features,
const std::string & className,
map< std::string, std::vector< int > > & states )
-
-override
-
- -

Definition at line 19 of file SPODELd.cc.

- -
-
- -

◆ fit() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SPODELd & bayesnet::SPODELd::fit (torch::Tensor & X,
torch::Tensor & y,
const std::vector< std::string > & features,
const std::string & className,
map< std::string, std::vector< int > > & states )
-
-override
-
- -

Definition at line 11 of file SPODELd.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::SPODELd::graph (const std::string & name = "SPODE") const
-
-overridevirtual
-
- -

Reimplemented from bayesnet::SPODE.

- -

Definition at line 46 of file SPODELd.cc.

- -
-
- -

◆ predict()

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::SPODELd::predict (torch::Tensor & X)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 41 of file SPODELd.cc.

- -
-
- -

◆ version()

- -
-
- - - - - -
- - - - - - - -
static std::string bayesnet::SPODELd::version ()
-
-inlinestatic
-
- -

Definition at line 22 of file SPODELd.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODELd.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPODELd.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.map b/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.map deleted file mode 100644 index 9ca9e5f..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.md5 b/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.md5 deleted file mode 100644 index a37512c..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -53a8a1ce38ea1de9807975652116ea2e \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.png b/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__coll__graph.png deleted file mode 100644 index 4de1b0f30cfe718af658d6b643e0f75701b07430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17423 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 - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.md5 deleted file mode 100644 index a8f9b26..0000000 --- a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c2a8d41159422d470d0010f0fdadea9c \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.png b/docs/manual/classbayesnet_1_1_s_p_o_d_e_ld__inherit__graph.png deleted file mode 100644 index 4949d442bd6dc2843783694666100276da2bd53b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13621 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 B$$J0* diff --git a/docs/manual/classbayesnet_1_1_s_pn_d_e-members.html b/docs/manual/classbayesnet_1_1_s_pn_d_e-members.html deleted file mode 100644 index a44a2c8..0000000 --- a/docs/manual/classbayesnet_1_1_s_pn_d_e-members.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::SPnDE Member List
-
-
- -

This is the complete list of members for bayesnet::SPnDE, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::SPnDE)bayesnet::SPnDEprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="SPnDE") const override (defined in bayesnet::SPnDE)bayesnet::SPnDEvirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
SPnDE(std::vector< int > parents) (defined in bayesnet::SPnDE)bayesnet::SPnDEexplicit
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~SPnDE()=default (defined in bayesnet::SPnDE)bayesnet::SPnDEvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_s_pn_d_e.html b/docs/manual/classbayesnet_1_1_s_pn_d_e.html deleted file mode 100644 index a6f9ef0..0000000 --- a/docs/manual/classbayesnet_1_1_s_pn_d_e.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - -BayesNet: bayesnet::SPnDE Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::SPnDE Class Reference
-
-
-
-Inheritance diagram for bayesnet::SPnDE:
-
-
Inheritance graph
- - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::SPnDE:
-
-
Collaboration graph
- - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 SPnDE (std::vector< int > parents)
 
std::vector< std::string > graph (const std::string &name="SPnDE") const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - -

-Protected Member Functions

void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 13 of file SPnDE.h.

-

Constructor & Destructor Documentation

- -

◆ SPnDE()

- -
-
- - - - - -
- - - - - - - -
bayesnet::SPnDE::SPnDE (std::vector< int > parents)
-
-explicit
-
- -

Definition at line 11 of file SPnDE.cc.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::SPnDE::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 13 of file SPnDE.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::SPnDE::graph (const std::string & name = "SPnDE") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 33 of file SPnDE.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPnDE.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/SPnDE.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.map b/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.map deleted file mode 100644 index b7ecb8a..0000000 --- a/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.md5 b/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.md5 deleted file mode 100644 index f1c4d74..0000000 --- a/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7823db61a54dfd03f5143e755580cf6b \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.png b/docs/manual/classbayesnet_1_1_s_pn_d_e__coll__graph.png deleted file mode 100644 index dd12c33e638b822edb013487aba053715a63f755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11430 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 - - - - - - diff --git a/docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.md5 deleted file mode 100644 index fa18236..0000000 --- a/docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e4818c342999832413f96ae3dcaa8265 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.png b/docs/manual/classbayesnet_1_1_s_pn_d_e__inherit__graph.png deleted file mode 100644 index 3c32bb165a9c1315a3447d0ab5f36690078322c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7614 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 diff --git a/docs/manual/classbayesnet_1_1_t_a_n-members.html b/docs/manual/classbayesnet_1_1_t_a_n-members.html deleted file mode 100644 index 62e924e..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n-members.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::TAN Member List
-
-
- -

This is the complete list of members for bayesnet::TAN, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::TAN)bayesnet::TANprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="TAN") const override (defined in bayesnet::TAN)bayesnet::TANvirtual
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
TAN() (defined in bayesnet::TAN)bayesnet::TAN
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~TAN()=default (defined in bayesnet::TAN)bayesnet::TANvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n.html b/docs/manual/classbayesnet_1_1_t_a_n.html deleted file mode 100644 index 3fc7816..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - - -BayesNet: bayesnet::TAN Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::TAN Class Reference
-
-
-
-Inheritance diagram for bayesnet::TAN:
-
-
Inheritance graph
- - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::TAN:
-
-
Collaboration graph
- - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

std::vector< std::string > graph (const std::string &name="TAN") const override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
torch::Tensor predict (torch::Tensor &X) override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- - - - - - - - - - -

-Protected Member Functions

void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
-

Detailed Description

-
-

Definition at line 11 of file TAN.h.

-

Constructor & Destructor Documentation

- -

◆ TAN()

- -
-
- - - - - - - -
bayesnet::TAN::TAN ()
-
- -

Definition at line 10 of file TAN.cc.

- -
-
-

Member Function Documentation

- -

◆ buildModel()

- -
-
- - - - - -
- - - - - - - -
void bayesnet::TAN::buildModel (const torch::Tensor & weights)
-
-overrideprotectedvirtual
-
- -

Implements bayesnet::Classifier.

- -

Definition at line 12 of file TAN.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::TAN::graph (const std::string & name = "TAN") const
-
-overridevirtual
-
- -

Implements bayesnet::BaseClassifier.

- -

Definition at line 41 of file TAN.cc.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TAN.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TAN.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.map b/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.map deleted file mode 100644 index 0684efa..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.md5 b/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.md5 deleted file mode 100644 index 4c81c1b..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c02f97b240585f440b3a51e1b4f83e2c \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.png b/docs/manual/classbayesnet_1_1_t_a_n__coll__graph.png deleted file mode 100644 index da93f4c674d6b1533f9b5db053b62e4f85826c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11120 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 - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.md5 deleted file mode 100644 index 05ec32e..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -056d4ba29c060a1c0448fe1ba10ac890 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.png b/docs/manual/classbayesnet_1_1_t_a_n__inherit__graph.png deleted file mode 100644 index bced2e0c1d9b95fa2d120fd5a83798bf65581f5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9898 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 BJI??B diff --git a/docs/manual/classbayesnet_1_1_t_a_n_ld-members.html b/docs/manual/classbayesnet_1_1_t_a_n_ld-members.html deleted file mode 100644 index 6b481dc..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n_ld-members.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -BayesNet: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet::TANLd Member List
-
-
- -

This is the complete list of members for bayesnet::TANLd, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addNodes() (defined in bayesnet::Classifier)bayesnet::Classifier
buildDataset(torch::Tensor &y) (defined in bayesnet::Classifier)bayesnet::Classifierprotected
buildModel(const torch::Tensor &weights) override (defined in bayesnet::TAN)bayesnet::TANprotectedvirtual
checkFitParameters() (defined in bayesnet::Classifier)bayesnet::Classifierprotected
checkInput(const torch::Tensor &X, const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Classifier(Network model) (defined in bayesnet::Classifier)bayesnet::Classifier
className (defined in bayesnet::Classifier)bayesnet::Classifierprotected
dataset (defined in bayesnet::Classifier)bayesnet::Classifierprotected
discretizers (defined in bayesnet::Proposal)bayesnet::Proposalprotected
dump_cpt() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
features (defined in bayesnet::Classifier)bayesnet::Classifierprotected
fit(torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override (defined in bayesnet::TANLd)bayesnet::TANLd
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit(torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
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) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
fit_local_discretization(const torch::Tensor &y) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
fitted (defined in bayesnet::Classifier)bayesnet::Classifierprotected
getClassNumStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNotes() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getNumberOfEdges() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfNodes() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getNumberOfStates() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
getStatus() const override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
getValidHyperparameters() (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierinline
getVersion() override (defined in bayesnet::Classifier)bayesnet::Classifierinlinevirtual
graph(const std::string &name="TAN") const override (defined in bayesnet::TANLd)bayesnet::TANLdvirtual
localDiscretizationProposal(const map< std::string, std::vector< int > > &states, Network &model) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
m (defined in bayesnet::Classifier)bayesnet::Classifierprotected
metrics (defined in bayesnet::Classifier)bayesnet::Classifierprotected
model (defined in bayesnet::Classifier)bayesnet::Classifierprotected
n (defined in bayesnet::Classifier)bayesnet::Classifierprotected
notes (defined in bayesnet::Classifier)bayesnet::Classifierprotected
predict(torch::Tensor &X) override (defined in bayesnet::TANLd)bayesnet::TANLdvirtual
predict(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(torch::Tensor &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
predict_proba(std::vector< std::vector< int > > &X) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
prepareX(torch::Tensor &X) (defined in bayesnet::Proposal)bayesnet::Proposalprotected
Proposal(torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_) (defined in bayesnet::Proposal)bayesnet::Proposal
score(torch::Tensor &X, torch::Tensor &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
score(std::vector< std::vector< int > > &X, std::vector< int > &y) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
setHyperparameters(const nlohmann::json &hyperparameters) override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
show() const override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
states (defined in bayesnet::Classifier)bayesnet::Classifierprotected
status (defined in bayesnet::Classifier)bayesnet::Classifierprotected
TAN() (defined in bayesnet::TAN)bayesnet::TAN
TANLd() (defined in bayesnet::TANLd)bayesnet::TANLd
topological_order() override (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
trainModel(const torch::Tensor &weights) override (defined in bayesnet::Classifier)bayesnet::Classifierprotectedvirtual
validHyperparameters (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifierprotected
version() (defined in bayesnet::TANLd)bayesnet::TANLdinlinestatic
Xf (defined in bayesnet::Proposal)bayesnet::Proposalprotected
y (defined in bayesnet::Proposal)bayesnet::Proposalprotected
~BaseClassifier()=default (defined in bayesnet::BaseClassifier)bayesnet::BaseClassifiervirtual
~Classifier()=default (defined in bayesnet::Classifier)bayesnet::Classifiervirtual
~Proposal() (defined in bayesnet::Proposal)bayesnet::Proposalvirtual
~TAN()=default (defined in bayesnet::TAN)bayesnet::TANvirtual
~TANLd()=default (defined in bayesnet::TANLd)bayesnet::TANLdvirtual
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n_ld.html b/docs/manual/classbayesnet_1_1_t_a_n_ld.html deleted file mode 100644 index 2cbe980..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n_ld.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - -BayesNet: bayesnet::TANLd Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
- -
bayesnet::TANLd Class Reference
-
-
-
-Inheritance diagram for bayesnet::TANLd:
-
-
Inheritance graph
- - - - - - - - - - - -
[legend]
-
-Collaboration diagram for bayesnet::TANLd:
-
-
Collaboration graph
- - - - - - - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

TANLdfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, map< std::string, std::vector< int > > &states) override
 
std::vector< std::string > graph (const std::string &name="TAN") const override
 
torch::Tensor predict (torch::Tensor &X) override
 
- Public Member Functions inherited from bayesnet::Classifier
 Classifier (Network model)
 
Classifierfit (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) override
 
Classifierfit (torch::Tensor &X, torch::Tensor &y, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (torch::Tensor &dataset, const std::vector< std::string > &features, const std::string &className, std::map< std::string, std::vector< int > > &states) override
 
Classifierfit (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) override
 
void addNodes ()
 
int getNumberOfNodes () const override
 
int getNumberOfEdges () const override
 
int getNumberOfStates () const override
 
int getClassNumStates () const override
 
std::vector< int > predict (std::vector< std::vector< int > > &X) override
 
torch::Tensor predict_proba (torch::Tensor &X) override
 
std::vector< std::vector< double > > predict_proba (std::vector< std::vector< int > > &X) override
 
status_t getStatus () const override
 
std::string getVersion () override
 
float score (torch::Tensor &X, torch::Tensor &y) override
 
float score (std::vector< std::vector< int > > &X, std::vector< int > &y) override
 
std::vector< std::string > show () const override
 
std::vector< std::string > topological_order () override
 
std::vector< std::string > getNotes () const override
 
std::string dump_cpt () const override
 
void setHyperparameters (const nlohmann::json &hyperparameters) override
 
- Public Member Functions inherited from bayesnet::BaseClassifier
std::vector< std::string > & getValidHyperparameters ()
 
- Public Member Functions inherited from bayesnet::Proposal
 Proposal (torch::Tensor &pDataset, std::vector< std::string > &features_, std::string &className_)
 
- - - -

-Static Public Member Functions

static std::string version ()
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from bayesnet::TAN
void buildModel (const torch::Tensor &weights) override
 
- Protected Member Functions inherited from bayesnet::Classifier
void checkFitParameters ()
 
void trainModel (const torch::Tensor &weights) override
 
void buildDataset (torch::Tensor &y)
 
- Protected Member Functions inherited from bayesnet::Proposal
void checkInput (const torch::Tensor &X, const torch::Tensor &y)
 
torch::Tensor prepareX (torch::Tensor &X)
 
map< std::string, std::vector< int > > localDiscretizationProposal (const map< std::string, std::vector< int > > &states, Network &model)
 
map< std::string, std::vector< int > > fit_local_discretization (const torch::Tensor &y)
 
- Protected Attributes inherited from bayesnet::Classifier
bool fitted
 
unsigned int m
 
unsigned int n
 
Network model
 
Metrics metrics
 
std::vector< std::string > features
 
std::string className
 
std::map< std::string, std::vector< int > > states
 
torch::Tensor dataset
 
status_t status = NORMAL
 
std::vector< std::string > notes
 
- Protected Attributes inherited from bayesnet::BaseClassifier
std::vector< std::string > validHyperparameters
 
- Protected Attributes inherited from bayesnet::Proposal
torch::Tensor Xf
 
torch::Tensor y
 
map< std::string, mdlp::CPPFImdlp * > discretizers
 
-

Detailed Description

-
-

Definition at line 13 of file TANLd.h.

-

Constructor & Destructor Documentation

- -

◆ TANLd()

- -
-
- - - - - - - -
bayesnet::TANLd::TANLd ()
-
- -

Definition at line 10 of file TANLd.cc.

- -
-
-

Member Function Documentation

- -

◆ fit()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
TANLd & bayesnet::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 )
-
-override
-
- -

Definition at line 11 of file TANLd.cc.

- -
-
- -

◆ graph()

- -
-
- - - - - -
- - - - - - - -
std::vector< std::string > bayesnet::TANLd::graph (const std::string & name = "TAN") const
-
-overridevirtual
-
- -

Reimplemented from bayesnet::TAN.

- -

Definition at line 32 of file TANLd.cc.

- -
-
- -

◆ predict()

- -
-
- - - - - -
- - - - - - - -
torch::Tensor bayesnet::TANLd::predict (torch::Tensor & X)
-
-overridevirtual
-
- -

Reimplemented from bayesnet::Classifier.

- -

Definition at line 27 of file TANLd.cc.

- -
-
- -

◆ version()

- -
-
- - - - - -
- - - - - - - -
static std::string bayesnet::TANLd::version ()
-
-inlinestatic
-
- -

Definition at line 21 of file TANLd.h.

- -
-
-
The documentation for this class was generated from the following files:
    -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TANLd.h
  • -
  • /Users/rmontanana/Code/BayesNet/bayesnet/classifiers/TANLd.cc
  • -
-
-
- - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.map b/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.map deleted file mode 100644 index 4d2ffb3..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.md5 b/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.md5 deleted file mode 100644 index 3e810b3..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -52efa3ac9345f1a4c851d818a575585f \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.png b/docs/manual/classbayesnet_1_1_t_a_n_ld__coll__graph.png deleted file mode 100644 index 86f237556c2b514fa9a367d17c2c863273fe08b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16530 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 - - - - - - - - - - diff --git a/docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.md5 b/docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.md5 deleted file mode 100644 index f98e719..0000000 --- a/docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -acb57f33de9f26c8371c599af6ced955 \ No newline at end of file diff --git a/docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.png b/docs/manual/classbayesnet_1_1_t_a_n_ld__inherit__graph.png deleted file mode 100644 index 6a30308f5f8b30c89f6d7ceb265e6298ebff5637..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12664 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 - - - - - - -BayesNet: Class Index - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Class Index
-
-
-
A | B | C | E | K | N | P | S | T
-
-
-
A
-
A2DE (bayesnet)
AODE (bayesnet)
AODELd (bayesnet)
-
-
B
-
BaseClassifier (bayesnet)
Boost (bayesnet)
BoostA2DE (bayesnet)
BoostAODE (bayesnet)
-
-
C
-
Classifier (bayesnet)
-
-
E
-
Ensemble (bayesnet)
-
-
K
-
KDB (bayesnet)
KDBLd (bayesnet)
-
-
N
-
Network (bayesnet)
Node (bayesnet)
-
-
P
-
Proposal (bayesnet)
-
-
S
-
SPnDE (bayesnet)
SPODE (bayesnet)
SPODELd (bayesnet)
-
-
T
-
TAN (bayesnet)
TANLd (bayesnet)
-
-
-
- - - - diff --git a/docs/manual/clipboard.js b/docs/manual/clipboard.js deleted file mode 100644 index 42c1fb0..0000000 --- a/docs/manual/clipboard.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - -The code below is based on the Doxygen Awesome project, see -https://github.com/jothepro/doxygen-awesome-css - -MIT License - -Copyright (c) 2021 - 2022 jothepro - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -*/ - -let clipboard_title = "Copy to clipboard" -let clipboard_icon = `` -let clipboard_successIcon = `` -let clipboard_successDuration = 1000 - -$(function() { - if(navigator.clipboard) { - const fragments = document.getElementsByClassName("fragment") - for(const fragment of fragments) { - const clipboard_div = document.createElement("div") - clipboard_div.classList.add("clipboard") - clipboard_div.innerHTML = clipboard_icon - clipboard_div.title = clipboard_title - $(clipboard_div).click(function() { - const content = this.parentNode.cloneNode(true) - // filter out line number and folded fragments from file listings - content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) - let text = content.textContent - // remove trailing newlines and trailing spaces from empty lines - text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') - navigator.clipboard.writeText(text); - this.classList.add("success") - this.innerHTML = clipboard_successIcon - window.setTimeout(() => { // switch back to normal icon after timeout - this.classList.remove("success") - this.innerHTML = clipboard_icon - }, clipboard_successDuration); - }) - fragment.insertBefore(clipboard_div, fragment.firstChild) - } - } -}) diff --git a/docs/manual/closed.png b/docs/manual/closed.png deleted file mode 100644 index 98cc2c909da37a6df914fbf67780eebd99c597f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT diff --git a/docs/manual/cookie.js b/docs/manual/cookie.js deleted file mode 100644 index 53ad21d..0000000 --- a/docs/manual/cookie.js +++ /dev/null @@ -1,58 +0,0 @@ -/*! - Cookie helper functions - Copyright (c) 2023 Dimitri van Heesch - Released under MIT license. -*/ -let Cookie = { - cookie_namespace: 'doxygen_', - - readSetting(cookie,defVal) { - if (window.chrome) { - const val = localStorage.getItem(this.cookie_namespace+cookie) || - sessionStorage.getItem(this.cookie_namespace+cookie); - if (val) return val; - } else { - let myCookie = this.cookie_namespace+cookie+"="; - if (document.cookie) { - const index = document.cookie.indexOf(myCookie); - if (index != -1) { - const valStart = index + myCookie.length; - let valEnd = document.cookie.indexOf(";", valStart); - if (valEnd == -1) { - valEnd = document.cookie.length; - } - return document.cookie.substring(valStart, valEnd); - } - } - } - return defVal; - }, - - writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete - if (window.chrome) { - if (days==0) { - sessionStorage.setItem(this.cookie_namespace+cookie,val); - } else { - localStorage.setItem(this.cookie_namespace+cookie,val); - } - } else { - let date = new Date(); - date.setTime(date.getTime()+(days*24*60*60*1000)); - const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; - document.cookie = this.cookie_namespace + cookie + "=" + - val + "; SameSite=Lax;" + expiration + "path=/"; - } - }, - - eraseSetting(cookie) { - if (window.chrome) { - if (localStorage.getItem(this.cookie_namespace+cookie)) { - localStorage.removeItem(this.cookie_namespace+cookie); - } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { - sessionStorage.removeItem(this.cookie_namespace+cookie); - } - } else { - this.writeSetting(cookie,'',-1); - } - }, -} diff --git a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.html b/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.html deleted file mode 100644 index 9824342..0000000 --- a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/ensembles Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
ensembles Directory Reference
-
-
-
-Directory dependency graph for ensembles:
-
-
/Users/rmontanana/Code/BayesNet/bayesnet/ensembles
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

 A2DE.cc
 
 A2DE.h
 
 AODE.cc
 
 AODE.h
 
 AODELd.cc
 
 AODELd.h
 
 Boost.cc
 
 Boost.h
 
 BoostA2DE.cc
 
 BoostA2DE.h
 
 BoostAODE.cc
 
 BoostAODE.h
 
 Ensemble.cc
 
 Ensemble.h
 
-
-
- - - - diff --git a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.js b/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.js deleted file mode 100644 index d44bdc7..0000000 --- a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741.js +++ /dev/null @@ -1,17 +0,0 @@ -var dir_2f68445c4ac4316280c650d0a13b2741 = -[ - [ "A2DE.cc", "_a2_d_e_8cc_source.html", null ], - [ "A2DE.h", "_a2_d_e_8h_source.html", null ], - [ "AODE.cc", "_a_o_d_e_8cc_source.html", null ], - [ "AODE.h", "_a_o_d_e_8h_source.html", null ], - [ "AODELd.cc", "_a_o_d_e_ld_8cc_source.html", null ], - [ "AODELd.h", "_a_o_d_e_ld_8h_source.html", null ], - [ "Boost.cc", "_boost_8cc_source.html", null ], - [ "Boost.h", "_boost_8h_source.html", null ], - [ "BoostA2DE.cc", "_boost_a2_d_e_8cc_source.html", null ], - [ "BoostA2DE.h", "_boost_a2_d_e_8h_source.html", null ], - [ "BoostAODE.cc", "_boost_a_o_d_e_8cc_source.html", null ], - [ "BoostAODE.h", "_boost_a_o_d_e_8h_source.html", null ], - [ "Ensemble.cc", "_ensemble_8cc_source.html", null ], - [ "Ensemble.h", "_ensemble_8h_source.html", null ] -]; \ No newline at end of file diff --git a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.map b/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.map deleted file mode 100644 index b78928c..0000000 --- a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.md5 b/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.md5 deleted file mode 100644 index 8dd543c..0000000 --- a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -6cc09d9126554d4a21b3538ccfb3d762 \ No newline at end of file diff --git a/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.png b/docs/manual/dir_2f68445c4ac4316280c650d0a13b2741_dep.png deleted file mode 100644 index 8f3e6435e76d2f3f4ddf870498f4cf5159cf56c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2616 zcmY*bcRU+f6i#_XDXra-J}n+?#j3`rP_4aHjM_6|6sZx^h&^i4#ty1R%#s=*ln$y$ zs`jYeAgXGFTFpy;@2~f}zkAL<_nz;&=iYPAmtuYNOXn#gYXJs}3aBfpq4^H?x|O9-YSHoTu3@5Fv5wE7w@xNi~YaR$QcQM{ajmHQ(}s7 zN_h*lClQHr;>+H0bB;2#v&~+XnEMb-i+_@hDwD&$jVbIztKTVN0(_2rll7Z zM&cW9b@}(LZVqXd4U58HFz;K+-3(sYu-)9M$Iu9ct+QTlSp;G5^5ws*i#nho)d#uz*CU zk2)AUW@c%b7gpQU#1+%?`A4p~x%nFPNd91h`h-}h>W#G3*Jm>~ub6PYNyhs>zb!A{ z5*nV?jm;`A$LCGqFv6}nfO}`UAP5Jp=4O7tuT`S-rSK7iRyt5`E#nNxTJb_;f>0sR zw>ZxuWq5XWFz{N`%Svy?1-0K1y;^fR4?n6gUD$K^Frc5>zu#wRDdYU`dYKl72;_ER z`0+jif9rbyt?Om2zF2U^-5BO0Sy?v*I^(CZzLyp9ad0AHeosU7bVa?O)2HYIofG{K zsao$!Mf&<@8?$4WcS5|z^Z;mSo57Q_(x$o6sl^-ED(>U|-|XE#%f=zGQ*?PEY(@sBKs@xWA@<>KLpk{wesRfBw~8 z`2cOa4N)3TAgBN#eksyOGUDXDEbbjI5v3 zB`uouGyMEM8?yJ~Yr$})OX3?itMZ!@<|myP>J7ofWaE+-gu>;%r)$H@{5*Vo7rFiU zhlV6qz7v_QN(M?~J1?&-l6&_D&*uvWhIo?YE}dt3a`0nF1zM4niD6}83=9kmd$kyT zQ{rZ@+didq-v(f78KtTZkX_A}r)5EV7Gw!fb45$Z>0sr;m@D;m!;Icqbq-WzTGh zo9l+8WNA*NcnmW$V@6(PZ_qriAS&vCOW#OYf}pfizVXtihkG;s1?3~lR=?jTA@aV{ zi9L=bwYAT%N!e3JQ*QfPwD`*-T#7+IfcEzGv&hi%Ox#=O2)!F(ku}K@U@+KjdnZ82 ztHFv~Q64dVgY7{XigxCE|5rnI1YlSp-D$?nmfWt)M4A;gO+Kvq>wUgYda0dg8WeE64KF=nW) z^=nip2@@Ol*R5+$KP+dbB!I042Zq3TZy0)<#Q#{|? zd(6(n*!Pt6u(32MF|oAQTa(>ic5!Lm0Rn*_9yfk9SA+B1RT={i{L|GHA+{wXbG2lQ zbb54XYHqIS)bn7xK0N1}G_7Z)O@GThLa%ICMpW^oy4P)fZW%Eg?s0o7anszw;_b=m z>d#3RV=ivF;kkiEK`i{iHAvWXW!(N`=w+lh74)`3)GF4~2uc$EPNEo#S`;?;qEsSZ zF%F?sF+NG-8X4X?Rbu_ZX4$UmV(l=Mk zHwm$N(VHgjF&*B5*@wgTYsIfiNH(q)HnE=@dx_DkBHuo>iaqU@7o~If1N%DL)VG5| zxyeUFr3s;GTequ0*-!YCO(@=$HZ}v(VBe9?3&Gyq?V2jdcza*RuHu4nRfL{wK|z5{ z(PaSvfhxHXDRpdXQT`#QZe&>TQB&^5fE%{B0I!NbJ0BeeHyza}u&|wTHCbo|*)%22 zOQVuX01gbt$3IU9O1+ADotvY;nDW3oHxp{%4=4jnq?cvu(!@fbguF6I8&aoI&6HJ&e= z&9S}JPBR2gaWS#36!HHk#i|!RC1rO#pR!sp%3R+mi=uqe8YI&JRhY^HttlXwF-M47 z<7mzhke>{6*-VB%~TdVIYKC~u{Pmo893A9V+cRw(_Umq*Hv2;3K@(tA4=&RMOr za<(2}@Tb!kI4q!_qhAFXr`1)SPGK9MG}()7wxq10BD?WnC2tHU^k7A&X|jix3cBLc zCpD8{G9(5^tJ>QSh8uOcwMqmB2Twkds>%9hs-ln3sao2d{Tj*zMiRi#bIc1F^rDgN z2mcWsn)K56VyFm1@i__YgscBoOBTNBA))@di5^v3sGHB@4`14;P5y!uaV#T*Gu Y7ybUL1C$4$OF@9HrjbVdeaGm30r?d&T>t<8 diff --git a/docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.html b/docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.html deleted file mode 100644 index be6d54d..0000000 --- a/docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
bayesnet Directory Reference
-
-
- - - - - - - - -

-Directories

 classifiers
 
 ensembles
 
 network
 
- - - -

-Files

 BaseClassifier.h
 
-
-
- - - - diff --git a/docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.js b/docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.js deleted file mode 100644 index 4a6e185..0000000 --- a/docs/manual/dir_40070fdff85d618b4d1d3ab4ac4f79bb.js +++ /dev/null @@ -1,7 +0,0 @@ -var dir_40070fdff85d618b4d1d3ab4ac4f79bb = -[ - [ "classifiers", "dir_520a649ed2b1c3b658a695aeefe46a5a.html", "dir_520a649ed2b1c3b658a695aeefe46a5a" ], - [ "ensembles", "dir_2f68445c4ac4316280c650d0a13b2741.html", "dir_2f68445c4ac4316280c650d0a13b2741" ], - [ "network", "dir_efcd97b18bba957e8e278307db4f845a.html", "dir_efcd97b18bba957e8e278307db4f845a" ], - [ "BaseClassifier.h", "_base_classifier_8h_source.html", null ] -]; \ No newline at end of file diff --git a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.html b/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.html deleted file mode 100644 index 65dc0cf..0000000 --- a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/classifiers Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
classifiers Directory Reference
-
-
-
-Directory dependency graph for classifiers:
-
-
/Users/rmontanana/Code/BayesNet/bayesnet/classifiers
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

 Classifier.cc
 
 Classifier.h
 
 KDB.cc
 
 KDB.h
 
 KDBLd.cc
 
 KDBLd.h
 
 Proposal.cc
 
 Proposal.h
 
 SPnDE.cc
 
 SPnDE.h
 
 SPODE.cc
 
 SPODE.h
 
 SPODELd.cc
 
 SPODELd.h
 
 TAN.cc
 
 TAN.h
 
 TANLd.cc
 
 TANLd.h
 
-
-
- - - - diff --git a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.js b/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.js deleted file mode 100644 index 9cdb471..0000000 --- a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a.js +++ /dev/null @@ -1,21 +0,0 @@ -var dir_520a649ed2b1c3b658a695aeefe46a5a = -[ - [ "Classifier.cc", "_classifier_8cc_source.html", null ], - [ "Classifier.h", "_classifier_8h_source.html", null ], - [ "KDB.cc", "_k_d_b_8cc_source.html", null ], - [ "KDB.h", "_k_d_b_8h_source.html", null ], - [ "KDBLd.cc", "_k_d_b_ld_8cc_source.html", null ], - [ "KDBLd.h", "_k_d_b_ld_8h_source.html", null ], - [ "Proposal.cc", "_proposal_8cc_source.html", null ], - [ "Proposal.h", "_proposal_8h_source.html", null ], - [ "SPnDE.cc", "_s_pn_d_e_8cc_source.html", null ], - [ "SPnDE.h", "_s_pn_d_e_8h_source.html", null ], - [ "SPODE.cc", "_s_p_o_d_e_8cc_source.html", null ], - [ "SPODE.h", "_s_p_o_d_e_8h_source.html", null ], - [ "SPODELd.cc", "_s_p_o_d_e_ld_8cc_source.html", null ], - [ "SPODELd.h", "_s_p_o_d_e_ld_8h_source.html", null ], - [ "TAN.cc", "_t_a_n_8cc_source.html", null ], - [ "TAN.h", "_t_a_n_8h_source.html", null ], - [ "TANLd.cc", "_t_a_n_ld_8cc_source.html", null ], - [ "TANLd.h", "_t_a_n_ld_8h_source.html", null ] -]; \ No newline at end of file diff --git a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.map b/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.map deleted file mode 100644 index 1ebf8c8..0000000 --- a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.md5 b/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.md5 deleted file mode 100644 index 0c97c91..0000000 --- a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -ddf4d873601a2bc95e40d58d84328f38 \ No newline at end of file diff --git a/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.png b/docs/manual/dir_520a649ed2b1c3b658a695aeefe46a5a_dep.png deleted file mode 100644 index b3bde0e7451b3386b5f9c0787686183853dbd0ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2868 zcmV-43(NG0P) zEydKJMd^rXm5$n#X{oAODvN|Enh;A{Gp%imBnS~(Bq6wwP44{RlS_J%o8{)-+?zh% zzjDtx@AJO7c|PYo=jJ`n1tEkGLI@#*5JCtcgb+dqA%qa(cTHu;-~j;vGc_7b4;_ar zkB^W4QQ8}(eO2j|6n*;i@mu=QrzhRqJxbjl9krLlix`qZ~@Z|6)KX9vcO z8G%~;2!J0BAEbNN4s`G0gGakoygzR?029ZL;+<)ewJ{0{3u*7(n&_wq0M4E{O;5kh zc)Gjb>f%WFl1192TJ}*moqRp$*2Nbuk2d`H;|bvDROal|oJ||o;nvm(R~JVH1@`6P z!v{KJ{-IZQ?xv?RW>hHOZ2!t=?^{)wMN(vCWua23IDg?XG5Zg5?(7*pTe$*&4;L?B z&fNJVT~6c3v7h;B>zAB8bDE&w5cWk!P*6|+K*G^@9_Kvf<(C6ds~<6PL@^2f@QaIDF`Pii(Q( zeA55@ep ziaUmvmk$7)J3hNb4jb_*uT2=u;2}X+T3XSw*NXtyHfx4WX4WMpKp<%>u#olZRs(SU{8{!zM-n_dlO4Ve$0W4S1;^_wV0l*UlYiG#b*&8`lvX z9Z6*L0Y$u=95qRai8Qyf!_l#YcDqKS;ZkxExp{ebd;4gogNi6CCOrN8qG7{^)U9i{ zS^LEC1ePxgCq6#D%70t4xTYxP;NV#5_ExQ&OT4zXcOW}Eo20~xY}l}t510JC)ON*p z5Wl5Tsc7fsUZpXX6%)`Vt*JAcThhu(OG{I zj@R@s%u=mAQ;4dQq!0=wzn(%EpUJPM5XPtXV}qIZA6I@6gD^087)VqzNeZDLNg)&@ zDTIO~g-|ey^%TOm%wj!-FfN%sYMJV&Phph*l1`uc25Hw*jnP%Dw{q16oLaUrXdiN> z5DG?JPhn+cO{W(+mw%urAvN`yQO~qSO^T+rw#<50o*=KRZ+C2Crx72rmgz$%$a)H) zAnPfFLakl6`+Mczvp4=dW5b%-SXViQTvG@IvrCEx53-pz=UsAh9~&foW@aYy=DbT@ zULNrDb})R&A|fNc%*d=JYRUG*2HYo<8+0 ze*NV?v~_hQGc$waq(p=CYf4NyDT<1UxOwwNg^n$&=9RA6Ri*87aBw8%z+vqJ#W!!> zVASYwczgRYAaEedKV7AWQ&!z9fV|vX@^W*_9g8V3*`$b#iN>w16MkJg;^XPcn$;^y zJ+7>pS5S8CDqZ`oUAu})D|^)HM+_d=pOh8f3&YhO`Ok+uR~bnHP~+O%c;#?4HAdm8x#`Pu?(x@uf$G#c{q^4Rv(mu%d$1t+JL zI_qee8k1a45wUjqH68;eKc*-l$0x% zOKjWx`Fh1gXK~G|?ceU<*RvPdwtXiJts4SpYgZlm;TRW_Qwbgx!ps>{$jyDMb6-V0 zU*qcBg-e{faEZ7hCt0>!dF@jj{TY)bfv2^s)~sGh^X7IXj?-21 zN>}Zws@Ao7UU@aHo>v|H8IwtV%MrZfR+FFq||*CRb1n0#`L%O+u{YJ zr{5tYbR?6fOeZrlqr|b*(VsDyWKsZ3dSfzU$4?|ZJ-tNvA_oUYGVeb-?MB6Xuc&!7 z`}TX-+1V4b|8S|btLoILQ|3Mwmo_Eh|8(k%_UAEUCopF01nujP&=CwA^opX!)o;hB zt3Oj@vPl78X=$aXXH}ZgYF-s9t9F$>b*-MKtHzZf`ZESuPaza!J%vy(>FGmMo~)-3 z24U1Q#p9eDP8?4#W|y^su^*%|YEoooX0Uu&xG}pFRUp%cP%z4w;{v@4YZZ zO>J!r-iKaEQM{hQ&D}%iaUD9A|KW}>9VWS+Lewm|rl@6V?RpAPvm_~mf+U4dkfaa_ zk`zKgug@t|D%Hv6&F$Sll~lZKcu-)7t~Prj4(!&oU)t-}e)+O+o$V_^ucU~Ji(3&F z7q?=@J5#jV0s;cUbhT+}W2y6YN!lB>y%0hOA%qY@2qA - - - - - - -BayesNet: /Users/rmontanana/Code/BayesNet/bayesnet/network Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
network Directory Reference
-
-
-
-Directory dependency graph for network:
-
-
/Users/rmontanana/Code/BayesNet/bayesnet/network
- - - - -
- - - - - - - - - - -

-Files

 Network.cc
 
 Network.h
 
 Node.cc
 
 Node.h
 
-
-
- - - - diff --git a/docs/manual/dir_efcd97b18bba957e8e278307db4f845a.js b/docs/manual/dir_efcd97b18bba957e8e278307db4f845a.js deleted file mode 100644 index 6c973b6..0000000 --- a/docs/manual/dir_efcd97b18bba957e8e278307db4f845a.js +++ /dev/null @@ -1,7 +0,0 @@ -var dir_efcd97b18bba957e8e278307db4f845a = -[ - [ "Network.cc", "_network_8cc_source.html", null ], - [ "Network.h", "_network_8h_source.html", null ], - [ "Node.cc", "_node_8cc_source.html", null ], - [ "Node.h", "_node_8h_source.html", null ] -]; \ No newline at end of file diff --git a/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.map b/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.map deleted file mode 100644 index 203b233..0000000 --- a/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.md5 b/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.md5 deleted file mode 100644 index 25c4a94..0000000 --- a/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -12407aa49bded8b8b8761369fc40201b \ No newline at end of file diff --git a/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.png b/docs/manual/dir_efcd97b18bba957e8e278307db4f845a_dep.png deleted file mode 100644 index c421b297314d8f32d80f2f9a4c3cb23471361fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2778 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 Cp^;Gl diff --git a/docs/manual/doc.svg b/docs/manual/doc.svg deleted file mode 100644 index 0b928a5..0000000 --- a/docs/manual/doc.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/docd.svg b/docs/manual/docd.svg deleted file mode 100644 index ac18b27..0000000 --- a/docs/manual/docd.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/doxygen.css b/docs/manual/doxygen.css deleted file mode 100644 index 209912c..0000000 --- a/docs/manual/doxygen.css +++ /dev/null @@ -1,2244 +0,0 @@ -/* The standard CSS for doxygen 1.11.0*/ - -html { -/* page base colors */ ---page-background-color: white; ---page-foreground-color: black; ---page-link-color: #3D578C; ---page-visited-link-color: #4665A2; - -/* index */ ---index-odd-item-bg-color: #F8F9FC; ---index-even-item-bg-color: white; ---index-header-color: black; ---index-separator-color: #A0A0A0; - -/* header */ ---header-background-color: #F9FAFC; ---header-separator-color: #C4CFE5; ---header-gradient-image: url('nav_h.png'); ---group-header-separator-color: #879ECB; ---group-header-color: #354C7B; ---inherit-header-color: gray; - ---footer-foreground-color: #2A3D61; ---footer-logo-width: 104px; ---citation-label-color: #334975; ---glow-color: cyan; - ---title-background-color: white; ---title-separator-color: #5373B4; ---directory-separator-color: #9CAFD4; ---separator-color: #4A6AAA; - ---blockquote-background-color: #F7F8FB; ---blockquote-border-color: #9CAFD4; - ---scrollbar-thumb-color: #9CAFD4; ---scrollbar-background-color: #F9FAFC; - ---icon-background-color: #728DC1; ---icon-foreground-color: white; ---icon-doc-image: url('doc.svg'); ---icon-folder-open-image: url('folderopen.svg'); ---icon-folder-closed-image: url('folderclosed.svg'); - -/* brief member declaration list */ ---memdecl-background-color: #F9FAFC; ---memdecl-separator-color: #DEE4F0; ---memdecl-foreground-color: #555; ---memdecl-template-color: #4665A2; - -/* detailed member list */ ---memdef-border-color: #A8B8D9; ---memdef-title-background-color: #E2E8F2; ---memdef-title-gradient-image: url('nav_f.png'); ---memdef-proto-background-color: #DFE5F1; ---memdef-proto-text-color: #253555; ---memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---memdef-doc-background-color: white; ---memdef-param-name-color: #602020; ---memdef-template-color: #4665A2; - -/* tables */ ---table-cell-border-color: #2D4068; ---table-header-background-color: #374F7F; ---table-header-foreground-color: #FFFFFF; - -/* labels */ ---label-background-color: #728DC1; ---label-left-top-border-color: #5373B4; ---label-right-bottom-border-color: #C4CFE5; ---label-foreground-color: white; - -/** navigation bar/tree/menu */ ---nav-background-color: #F9FAFC; ---nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_b.png'); ---nav-gradient-hover-image: url('tab_h.png'); ---nav-gradient-active-image: url('tab_a.png'); ---nav-gradient-active-image-parent: url("../tab_a.png"); ---nav-separator-image: url('tab_s.png'); ---nav-breadcrumb-image: url('bc_s.png'); ---nav-breadcrumb-border-color: #C2CDE4; ---nav-splitbar-image: url('splitbar.png'); ---nav-font-size-level1: 13px; ---nav-font-size-level2: 10px; ---nav-font-size-level3: 9px; ---nav-text-normal-color: #283A5D; ---nav-text-hover-color: white; ---nav-text-active-color: white; ---nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-menu-button-color: #364D7C; ---nav-menu-background-color: white; ---nav-menu-foreground-color: #555555; ---nav-menu-toggle-color: rgba(255, 255, 255, 0.5); ---nav-arrow-color: #9CAFD4; ---nav-arrow-selected-color: #9CAFD4; - -/* table of contents */ ---toc-background-color: #F4F6FA; ---toc-border-color: #D8DFEE; ---toc-header-color: #4665A2; ---toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); - -/** search field */ ---search-background-color: white; ---search-foreground-color: #909090; ---search-magnification-image: url('mag.svg'); ---search-magnification-select-image: url('mag_sel.svg'); ---search-active-color: black; ---search-filter-background-color: #F9FAFC; ---search-filter-foreground-color: black; ---search-filter-border-color: #90A5CE; ---search-filter-highlight-text-color: white; ---search-filter-highlight-bg-color: #3D578C; ---search-results-foreground-color: #425E97; ---search-results-background-color: #EEF1F7; ---search-results-border-color: black; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #555; - -/** code fragments */ ---code-keyword-color: #008000; ---code-type-keyword-color: #604020; ---code-flow-keyword-color: #E08000; ---code-comment-color: #800000; ---code-preprocessor-color: #806020; ---code-string-literal-color: #002080; ---code-char-literal-color: #008080; ---code-xml-cdata-color: black; ---code-vhdl-digit-color: #FF00FF; ---code-vhdl-char-color: #000000; ---code-vhdl-keyword-color: #700070; ---code-vhdl-logic-color: #FF0000; ---code-link-color: #4665A2; ---code-external-link-color: #4665A2; ---fragment-foreground-color: black; ---fragment-background-color: #FBFCFD; ---fragment-border-color: #C4CFE5; ---fragment-lineno-border-color: #00FF00; ---fragment-lineno-background-color: #E8E8E8; ---fragment-lineno-foreground-color: black; ---fragment-lineno-link-fg-color: #4665A2; ---fragment-lineno-link-bg-color: #D8D8D8; ---fragment-lineno-link-hover-fg-color: #4665A2; ---fragment-lineno-link-hover-bg-color: #C8C8C8; ---fragment-copy-ok-color: #2EC82E; ---tooltip-foreground-color: black; ---tooltip-background-color: white; ---tooltip-border-color: gray; ---tooltip-doc-color: grey; ---tooltip-declaration-color: #006318; ---tooltip-link-color: #4665A2; ---tooltip-shadow: 1px 1px 7px gray; ---fold-line-color: #808080; ---fold-minus-image: url('minus.svg'); ---fold-plus-image: url('plus.svg'); ---fold-minus-image-relpath: url('../../minus.svg'); ---fold-plus-image-relpath: url('../../plus.svg'); - -/** font-family */ ---font-family-normal: Roboto,sans-serif; ---font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; ---font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; ---font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; ---font-family-search: Arial,Verdana,sans-serif; ---font-family-icon: Arial,Helvetica; ---font-family-tooltip: Roboto,sans-serif; - -/** special sections */ ---warning-color-bg: #f8d1cc; ---warning-color-hl: #b61825; ---warning-color-text: #75070f; ---note-color-bg: #faf3d8; ---note-color-hl: #f3a600; ---note-color-text: #5f4204; ---todo-color-bg: #e4f3ff; ---todo-color-hl: #1879C4; ---todo-color-text: #274a5c; ---test-color-bg: #e8e8ff; ---test-color-hl: #3939C4; ---test-color-text: #1a1a5c; ---deprecated-color-bg: #ecf0f3; ---deprecated-color-hl: #5b6269; ---deprecated-color-text: #43454a; ---bug-color-bg: #e4dafd; ---bug-color-hl: #5b2bdd; ---bug-color-text: #2a0d72; ---invariant-color-bg: #d8f1e3; ---invariant-color-hl: #44b86f; ---invariant-color-text: #265532; -} - -@media (prefers-color-scheme: dark) { - html:not(.dark-mode) { - color-scheme: dark; - -/* page base colors */ ---page-background-color: black; ---page-foreground-color: #C9D1D9; ---page-link-color: #90A5CE; ---page-visited-link-color: #A3B4D7; - -/* index */ ---index-odd-item-bg-color: #0B101A; ---index-even-item-bg-color: black; ---index-header-color: #C4CFE5; ---index-separator-color: #334975; - -/* header */ ---header-background-color: #070B11; ---header-separator-color: #141C2E; ---header-gradient-image: url('nav_hd.png'); ---group-header-separator-color: #283A5D; ---group-header-color: #90A5CE; ---inherit-header-color: #A0A0A0; - ---footer-foreground-color: #5B7AB7; ---footer-logo-width: 60px; ---citation-label-color: #90A5CE; ---glow-color: cyan; - ---title-background-color: #090D16; ---title-separator-color: #354C79; ---directory-separator-color: #283A5D; ---separator-color: #283A5D; - ---blockquote-background-color: #101826; ---blockquote-border-color: #283A5D; - ---scrollbar-thumb-color: #283A5D; ---scrollbar-background-color: #070B11; - ---icon-background-color: #334975; ---icon-foreground-color: #C4CFE5; ---icon-doc-image: url('docd.svg'); ---icon-folder-open-image: url('folderopend.svg'); ---icon-folder-closed-image: url('folderclosedd.svg'); - -/* brief member declaration list */ ---memdecl-background-color: #0B101A; ---memdecl-separator-color: #2C3F65; ---memdecl-foreground-color: #BBB; ---memdecl-template-color: #7C95C6; - -/* detailed member list */ ---memdef-border-color: #233250; ---memdef-title-background-color: #1B2840; ---memdef-title-gradient-image: url('nav_fd.png'); ---memdef-proto-background-color: #19243A; ---memdef-proto-text-color: #9DB0D4; ---memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); ---memdef-doc-background-color: black; ---memdef-param-name-color: #D28757; ---memdef-template-color: #7C95C6; - -/* tables */ ---table-cell-border-color: #283A5D; ---table-header-background-color: #283A5D; ---table-header-foreground-color: #C4CFE5; - -/* labels */ ---label-background-color: #354C7B; ---label-left-top-border-color: #4665A2; ---label-right-bottom-border-color: #283A5D; ---label-foreground-color: #CCCCCC; - -/** navigation bar/tree/menu */ ---nav-background-color: #101826; ---nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_bd.png'); ---nav-gradient-hover-image: url('tab_hd.png'); ---nav-gradient-active-image: url('tab_ad.png'); ---nav-gradient-active-image-parent: url("../tab_ad.png"); ---nav-separator-image: url('tab_sd.png'); ---nav-breadcrumb-image: url('bc_sd.png'); ---nav-breadcrumb-border-color: #2A3D61; ---nav-splitbar-image: url('splitbard.png'); ---nav-font-size-level1: 13px; ---nav-font-size-level2: 10px; ---nav-font-size-level3: 9px; ---nav-text-normal-color: #B6C4DF; ---nav-text-hover-color: #DCE2EF; ---nav-text-active-color: #DCE2EF; ---nav-text-normal-shadow: 0px 1px 1px black; ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-menu-button-color: #B6C4DF; ---nav-menu-background-color: #05070C; ---nav-menu-foreground-color: #BBBBBB; ---nav-menu-toggle-color: rgba(255, 255, 255, 0.2); ---nav-arrow-color: #334975; ---nav-arrow-selected-color: #90A5CE; - -/* table of contents */ ---toc-background-color: #151E30; ---toc-border-color: #202E4A; ---toc-header-color: #A3B4D7; ---toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); - -/** search field */ ---search-background-color: black; ---search-foreground-color: #C5C5C5; ---search-magnification-image: url('mag_d.svg'); ---search-magnification-select-image: url('mag_seld.svg'); ---search-active-color: #C5C5C5; ---search-filter-background-color: #101826; ---search-filter-foreground-color: #90A5CE; ---search-filter-border-color: #7C95C6; ---search-filter-highlight-text-color: #BCC9E2; ---search-filter-highlight-bg-color: #283A5D; ---search-results-background-color: #101826; ---search-results-foreground-color: #90A5CE; ---search-results-border-color: #7C95C6; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; - -/** code fragments */ ---code-keyword-color: #CC99CD; ---code-type-keyword-color: #AB99CD; ---code-flow-keyword-color: #E08000; ---code-comment-color: #717790; ---code-preprocessor-color: #65CABE; ---code-string-literal-color: #7EC699; ---code-char-literal-color: #00E0F0; ---code-xml-cdata-color: #C9D1D9; ---code-vhdl-digit-color: #FF00FF; ---code-vhdl-char-color: #C0C0C0; ---code-vhdl-keyword-color: #CF53C9; ---code-vhdl-logic-color: #FF0000; ---code-link-color: #79C0FF; ---code-external-link-color: #79C0FF; ---fragment-foreground-color: #C9D1D9; ---fragment-background-color: #090D16; ---fragment-border-color: #30363D; ---fragment-lineno-border-color: #30363D; ---fragment-lineno-background-color: black; ---fragment-lineno-foreground-color: #6E7681; ---fragment-lineno-link-fg-color: #6E7681; ---fragment-lineno-link-bg-color: #303030; ---fragment-lineno-link-hover-fg-color: #8E96A1; ---fragment-lineno-link-hover-bg-color: #505050; ---fragment-copy-ok-color: #0EA80E; ---tooltip-foreground-color: #C9D1D9; ---tooltip-background-color: #202020; ---tooltip-border-color: #C9D1D9; ---tooltip-doc-color: #D9E1E9; ---tooltip-declaration-color: #20C348; ---tooltip-link-color: #79C0FF; ---tooltip-shadow: none; ---fold-line-color: #808080; ---fold-minus-image: url('minusd.svg'); ---fold-plus-image: url('plusd.svg'); ---fold-minus-image-relpath: url('../../minusd.svg'); ---fold-plus-image-relpath: url('../../plusd.svg'); - -/** font-family */ ---font-family-normal: Roboto,sans-serif; ---font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; ---font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; ---font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; ---font-family-search: Arial,Verdana,sans-serif; ---font-family-icon: Arial,Helvetica; ---font-family-tooltip: Roboto,sans-serif; - -/** special sections */ ---warning-color-bg: #2e1917; ---warning-color-hl: #ad2617; ---warning-color-text: #f5b1aa; ---note-color-bg: #3b2e04; ---note-color-hl: #f1b602; ---note-color-text: #ceb670; ---todo-color-bg: #163750; ---todo-color-hl: #1982D2; ---todo-color-text: #dcf0fa; ---test-color-bg: #121258; ---test-color-hl: #4242cf; ---test-color-text: #c0c0da; ---deprecated-color-bg: #2e323b; ---deprecated-color-hl: #738396; ---deprecated-color-text: #abb0bd; ---bug-color-bg: #2a2536; ---bug-color-hl: #7661b3; ---bug-color-text: #ae9ed6; ---invariant-color-bg: #303a35; ---invariant-color-hl: #76ce96; ---invariant-color-text: #cceed5; -}} -body { - background-color: var(--page-background-color); - color: var(--page-foreground-color); -} - -body, table, div, p, dl { - font-weight: 400; - font-size: 14px; - font-family: var(--font-family-normal); - line-height: 22px; -} - -/* @group Heading Levels */ - -.title { - font-family: var(--font-family-normal); - line-height: 28px; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h1.groupheader { - font-size: 150%; -} - -h2.groupheader { - border-bottom: 1px solid var(--group-header-separator-color); - color: var(--group-header-color); - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px var(--glow-color); -} - -dt { - font-weight: bold; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -th p.starttd, th p.intertd, th p.endtd { - font-size: 100%; - font-weight: 700; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -p.interli { -} - -p.interdd { -} - -p.intertd { -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.navtab { - padding-right: 15px; - text-align: right; - line-height: 110%; -} - -div.navtab table { - border-spacing: 0; -} - -td.navtab { - padding-right: 6px; - padding-left: 6px; -} - -td.navtabHL { - background-image: var(--nav-gradient-active-image); - background-repeat:repeat-x; - padding-right: 6px; - padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); -} - -a.navtab { - font-weight: bold; -} - -div.qindex{ - text-align: center; - width: 100%; - line-height: 140%; - font-size: 130%; - color: var(--index-separator-color); -} - -#main-menu a:focus { - outline: auto; - z-index: 10; - position: relative; -} - -dt.alphachar{ - font-size: 180%; - font-weight: bold; -} - -.alphachar a{ - color: var(--index-header-color); -} - -.alphachar a:hover, .alphachar a:visited{ - text-decoration: none; -} - -.classindex dl { - padding: 25px; - column-count:1 -} - -.classindex dd { - display:inline-block; - margin-left: 50px; - width: 90%; - line-height: 1.15em; -} - -.classindex dl.even { - background-color: var(--index-even-item-bg-color); -} - -.classindex dl.odd { - background-color: var(--index-odd-item-bg-color); -} - -@media(min-width: 1120px) { - .classindex dl { - column-count:2 - } -} - -@media(min-width: 1320px) { - .classindex dl { - column-count:3 - } -} - - -/* @group Link Styling */ - -a { - color: var(--page-link-color); - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: var(--page-visited-link-color); -} - -a:hover { - text-decoration: none; - background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); -} - -a:hover > span.arrow { - text-decoration: none; - background : var(--nav-background-color); -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: var(--code-link-color); -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: var(--code-external-link-color); -} - -a.code.hl_class { /* style for links to class names in code snippets */ } -a.code.hl_struct { /* style for links to struct names in code snippets */ } -a.code.hl_union { /* style for links to union names in code snippets */ } -a.code.hl_interface { /* style for links to interface names in code snippets */ } -a.code.hl_protocol { /* style for links to protocol names in code snippets */ } -a.code.hl_category { /* style for links to category names in code snippets */ } -a.code.hl_exception { /* style for links to exception names in code snippets */ } -a.code.hl_service { /* style for links to service names in code snippets */ } -a.code.hl_singleton { /* style for links to singleton names in code snippets */ } -a.code.hl_concept { /* style for links to concept names in code snippets */ } -a.code.hl_namespace { /* style for links to namespace names in code snippets */ } -a.code.hl_package { /* style for links to package names in code snippets */ } -a.code.hl_define { /* style for links to macro names in code snippets */ } -a.code.hl_function { /* style for links to function names in code snippets */ } -a.code.hl_variable { /* style for links to variable names in code snippets */ } -a.code.hl_typedef { /* style for links to typedef names in code snippets */ } -a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } -a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } -a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } -a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } -a.code.hl_friend { /* style for links to friend names in code snippets */ } -a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } -a.code.hl_property { /* style for links to property names in code snippets */ } -a.code.hl_event { /* style for links to event names in code snippets */ } -a.code.hl_sequence { /* style for links to sequence names in code snippets */ } -a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -ul.check { - list-style:none; - text-indent: -16px; - padding-left: 38px; -} -li.unchecked:before { - content: "\2610\A0"; -} -li.checked:before { - content: "\2611\A0"; -} - -ol { - text-indent: 0px; -} - -ul { - text-indent: 0px; - overflow: visible; -} - -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; - list-style-type: none; -} - -#side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ -} - -#main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ -} - -.fragment { - text-align: left; - direction: ltr; - overflow-x: auto; - overflow-y: hidden; - position: relative; - min-height: 12px; - margin: 10px 0px; - padding: 10px 10px; - border: 1px solid var(--fragment-border-color); - border-radius: 4px; - background-color: var(--fragment-background-color); - color: var(--fragment-foreground-color); -} - -pre.fragment { - word-wrap: break-word; - font-size: 10pt; - line-height: 125%; - font-family: var(--font-family-monospace); -} - -.clipboard { - width: 24px; - height: 24px; - right: 5px; - top: 5px; - opacity: 0; - position: absolute; - display: inline; - overflow: auto; - fill: var(--fragment-foreground-color); - justify-content: center; - align-items: center; - cursor: pointer; -} - -.clipboard.success { - border: 1px solid var(--fragment-foreground-color); - border-radius: 4px; -} - -.fragment:hover .clipboard, .clipboard.success { - opacity: .28; -} - -.clipboard:hover, .clipboard.success { - opacity: 1 !important; -} - -.clipboard:active:not([class~=success]) svg { - transform: scale(.91); -} - -.clipboard.success svg { - fill: var(--fragment-copy-ok-color); -} - -.clipboard.success { - border-color: var(--fragment-copy-ok-color); -} - -div.line { - font-family: var(--font-family-monospace); - font-size: 13px; - min-height: 13px; - line-height: 1.2; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: var(--glow-color); - box-shadow: 0 0 10px var(--glow-color); -} - -span.fold { - margin-left: 5px; - margin-right: 1px; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; - display: inline-block; - width: 12px; - height: 12px; - background-repeat:no-repeat; - background-position:center; -} - -span.lineno { - padding-right: 4px; - margin-right: 9px; - text-align: right; - border-right: 2px solid var(--fragment-lineno-border-color); - color: var(--fragment-lineno-foreground-color); - background-color: var(--fragment-lineno-background-color); - white-space: pre; -} -span.lineno a, span.lineno a:visited { - color: var(--fragment-lineno-link-fg-color); - background-color: var(--fragment-lineno-link-bg-color); -} - -span.lineno a:hover { - color: var(--fragment-lineno-link-hover-fg-color); - background-color: var(--fragment-lineno-link-hover-bg-color); -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - color: var(--page-foreground-color); - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -p.formulaDsp { - text-align: center; -} - -img.dark-mode-visible { - display: none; -} -img.light-mode-visible { - display: none; -} - -img.formulaInl, img.inline { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; - width: var(--footer-logo-width); -} - -.compoundTemplParams { - color: var(--memdecl-template-color); - font-size: 80%; - line-height: 120%; -} - -/* @group Code Colorization */ - -span.keyword { - color: var(--code-keyword-color); -} - -span.keywordtype { - color: var(--code-type-keyword-color); -} - -span.keywordflow { - color: var(--code-flow-keyword-color); -} - -span.comment { - color: var(--code-comment-color); -} - -span.preprocessor { - color: var(--code-preprocessor-color); -} - -span.stringliteral { - color: var(--code-string-literal-color); -} - -span.charliteral { - color: var(--code-char-literal-color); -} - -span.xmlcdata { - color: var(--code-xml-cdata-color); -} - -span.vhdldigit { - color: var(--code-vhdl-digit-color); -} - -span.vhdlchar { - color: var(--code-vhdl-char-color); -} - -span.vhdlkeyword { - color: var(--code-vhdl-keyword-color); -} - -span.vhdllogic { - color: var(--code-vhdl-logic-color); -} - -blockquote { - background-color: var(--blockquote-background-color); - border-left: 2px solid var(--blockquote-border-color); - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid var(--table-cell-border-color); -} - -th.dirtab { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid var(--separator-color); -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: var(--glow-color); - box-shadow: 0 0 15px var(--glow-color); -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: var(--memdecl-background-color); - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: var(--memdecl-foreground-color); -} - -.memSeparator { - border-bottom: 1px solid var(--memdecl-separator-color); - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight, .memTemplItemRight { - width: 100%; -} - -.memTemplParams { - color: var(--memdecl-template-color); - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: var(--memdef-title-gradient-image); - background-repeat: repeat-x; - background-color: var(--memdef-title-background-color); - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: var(--memdef-template-color); - font-weight: normal; - margin-left: 9px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px var(--glow-color); -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 0px 6px 0px; - color: var(--memdef-proto-text-color); - font-weight: bold; - text-shadow: var(--memdef-proto-text-shadow); - background-color: var(--memdef-proto-background-color); - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; -} - -.overload { - font-family: var(--font-family-monospace); - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 10px 2px 10px; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: var(--memdef-doc-background-color); - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; - padding: 0px; - padding-bottom: 1px; -} - -.paramname { - white-space: nowrap; - padding: 0px; - padding-bottom: 1px; - margin-left: 2px; -} - -.paramname em { - color: var(--memdef-param-name-color); - font-style: normal; - margin-right: 1px; -} - -.paramname .paramdefval { - font-family: var(--font-family-monospace); -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir, .tparams .paramdir { - font-family: var(--font-family-monospace); - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: var(--label-background-color); - border-top:1px solid var(--label-left-top-border-color); - border-left:1px solid var(--label-left-top-border-color); - border-right:1px solid var(--label-right-bottom-border-color); - border-bottom:1px solid var(--label-right-bottom-border-color); - text-shadow: none; - color: var(--label-foreground-color); - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid var(--directory-separator-color); - border-bottom: 1px solid var(--directory-separator-color); - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.odd { - padding-left: 6px; - background-color: var(--index-odd-item-bg-color); -} - -.directory tr.even { - padding-left: 6px; - background-color: var(--index-even-item-bg-color); -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: var(--page-link-color); -} - -.arrow { - color: var(--nav-arrow-color); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: var(--font-family-icon); - line-height: normal; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: var(--icon-background-color); - color: var(--icon-foreground-color); - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-open-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-closed-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-doc-image); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: var(--footer-foreground-color); -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid var(--table-cell-border-color); - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - margin-bottom: 10px; - border: 1px solid var(--memdef-border-color); - border-spacing: 0px; - border-radius: 4px; - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid var(--memdef-border-color); - border-bottom: 1px solid var(--memdef-border-color); - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid var(--memdef-border-color); -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image: var(--memdef-title-gradient-image); - background-repeat:repeat-x; - background-color: var(--memdef-title-background-color); - font-size: 90%; - color: var(--memdef-proto-text-color); - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid var(--memdef-border-color); -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: var(--nav-gradient-image); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image: var(--nav-gradient-image); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:var(--nav-text-normal-color); - border:solid 1px var(--nav-breadcrumb-border-color); - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:var(--nav-breadcrumb-image); - background-repeat:no-repeat; - background-position:right; - color: var(--nav-foreground-color); -} - -.navpath li.navelem a -{ - height:32px; - display:block; - outline: none; - color: var(--nav-text-normal-color); - font-family: var(--font-family-nav); - text-shadow: var(--nav-text-normal-shadow); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color: var(--footer-foreground-color); - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image: var(--header-gradient-image); - background-repeat:repeat-x; - background-color: var(--header-background-color); - margin: 0px; - border-bottom: 1px solid var(--header-separator-color); -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - -dl { - padding: 0 0 0 0; -} - -/* - -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention, dl.important { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -*/ - -dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { - font-weight: bold !important; -} - -dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug, -dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { - padding: 10px; - margin: 10px 0px; - overflow: hidden; - margin-left: 0; - border-radius: 4px; -} - -dl.section dd { - margin-bottom: 2px; -} - -dl.warning, dl.attention, dl.important { - background: var(--warning-color-bg); - border-left: 8px solid var(--warning-color-hl); - color: var(--warning-color-text); -} - -dl.warning dt, dl.attention dt, dl.important dt { - color: var(--warning-color-hl); -} - -dl.note, dl.remark { - background: var(--note-color-bg); - border-left: 8px solid var(--note-color-hl); - color: var(--note-color-text); -} - -dl.note dt, dl.remark dt { - color: var(--note-color-hl); -} - -dl.todo { - background: var(--todo-color-bg); - border-left: 8px solid var(--todo-color-hl); - color: var(--todo-color-text); -} - -dl.todo dt { - color: var(--todo-color-hl); -} - -dl.test { - background: var(--test-color-bg); - border-left: 8px solid var(--test-color-hl); - color: var(--test-color-text); -} - -dl.test dt { - color: var(--test-color-hl); -} - -dl.bug dt a { - color: var(--bug-color-hl) !important; -} - -dl.bug { - background: var(--bug-color-bg); - border-left: 8px solid var(--bug-color-hl); - color: var(--bug-color-text); -} - -dl.bug dt a { - color: var(--bug-color-hl) !important; -} - -dl.deprecated { - background: var(--deprecated-color-bg); - border-left: 8px solid var(--deprecated-color-hl); - color: var(--deprecated-color-text); -} - -dl.deprecated dt a { - color: var(--deprecated-color-hl) !important; -} - -dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, -dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd, -dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { - margin-inline-start: 0px; -} - -dl.invariant, dl.pre, dl.post { - background: var(--invariant-color-bg); - border-left: 8px solid var(--invariant-color-hl); - color: var(--invariant-color-text); -} - -dl.invariant dt, dl.pre dt, dl.post dt { - color: var(--invariant-color-hl); -} - - -#projectrow -{ - height: 56px; -} - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; - padding-left: 0.5em; -} - -#projectname -{ - font-size: 200%; - font-family: var(--font-family-title); - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font-size: 90%; - font-family: var(--font-family-title); - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font-size: 50%; - font-family: 50% var(--font-family-title); - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid var(--title-separator-color); - background-color: var(--title-background-color); -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:var(--citation-label-color); - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; - text-align:right; - width:52px; -} - -dl.citelist dd { - margin:2px 0 2px 72px; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: var(--toc-background-color); - border: 1px solid var(--toc-border-color); - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -div.toc li { - background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; - font: 10px/1.2 var(--font-family-toc); - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 var(--font-family-toc); - color: var(--toc-header-color); - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 15px; -} - -div.toc li.level4 { - margin-left: 15px; -} - -span.emoji { - /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html - * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; - */ -} - -span.obfuscator { - display: none; -} - -.inherit_header { - font-weight: bold; - color: var(--inherit-header-color); - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - /*white-space: nowrap;*/ - color: var(--tooltip-foreground-color); - background-color: var(--tooltip-background-color); - border: 1px solid var(--tooltip-border-color); - border-radius: 4px 4px 4px 4px; - box-shadow: var(--tooltip-shadow); - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: var(--tooltip-doc-color); - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip a { - color: var(--tooltip-link-color); -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: var(--tooltip-declaration-color); -} - -#powerTip div { - margin: 0px; - padding: 0px; - font-size: 12px; - font-family: var(--font-family-tooltip); - line-height: 16px; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: var(--tooltip-background-color); - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { - border-top-color: var(--tooltip-border-color); - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: var(--tooltip-background-color); - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: var(--tooltip-border-color); - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: var(--tooltip-border-color); - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: var(--tooltip-border-color); - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: var(--tooltip-border-color); - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: var(--tooltip-border-color); - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid var(--table-cell-border-color); - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - -tt, code, kbd, samp -{ - display: inline-block; -} -/* @end */ - -u { - text-decoration: underline; -} - -details>summary { - list-style-type: none; -} - -details > summary::-webkit-details-marker { - display: none; -} - -details>summary::before { - content: "\25ba"; - padding-right:4px; - font-size: 80%; -} - -details[open]>summary::before { - content: "\25bc"; - padding-right:4px; - font-size: 80%; -} - -body { - scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); -} - -::-webkit-scrollbar { - background-color: var(--scrollbar-background-color); - height: 12px; - width: 12px; -} -::-webkit-scrollbar-thumb { - border-radius: 6px; - box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); - border: solid 2px transparent; -} -::-webkit-scrollbar-corner { - background-color: var(--scrollbar-background-color); -} - diff --git a/docs/manual/doxygen.svg b/docs/manual/doxygen.svg deleted file mode 100644 index 79a7635..0000000 --- a/docs/manual/doxygen.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/manual/doxygen_crawl.html b/docs/manual/doxygen_crawl.html deleted file mode 100644 index 4a3b72e..0000000 --- a/docs/manual/doxygen_crawl.html +++ /dev/null @@ -1,163 +0,0 @@ - - - -Validator / crawler helper - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/manual/dynsections.js b/docs/manual/dynsections.js deleted file mode 100644 index 8985f42..0000000 --- a/docs/manual/dynsections.js +++ /dev/null @@ -1,205 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ - -function toggleVisibility(linkObj) { - return dynsection.toggleVisibility(linkObj); -} - -let dynsection = { - - // helper function - updateStripes : function() { - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); - $('table.directory tr'). - removeClass('odd').filter(':visible:odd').addClass('odd'); - }, - - toggleVisibility : function(linkObj) { - const base = $(linkObj).attr('id'); - const summary = $('#'+base+'-summary'); - const content = $('#'+base+'-content'); - const trigger = $('#'+base+'-trigger'); - const src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; - }, - - toggleLevel : function(level) { - $('table.directory tr').each(function() { - const l = this.id.split('_').length-1; - const i = $('#img'+this.id.substring(3)); - const a = $('#arr'+this.id.substring(3)); - if (l'); - // add vertical lines to other rows - $('span[class=lineno]').not(':eq(0)').append(''); - // add toggle controls to lines with fold divs - $('div[class=foldopen]').each(function() { - // extract specific id to use - const id = $(this).attr('id').replace('foldopen',''); - // extract start and end foldable fragment attributes - const start = $(this).attr('data-start'); - const end = $(this).attr('data-end'); - // replace normal fold span with controls for the first line of a foldable fragment - $(this).find('span[class=fold]:first').replaceWith(''); - // append div for folded (closed) representation - $(this).after(''); - // extract the first line from the "open" section to represent closed content - const line = $(this).children().first().clone(); - // remove any glow that might still be active on the original line - $(line).removeClass('glow'); - if (start) { - // if line already ends with a start marker (e.g. trailing {), remove it - $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); - } - // replace minus with plus symbol - $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); - // append ellipsis - $(line).append(' '+start+''+end); - // insert constructed line into closed div - $('#foldclosed'+id).html(line); - }); - }, -}; -/* @license-end */ -$(function() { - $('.code,.codeRef').each(function() { - $(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); - $.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ]; - $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); - }); -}); diff --git a/docs/manual/files.html b/docs/manual/files.html deleted file mode 100644 index 00e561b..0000000 --- a/docs/manual/files.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - -BayesNet: File List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
-
[detail level 123]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  bayesnet
  classifiers
 Classifier.cc
 Classifier.h
 KDB.cc
 KDB.h
 KDBLd.cc
 KDBLd.h
 Proposal.cc
 Proposal.h
 SPnDE.cc
 SPnDE.h
 SPODE.cc
 SPODE.h
 SPODELd.cc
 SPODELd.h
 TAN.cc
 TAN.h
 TANLd.cc
 TANLd.h
  ensembles
 A2DE.cc
 A2DE.h
 AODE.cc
 AODE.h
 AODELd.cc
 AODELd.h
 Boost.cc
 Boost.h
 BoostA2DE.cc
 BoostA2DE.h
 BoostAODE.cc
 BoostAODE.h
 Ensemble.cc
 Ensemble.h
  network
 Network.cc
 Network.h
 Node.cc
 Node.h
 BaseClassifier.h
-
-
-
- - - - diff --git a/docs/manual/files_dup.js b/docs/manual/files_dup.js deleted file mode 100644 index 3a9b985..0000000 --- a/docs/manual/files_dup.js +++ /dev/null @@ -1,4 +0,0 @@ -var files_dup = -[ - [ "bayesnet", "dir_40070fdff85d618b4d1d3ab4ac4f79bb.html", "dir_40070fdff85d618b4d1d3ab4ac4f79bb" ] -]; \ No newline at end of file diff --git a/docs/manual/folderclosed.svg b/docs/manual/folderclosed.svg deleted file mode 100644 index b04bed2..0000000 --- a/docs/manual/folderclosed.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/manual/folderclosedd.svg b/docs/manual/folderclosedd.svg deleted file mode 100644 index 52f0166..0000000 --- a/docs/manual/folderclosedd.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/manual/folderopen.svg b/docs/manual/folderopen.svg deleted file mode 100644 index f6896dd..0000000 --- a/docs/manual/folderopen.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/docs/manual/folderopend.svg b/docs/manual/folderopend.svg deleted file mode 100644 index 2d1f06e..0000000 --- a/docs/manual/folderopend.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/manual/graph_legend.html b/docs/manual/graph_legend.html deleted file mode 100644 index 46efc2c..0000000 --- a/docs/manual/graph_legend.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - -BayesNet: Graph Legend - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Graph Legend
-
-
-

This page explains how to interpret the graphs that are generated by doxygen.

-

Consider the following example:

/*! Invisible class because of truncation */
-
class Invisible { };
-
-
/*! Truncated class, inheritance relation is hidden */
-
class Truncated : public Invisible { };
-
-
/* Class not documented with doxygen comments */
-
class Undocumented { };
-
-
/*! Class that is inherited using public inheritance */
-
class PublicBase : public Truncated { };
-
-
/*! A template class */
-
template<class T> class Templ { };
-
-
/*! Class that is inherited using protected inheritance */
-
class ProtectedBase { };
-
-
/*! Class that is inherited using private inheritance */
-
class PrivateBase { };
-
-
/*! Class that is used by the Inherited class */
-
class Used { };
-
-
/*! Super class that inherits a number of other classes */
-
class Inherited : public PublicBase,
-
protected ProtectedBase,
-
private PrivateBase,
-
public Undocumented,
-
public Templ<int>
-
{
-
private:
-
Used *m_usedClass;
-
};
-

This will result in the following graph:

-

The boxes in the above graph have the following meaning:

-
    -
  • -A filled gray box represents the struct or class for which the graph is generated.
  • -
  • -A box with a black border denotes a documented struct or class.
  • -
  • -A box with a gray border denotes an undocumented struct or class.
  • -
  • -A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • -
-

The arrows have the following meaning:

-
    -
  • -A blue arrow is used to visualize a public inheritance relation between two classes.
  • -
  • -A dark green arrow is used for protected inheritance.
  • -
  • -A dark red arrow is used for private inheritance.
  • -
  • -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • -
  • -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • -
-
-
- - - - diff --git a/docs/manual/graph_legend.md5 b/docs/manual/graph_legend.md5 deleted file mode 100644 index da515da..0000000 --- a/docs/manual/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -f74606a252eb303675caf37987d0b7af \ No newline at end of file diff --git a/docs/manual/graph_legend.png b/docs/manual/graph_legend.png deleted file mode 100644 index 9f80d23298cbb09d18a9d504e2f1a7d4f0a17cb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22891 zcmb5W1yq$$7cEK%f`o*0mq>S~Qc8m$BHi8HAl-tblypgVBi*Ugp}V{D?c@L7JKlKr zzWc@-j)8~cIp4SU+H1`<*Ier}R8d|E?FHcr7#J9|5AVg5VPN30!0Ra_MDX(k(=r

9>#sC`%WH4X)TW zA2>IqxC=yu4fXb#JRci^*r`w>d=TeI6;uz?Q_+3p6T$DyvJwf4Uv1Mnet*uV1 z@Eb0R_Rv5)gI6<&l!Sqs0L;H7s`8mp7X4dm^E+&%e{XHz{0O1{_o{46T;<Uagtd&NlyB6!_z6>FJT@?($&JNmIS6RQgls5@wAR(bbI) z^4=7i&u_RTO9_5(AUPvL=0oNe3ZELNl@g2Umb{64D-3!ojRtW?w`6G*(y3WlS*I;1 zeFrx>b{yRgP4jYdSL_>*kdXS=tlZuC3kwUMAtK@m9JW0i*rd0eg=xi;8EH##p7def zcXlLknV?^2R4QG(Fxd_PpZ<_eTF#I{eRJIUc+788*au zFCMa?G?ezu5{-sU79WacH;1o8T&saT_wbmox+|4Ne=HVLe-1Kd8$^>5^A?mvs7ceQ z+F30&CtH*@1RWpSe)acvTM5JyobJ+Ua$Y$)8tn?jE>tTc{r&s5;N5hfXf<*BKY#g}hGrv+EmhDhmhNL7tA1CAe%a_) zrkLAN%N4KFu1dwAGELbKwh|@<6H_F?)6GkVe1&|mCTBkD;r#skwOT8fkyN3;eg zKP$-0bvNGrOiPNyV1nK97{wu}a4OyR*LIs@6nSkA+zM^Sa7|Z-2+Iv>+AAAvPibpS z&L&Z&#NWNadtpNXwkCfi^vo}@3 z;GA5v?ppHq-h!n?+_292TD8!A+>EyQ^abqSqVY^C4eRDdckkH>|Cv$YY(0NO)Ydh0 z7|JH6wYAx*lZ%V)TB}X@jFGgurIC{yYHvsbwup#`_su~au@Q@AW8C?!yQR{jy0Cm-*kje~WLx)lL5t zU_uSW^rd?FVp?bG`edz}SqDcUbQ+VX;FFq8+7@sAWb%PS+L+?#l4|iM8X=*ymbT>SkN7M(wd#$!n2 zEf$P^Q`ET)ZtANpuxN0U(T@$o?%-MDnWij+;ln2e-S(9m>G{@mFs zYs<4+>zU2-xjU$H1LlXiqr=w7#_#83IcjCvZi}My^ofJr03MULEO71Y?0^GDgR_s@ zW>;BpYZ1GXOw@_$Tp_=#8ih$}(}jJGPSUvT34eQObZ6660gePlSfesvddV%g(P_8* zs2$cE0b%@pfI(=@`DkJ9#{Qb0I2}hmnea`(V~cym z!L-he>&iRvfB>hxnPw*oGfPB(+yi^=m;3!>KKH*<`5f3wLxCgYE0Aptr>NzeT0)F> z{}jU9UqWmczf_0x_4Qd!&Vz9DJRg?=$tF0(x-k@Ndc0gu3>-`^OWVEjzSCT-RZ9Nv zKWC#N3e%-pvvoFPWM1c(JbRHeWoPb`y8tAYNZkVTUW&+?et$i5f8-OoKXs6GR%7-z zj7P^K^6g7O(FNmS*TZnn@06a7QDkJ1a}<-}gGqzcljeH8|p3(amT zWH`?dVCRjlY%0^xX`i$*i_XJ7|!v{@16!UB5uYBPnsCf1aX3* zbJvIQW+*$PPbcIuw_R|Wb`wB#3Z489*PzG#YNxN;JYTp>lhau+}ccbCQ)5c)ZNG;o+zcHJB& zR4@CEsZ$U2ny_OjnzOf=M290n=*TH&w25^$$q^TI!(ztAK$ zEbMQLI$_j}UHdN@mtAE+@1){w$ep7WiedZO{SrRYS)?LnXQR8_wp&* z{6_aTa78*NHsRT_C0`VcvZZ*{203xRJGN^>Z;WGv>S-^qt=)-)gWJgE@bNttBUNVX zam?Zz1Y54yZ1cC_F$_7mJo^9c_Gn1TSGI(R@ug1_EF3w0P+Vnx9-h~MAl{k?G12LN zZ0w4>L8lF~#am5sgB??%J~2Y-1h0s)13n}UBKaA*>OiA57MzT;V4PM#bg{e!SbWRdv5U#8=2(+c$Yb|qAb8+p^~hjY4)%_Xz>8~J>wVU=meKXY!p z(Okb}x|hf47)pa4@f$T4@t5Ac`Com>3CxkN4Y5zNuu?xL1Y%ThE@J_)4HAYaU&G zmM*lU`Y~^R+UC2}m)wEi6$TpTYw6GnXJY7e>3NgIehs|^r=r>5&RGUMs$6<>Iq`Vt zi#RpY|3k_0MrVNsd`7t_Yv$kpChqD#EB+P4CZU1+rlVsD0?l#svP=H1v3@ zYinY@Pl>Uy?4=4B!e)z6QaBll|Kd%hK^Ib+!ItNxs5mBZmKYEakb#YbML9sptm^14 z^{+PCcvok=fDX%}!z;+mJw?mOSuH6p-qp|OZvm;*%H7ZUDDmHjWhOW|IeD94v|s>n zhJ=KKV5;|)s8{91gjiz6Al6z1-&|jVS6dNmWiVXeCfwI|cUN+9a#|<>>IpTh!ouE; z;JVN87}wwph9vVR`Rb&iN%IG6Fa98${|8Q*t%rYbrGc+L8bt8Dp{#?IVNUJYuvZry zX7o45H?WqMk+FC~$pa(zQCZpgV6Mi3Xt}@&0?#b_4p!WdjkRxj`byE$^Zq$lCQtl? zd13hfFpvX#aL@DN1>DNwDQqpj70Ok3&uv@Y($<~4luNv7;yTEKtf8SH`?1!$cO8h! zMd8B^gG_avaGqFXWIlmL>Muk3e6X;vlq1R>X$`<`1&m!`G3U+lJ4R8$BD(t#ZF-8msTkM*plw^v~5m%76qs6&Kt zVhGypmkT@MGQ*^f{?)nz4DXbuUOOGkIlb4^)GUvV9`#BviY)t>FE0x=fj~d7Usc}Suns^kELEhc%EqdEY50Szv1Ggfi|AMue)6wFC%d*_^ zFmRlxb|ix#4^g{Y*a!S;TX0gUjgC9)w0lUH$;J`0){skI4eJIY1Ga=r`lkO~Fi?!{ zxp;bdR@fwT_x3*D_$2=!u0%TM5b0m6+f!0fYSJk7^a}>zHCd{%S69UTiHYz4oQs*rzi>JY@=1Gok}s3YY?l6yZK0v| z|MTisa?m(G4O&=47j?_{PZFee*d$HAa7G=t`|q*Go&G=91CZr^BVw@Pq2qIzt4M)J zK9^*bpeRA)hG!M=zE7z$pnEe|xtPT7w5yh@blDd}wUsE@P~`YI;o|R~!jDUDA}h1A zvJgZ2(sGq*2U0>J(uBQke^0!*d$?NinW+2~1>UCDQc_a#moA*=5zo;xiz_)biQr?k znyXgsPo&?y5vV&eh&oKMgjkzK5X=AqR2ly3^QGbabgP%eQI8U93Xe@s?ZJ&`A$3+y zl3yed&+9jD3OK{mXiP`bg;II#vN-X^Czh6;%9u22|Im^dk#ljygPI3c96mQTSv*qGF zR7Ezflr0%=trD-IZaHne&^Vqc7ObojMW0^yF+ahXQd(E{r^BBDCGXru32DuzTOT-rt`d4!74@rF*h_)M*1H0?ODO0p=|; zsD5~5vZPfce7j9`e}7+pPzyQ#{3f7-6a|#s2)FVHuO6)N7E^3mKLGk#f7rNJiIySa zBa9yG53y-$88c!AH2}S8(O9usS?r4{O}eAKr!H)Tb^iGkTUN7)9Az!%DGPVNAyK$& z)H7@bQnt5E8(oe@lF^z8+X`4LVPPgGU{laRXx&V?nB3xw?)S`n4Od4TCKh!R^$NkG% z>E{F_2JUW~7Ody3d61EjhcZN#&Snps6K^Z4v?o!DS+`PR8`0xwK?OBh(>6yVlMpBE zlb<|28>>j^A`Xj)ir)_8kHZ^5t2xe|D3U=S4kDqVGAa_}D`ZHD7pPYmN7-HMO>Ygd zv<-1XwK!~Sv$3CVqjrK{lBFLo_d|>Pp=1sMA$P~x9q*?H7xU@TNVeG}XLAU5Zxl&3 zuv(r_vuv|eNacO&?(QCCv|iJ4Iu{(s z^n7`~!9k_?6H~7(uu3Uw?>k#t+o+@U?)BP8l%_H#p9Io6h@8E>ed*RdDA+ZR^h1$C zLqnfEf4+8flwp->1tAu4kIQPl=-sdf8lRw19#E$28|)vVGK9T;09|6ManxQT|2wV1 zsv|#&s=W4|&SLY!B?KmdL;zU0)>YV~apvU6zQLA1E!`?6At7jRgOZ$_ytjI1XD25w z5103OpMo_XjN$$ghslVcM~bfY)~onT-mUiL(yDGHbCWqDo8}l$ZrcI+4~{Xat<9%a z=Pgu*Dydt9V@Kb|q>{wI#g#1iQggkh^E5D9Wl|MiXEI9q_3Kx`PCUlXqNb*AfMD`d zuQRCm@pkW~XU&n{Y`(r?>kP=o4ZB6fri;yddU|@Zq&F?60}Pzze?mZw{ISj3YpO(J zi=fW!%(%2+lMrY&$e=I`#M2fP4{Ob2eye_^1wiES@p0$}SNQG49uPj-Cvs(wQBc-` zh^)y0tn`xk02(2e!fnOte*Oj?5p~)Br7+CtlD6AHXGcPn?aDh~KPg2;3=#q7^>#n_ zo6-zY6oka33Rd89MKR;?8vdsWWN!g@wMKsN+5B zU~<`Fx;nIvy>if$|qPC44(zD`tRF)Qal?H43^lfP~|})H(9x(*{6%DS+MJi+BrS z)5_<7ko$KnZTEhTB?XZOaRBc^ldZtWA@5uF{xrGR#Ky+rv*`zHT@MwfhL`wA#4eq* zSxhtEKRhJ!+EIeYrsCyIGRg2t*vjxp|59VFRAnqTdgZg$6Uk{c7nh&z9tMOY#U^Jf z#FwP9($WJG2E1;k)F1O?^}0eZ`Ff0oVF7uP(A6b}DvX(#nd$WWAmBzWQe*%AS7(*J zs3}gY%u0tx@knEez>*RF9veH;;=$A8a7f}h!s@ag#Mm>GAeXM43Z6dZ#3D~-BFtf_@E_Fnt|a@HdAa)0YCz+tji!; zsHfg;%{QX=#s4a@jw07K)AzNeuo)nNSjYum5 zBm{gJXp`SS_S0LU#UdW(f;p0oTX?sX0YrPFaK*22s;q|HHiv&<| zqlItZbOxar063lZIBMzY?uI4!ThtRl&APu10&-uEX`07XW?F^mHB^yZ|OY_`dTWiXLtE6rsQNIl3v$pazqK~8RC`L{n< zS%yvP&FiJxe89msTJH|C-})mmelBl!SnQ*>K!>s293p`F2+%m&flxMEVemX0mubLG zzCjV_ipe0y0@OFz9?P7?st7AB*lPc(X%e2@g*A?h{dx>AjW2c92R9phUbp9Pqfhe= zqnO0Rvd|R0SK9QsLSG_%vZtqK0*G+H|4~H^4XJ^e$JW}~nr7$Dr3mcQF-{*Q&j} z)O$Oi4$uUuj00DPO1{9F82~IzQgosNzcLI}e5?804kCrmX*X^wM;L$^SbhWm?pDb4 zJA~QNMiH4_&?R#LYO*AdkB-l$AQTi7 zj(byRzUAet)-4yGK9y?r$I{3YsFkH}J#3{3xNNpuEe>AXrKNx_l`=pJz)jHGL6~ke z>}}Zc3Vz6)+%dd9UI{@0Yo2%CE14}NX(*WtJY}G5yC{4A!u=lDY7kU2u9tgBYz75D z7#4CrZ=aq{T=Kpf=CE>fc7Mn(ox+I%W4e19yq=(>iM?zTzrrPi{ap{%(B(9n^? zg(g1G-~oAbpmra0!SdSoyyyVt3~Fw*cwE_cLVE%(-8gE;{j?eDNwjST@k_#tvV36A zS%7?i<^eu5d#NQEP!td0UP2uen${*2M2v1uH()*|#BXu8D!#2PJ{u;hy_)(&$un77?+$H6}|rp z1JO@I{DH}Lxn`4j>2}F?-Ia{yQ@@fAuFU}*t0mf;=mG8U3b%Vne5()}@ zm^V6OpHnTbG$ZD)!X|7&jjHyPP97k1odD{*nS7oet~8xzjocFOu&`pYCFa3t;j`+B zrpMcGyqp1t>~OxVr0u$b(E4zxq3~%b=L0qjI+^eg;N4vSo%p=(c|YcJ*N3G1k68eD zqx0?Y^WDGUp!kEP&C8>uBlUb>rw#Y4vI1agdlmdq3!ja;7UR+Mv@PN0@)c$8jiFRN z4yod0z}7G@fmXx6U7^T-*!JWd^pZ>-q;#mT3^Ih!H>IODWmcYB# zgoKA@>$G`C5OCxv8fi+G)~|*UFG=}=UZ#6#u!PWa+zoyWe4`1*YJfq!#OV4427VF3 z`<0&@of`4;Ro8`3*W-7?^<8S$N;>(85?ZY~U(r$@iI>R)TbLdv&A$ zd}Ox4ffgVE96RARFzA6nNGJ`^+>V!+QLFKlZ>~%tZXxX0FwfEuD8)aQ>-yzyJOUG; zsJINT*t#B)Zm7w7@9D(EouAl1xB-|TEQ12gU_48L?~r%t|FtWn_ET#ArXLEewN?;8 zv_ilo+!~z^23o!DphN()`clGcG;JC|#RzRe%Oo;Oi1WG}60PH zIPF%&!EsCg1VKhcjRVddI=S--GX^9~X;3bJiGhbBi8?jyyYli4sOq4vp75twO@WZd zn(=DhAzJX^d@}LA;`s6IXz-t)v|54j02o|8E@wIr8SuPmCB&gb7>KMf&~hVaqb~9# zso>{jFR#L*QP4;>@@~^em=aC{V16Hnf;Rwo8_NCBtVu?^uP;oYc1z>+_4RvG(}JNC zo>2~OKx^Ro0FBusaNaAa8z@l9HUtwt?AG(V6^t?fj;Rv0oRgs(JKYX&>r@b@4IqK% z0)^Bb^k)YFe=`D~$08wNLJt-Ls0XTXXcuXX?kO{v6w4q2H0?BiPDu%1DgjU1l|qV9 zen2fjj2?_i%&Q2(!EW4%P}s8`2-$-`P)WAo z!_#>BdVdGP#t1Aecj}=75c*~d;JpaK@*F}ZUD%*1OoStON?yA7^Cx1me`hiu;TyQM z`{vcfMLcLh4>UUMQInI4x?deKL3gH7@nQV&mVAIS>W403^b?C zh67JRLQo0V|5+Tf-|eBV2*eD#eizaWSOiMTaOIb3(-^_~<4!&XlEiNv>1`6?U?779 zM0jF*yD0RGzzwB6J)2FM2RGx3aP_C}&M;Z^Z&DT#mG%W%fff&Fk0hw@r7TK!h^qIg7GkB^Mfy zf@&_t6ZQX4#a%+0mWsljf&CE>~3qHp(+_DLT`CrzcyCPglG0GC@9z-8yhpx@w)gc zv&u#7W@TU?n|bMEmw=F4Cj$C_ZXjYYV=Tapy_p@y5THWl4JeY}%UUky-VK{TxIxI~ z0Ott^4#snDpp{Quo~bYZ1t@3l)gCA!p#AVc=B5ZxpBfP*{`escEKmwL1#%7O@dBMj zYumMwAK(hO3N>hyC_coe18D>#Ik%{W`+#&fPr*WtSXMZWSxuMa?` za88{M)M5YDzAuw(q+V^Ad?iL;AR9C4*WEI*nS0v8FAi;KPI3tR)s+L6kKr(4U$4yAS@>#QlPlk5*MF%_ zXy;&N@W+2U%QXG(L)wwLqQCb>4VlHRtt zVf?u|CUpiC=9Ovsg1QN2^R8jN@r#hI-DAfzk>Q?qy&ru*o3^1(dEcV&pWaR(mg5Ku zlRPVe=il#`@Nk#iSL-~FxK~8_Z^5a zS$<^{`-W8G`vw0i#@7f8Mq%;MZL_H@Rc$aG1Bx`Gdc<92Cs3b@JTR*3TubrS@g6vw&{du_Nn*QZjZxTD)!_~%58C!@vpj?P|`a~{eoA*XBG+(HG_^oY-N2MCY;<*t$}93zku z6~rsX@9jmlHC6=%>VI%DOGQag2xs2av;Co3n@`BjcBINdI?ot~cq(1SBDSC1L$?R{>w+?rI@cEs=()S7RWOW%u-)L_)e=V5sJO<(Saj)-{M z*%FnP53QAY;=+$2S*Ct&dmQW!MsLAIW43vo%U(o8BD;2^e};ufhMCn&^3iC;q<}W) z0+A6@(--24nHko0xjv;k@3yF_{pSZd7=IZGnTNYzbsC-7*#6J7zWAtxgvGS zw?k|rA`Ch5BSv_OzS)`lrp^9M)nwYf${tZY(a6Yl!m#|R=bHRfS=9BqXBr^b?Vi6% zD1L*=4-#3U>~ApvaQP#tD-1Ths_H}gR^B+DgMNSL8GbGDQ(AabWC4Ff{hgZJI~0}; z$7LSTvOkl46iO+Oml1RGkN!i{uiD%5$&;rsAR)8MRGYg6!v|c*LZExD1DCbdZATv2 zMsdG(PugFmf2IV_fbeOKyV&@Gt@kYX6OP)eM7=6pq~P%R8t$2y2t!1UL2B-9kT;CO zjnE{!5+j;2xsUbj^;f&LBidBeG1;huO>(Tx@+xe}uk~%ij>m_zH(_mp)sj)4H2L)$ z#&afoWdb<#Ly~3(Et$e+2EG$m@dP(To})>hJspo^Xy6ty-~PE=s^QS*rkMGB`h>+( zLq?W1jwPO!AG%Frc>SV*G|A*==K3%070R{RCwlmYXV$OR5)Zj`D@5m$Cx4~+n7nNY zS47~BYvg?oL-^f?{Z@dP@EEqx2s`PAO539-W+=^GgKQVB!Bhy_RkVQP_Rp)VVnNBS z4@n3534ZUNF*w+~mt=^1%i)o%&`hXH!|54l`O4Jhw6Q|ZmT)BwpVCHa|;`=t0e7RQ@UMNeAhSgg$5d z&u=-wcOUI#BoTg>Bh)AEShAd5(-+cZX8s+$xlLdG>ZKoH7iN`DXcPSs-$b<9QN?_KPxQ!U|==*$xQe?I!o4ugo&;PRtf@G#$DJOk-HCK2twh z{c&Amh3`p_^Ul?rijBM`QI~-C$;jP}jvXas20xR?$T?Gvx5ziIKt7CvY`FqB9^`6VDl+B zh5}!mv7FlcGfU^_p(cY%N63Yv?RiYAk^)pON%XW_{G zwN|VmK2#p>2v5p0_VQYLc`5OR?Mj!wvujgm=!Vt;k+#D-|2uQlU5c1?6}uzwVpK+iTV5_wSCq31vBBg;q$$=$eC2Xq?R9A zHX<&A?;h-PL_A^5-*@+J`q8VeEqh{4OfB((Tx{7@_o5S;r+24XI`q^%nAwxj@cnqw zKgfC(F|HOB1eJXIfS4|*LqfBZt~URUs)SO7AF*3Hp3o1K`xtc$OHT-Q%|x6~p^QXq zt$T?!UJT#dz*fJibDDDX;l0C9cxGbgOoE8oO{Yk1G3F#0)o;KQ<_`{%R1P^YOANEJ zyZL8gYAGFg#Jzssc%6vve!QWx(6LAxoMQEL%8v-M2$S>xQX8lUe?hFY7 zAr)@1H?hAt`1K==slMyA^Ky|OEry-m5GkX@^5pZEkBZJQs)AGrG8Sx}vXWeJf_GWW zLm!D%Z98$L(bjrdm+8n+lY;f$X`@92u_QhPuRQhf_PV5u52n89v>p5dKqv5X?O!Rz zCJ}u~KSKN)?Jh>*ng*}xy0woDlj7B}MA$5UCnrKNQoMV{Q0h^yNjlBp?dsLJTcXDk zdK=tci6~zqb)s|~JG4$3S2vTP3Cc?{OsO0Gq55m30rz^U_=-N^V(7*?RS-4Aa2`3$ zVE#}^flTPfehEH9Z05cdEeeg=|_{z?KE?=G4@9S zj8|3mTb>)DJdD=$T}jO_;mTm(KA-WtaVGm%s3Vmi$N4F9*9SctQ5aRsl@O`>SVZ$a zTpi~qt;5Jn-ye}j7cxr}Y&4J1&2GHDgidnX&fuqN`;s}HA_25;pIr5{#)*v2*_Yy+ zWO0T=HYVnRf+JU8mtRuJUN~_yDE=)JmzA)=W(5H$6&WM8WA>OKa_=x$1s%%*^N{ok z{`$G*k)r%*3h$e~kLSg@Vu(CZV1GS-SXpw#S3N)|LudD-bCd+ZyC-EQ6brX@MV`oirkEJ>z1H`2) z61gO}EF0zn^ius=dycV>ql#ZtiG;Amm!{vGM-iFlHxR3mK3?8ZEk;Si3(ASB`k`sj zJ28>D6N-rhkcui!F=u%adkU8X^KBgP4#u1QI%7KMg-!F7Yu8BCM?YhEoKw5VM_yUs zV02Z45r0hfytZ`|eYlMYVMILi;%BofO%(g32%PRM{$ub;8Cr4qx+vkezU$$=SDiYC zJAvFI3LXEKU+^S5;m3lu{`s)V3JEIb0zdG6xGmI0YSr#UCwYtF`O#%_*OBcV)T{J^ z@lu@rpPx?()xUF7I!bLvXHpR`eXk?bL&goS2`_j@_|^k8nra?xzx$Z`Z*or?-6xZQ z`0lRbW7v>p8;z-jHFT1&QDR{_!Fv+F=UtU^LJr5v=r%o{l~BXK_w;ldFN<)vCrb%+ zs=W`u+$8MW-f0de~;;e2Ny|t^@LSKbwrk)dFtY?NE^sR~hwA zs(&_Yf*fdqr20+Gd9VNoMCcsicmH#xteCoY2AGUPgSn4t1*Ll*2(tRa1)e-6hN0 zp$O-cl!%%6)`>Rz>dJ9(mH5WHPtv|+V<(>3`5Jz>qLre}MxPm(KaFf#T)OcM$xLT3 z9dO*DaSp-v=u{8Bi68EAzmU`)xw?WTIcJ}2AyIJS(9f;L zTd`X{JS$uF9PIrdE79sfEbwM(>pWf3r=t73t|&(V|Kx8ZPA%C-Rn8wFMeK>Q5^?{M zI;%xCt%y%T8-2zc`U_d6S}2cj%l8`AQn=`w7;L2K1fA;oM~5>ZSe~d#R_u$Z@Md-Ke8s1 zBhie2B}FKL;izy;GuysPs0u-3AQ$wc8S7)=s#!3gl~vmC7$s z7xpE;f>+X;*~&77){ml{Vp)icY_aSO%av={#S}j}nF|Z*!!t8nkadY{dUNP;0TMUF z&u;hQ-e%au97UIFFeZ>QqL<&C9tgi4hS<4x;}@+N@^&owHsa$h8^dwjj6gEA=of!| zq-9)KnK2jtB~(n|8&06`E=ndm>8?aur3dOCSGr4 zY*PgyLi0sdE4I#+oi%*=@3BnE)~_6S3wbsO{4jTZH0@cSghPgw#e6=0ij@I;7JZZa z6(=bgeWoRT@yy)#fRbMIGhcpmp=Pu}c0F>6o#FiNS-9p8@S9k24XyqkHL-W6eI`Rt z>oPm*ySj8*NJewX&67FpG%UGU9o$(y?kpV%S!VuW^+xp<$zc7=jcwqbV$(vR@gZgI zv8lD^z~RmAUG0*GK*BvWH8m<*Pma^h#KuS8`uciZGO~<{o}^1ru4URfh)^bI(B8p- z!3fn!@Hp%K*4EV(7+z8$a?pMUf)_{IIGfh;Rz{LX$qJT8k1D7;zBIgGrMg>x|0dz` zj!m`)qmz@~GJo!d@9D)DnlJTqk&}Uu4}$3*m(@M_RT+bV&7zJAGVvr8o8EOMs#R)K z+Ls?B)y!J;lXl8oy}rEs$h@biaCB^?(as0TE$>rj#_srU-&hgeAI{b6ae&c2YcusJ zdtH{}7`D8ykaCQ&be^vs?G>3VGm94$3F{39TRq(MJ#Jg zxTVah6fvujLK-*@A`#IJ?ID+&z9Ns;&k6qG(=(}Il@ZkUd_|AvLMFLw;H(Ld>XLXB z^ik4P2GwRbf>Gxoe`J^ND8re*yf`{Z!;0#`G9^fI$fG^!elt8e+U5G@=EiuDPqWrC zIU_ncnu?vBy@7fa3zLC@B2!*mT)cE^7Bm!of|<&6?$;(-e~w!3O1}i7lT<#K)-vvC z>4IL6mh~w6=sIYTaZ#Qk68x>P$HBwHn+JVB?9H!4m^a<771ydO+ayY=JCT|cOjg@2 zt>FbDhWDZnxGv-_zIUHFO8o8I`GzLW$TP2xSqYd99(?((Swjo=kL?YO%-=oSibeLx zvTaV8pp$%AJ#cN-TelCbMjK=kzG5-pfy`UBFr-FCjm`Q!?L)Yd@|C z9^n>VsNYq#MO`-(AzaGRx^DK{+0H1KT^#S~?cFk2Mqs}cMZ<`xi(s?XWmN3OKhp-A zAsx24v6%X0MnS0ox*uv)(24)8U?$9%QJ~u1egf0p;qA8MNW2V`F5rZJ!G8wLVF5_3 z34Ej)S}*On>_M3kwAqtvRjfyKE~nK-?jdihl5M~beq#BFeOAg~YYGqD}7+)HQ4 zRqpK0;*eOkM#qq@X4~O_#{6eOSRpKK%QTy_cGn zt!JUz^2;KWr#VLIUgGOwx)o(*M@adTZcN7wApzh?2I>vf5iki_R%>;)1?H)4OkQV! zq0bEX!3FCpN)XgGY4Rr7K<`hJk(c*Y7XSBLK|b)P-JYZ+-z3nYh*pr3Lj&?Wa!-=a z&F$?Yt&q@z3#ME5hJA}#u5>)?mO+Xs78jB4oW9cUqdfgwPG{=WdtgX;Q8vhaiy z^N0Zyo}EZjY^jebU&%^g<+n_ib09mZ*jk|@(c|O#e1T7tsWKG=JHY52fDzctyl8l8 z*O>__7Y(4sv`!s|%yVYfCF_uWSM*)cn4`HxOfMw?nJF47H{($w4-ep+4H?(Y|eYd3lR)sSzO|*J{zELh?|r<35J>1tCuM&3$ty8E*On4|A~gpb7L^h?~Gf zr(*u(Eb4pgm||uugY-3(an&E#CCU+(q3+{TPNUZrD{T{l`4*`zMXJw&t*Sl^DAPR22^VKk%_+ zhxOa(sWC{Vm6fQG!?LI`-rFB}ZAJ&wSgPB=jcyT-_OG;DU3nZ{n367DT?s104V@y4 ztLd?KFi?vBY~C$3IBF*Lq7s%OOG+%p^oy!frCy~O+ozys`T!Lb%T2$c$i=#J5GyB=kNTW@7eBX|>Is zs;W68ASChHtvahdgoX^A-aTvt1_mC1aZal*YaRZ+hm@z@;L)I7FfBy}@1UY8VaQ&7 z62P?tdwk=W0ka@(cpsY5dNHMuxUseMq^uf!CsQ4AP11X#q^GyCb#ZZV#2abqFy)YSa1EPN8=}S zRf!K)&hOU&=F$iqoP2B7aO=^#;(+r=^4{ThuGu)d$*{`KH>)OP$#_&Pp`!K2btM{` z&;e^4xlf!b5As*Fb7#N@MHbSQIfQYPR1vlzbw?G*d%C`0xQF#8FFU(^#2W8|iWAB4 ze4bniGe%6AUkjM;s;6dWKV1bgM&UxF3IQREj>P$d`0gE_s9<;Z_CyeiB-W3x-ertl zabOZS>Qg8yDUH8bR_e9Wr=p@_Nn_RP7;g9D=yq+iFuBzpDpaR5m*vQnk1d0wJp zOR%oR#lWpJ-9KjX-ZlNyRELM$f}{5TVH>T zRW_YcQdAfI{2TN^F-+S1~MUt?^p?})hWHYn-EB7HQwCOhFl zx`A_Za%z6`{1x|{f5ceei0Twhu^_wSPVB^uFj!CC#`7Nbw4ueda8J6?U_hOm%@ zGQ@u#Q4kdsw$jcuVm;_gBW>Zdy!;JL|EHMiyTQR}ME>+CP8O*n#rF;Y1awOF^3}yZ zk~6{6aSd9_u(}298LFRSaA`=)a}IvQBj) z4YkNvzYzJEiL~qC3#NmQp-=5#EvvAl(|J!iCWH`9j$pCZq)c~mP1xoeV`0D&W4LNi z4CXgCIv078&b&!^gB;9~9Ca+Ciz;O@XEJWy^5D% zaNplcRAH^?TuKv42IrTk;3OwLLCCNl$;SXzhOKMo#@~0s_CXJ8;MLFP112xr;M{`a z{;xvLE3By|+WT}c)Sy)9P3eRp5JGtoq=Pi+MLN<&N~kuPR6#H{N`%lM(xeIshAIIO z0!RnxO;G7_CVn^H)j2nLcJgHJnYH&?Yu3!3-+#*3vN!4;=Iq{F^jz;CVk9O+>#?Vk zyE~N0ex#@$Rft#Lk^l0=#KW|KYE-F}{;<5P5o11+6!0wL?d_N!#w;)@WtsJn8$Anu!k7FFbv%`L5@EM?hzFC!g|#O0QKtwFA%4%KP+6ZE(Thc33}qdSBY=w?eisHj_IP& zd$T96Q2xE2S5#3T(D78Ew}zD5qu{uPTyfUQ^rtQ8LRzE!8?n9(^nl(QF=+~TE(U&^ zV&w#4(j2)z%N<0qvz{nvb-doZX?ytBa+VU#>I#=N&`Mns%FO&Wp^*Eu%#ayX7)Vaf zg8qIV5r+s1fT%1;yOS`lrZT7Rndh@CshyR&RqS^rRLVU8WDpo~#R?#23r zD?hx|f1AZ;W?i#f24PVf5>8PpmQG`zS_4fe@;2{*bY(rL^GUuQr7(?2?6*>g?H>(g z{fc6(0a0kY-rdBxX^Io-4 z;@a+q4^L6H0>j;avX@7^BNKC9eRo|VCneXV@xqKNnvQp#J)=+>c$-#TcdqWN%y4cb z%e{yC2%i47c1S7t#qIKv@k^`W##hvIx=B9MFcxa}?vQcgOS@K9nOInrWoD}_RQhVg zDrmlOtQIFk4^3aZ=T%$cd$Xq%D^=n(M%@YbOCWWHivd?qW*mriI8l+pBr-jcO^Q$A zQ?Wo^=fnT-xW4B$!M3XOqT7-tc{u)#m$L#xyWoqC?oc{P8y=p&Vltn8C<$&)*Oy;s zO%ZM_P>oV+Aj>P%hE)oN+9ldm6OuYruf8YCBNs0((~WV@;i3!l!l6Q)LG-P>c)_v0 zKKuw;W~iB@&2G~9cGnN>HlKkU{_bm}4{=WK45uOsU61@l`Z355R{bC6h^4JpX=w#HGjkw7ZDavMepV`fozH> z<&6>PL*zTgsq;zrRjX{`QzhCoxy}_jHh{@hzUiu|Fe6vs1Ira}h6KbQG^$?(AbWLb zuR}LXk-kN3HQWisrJf2t-Ul|j2A?{mgB0jk!(s2xE~b$?u@#M64#K+u0x5>6ncNQ& z`PJ-n7IuT@obEexn1^Vt$7<`9r-nJema6}AXxV8O14e$StjEAGXG9~ta|)wEb`V`k zP#2|1fwEiqhq}onqR$$TMWJL?3oHI}S31Hv?zAF4+fIgTAMTNo|FyA{yKe^yNk>0? z8{@0@j>V-Jl&5yKb*A`l3pc~;((a4g!zGjfYo=88FWIKubh{OGr1G zjXMfzWP!0mIY&{e(b^};D}50fRDCCr0!l4GbxbNPhyc~kIpO7rP`bqQ{Z(D(wkIBA z&23Ewt#Vam3I{SciZn12LS1_=aj%x zs_gOwDrcnDJeHrVuw?20Bfwwi^9=_r9uo=a*gDArxP+R{Ie9pZ`r-(tcdTK`XM1CE zb_=UfG(T7iS%dVCyj|*V7!L^P%9+U)hDK)5I6K+78omN0Ap6KR1Donm_BigzY1P%d z((A1H9@xD1w~VtUZ%u4^6`ehjzh**x3!Bb{Eb`m7R)g|<(47-)?)-$GlHR#6 zwh(f;x3apl{wy1R`y zl<_B`8)$qP7@`H$Vgro-4TTno0@|`ls@74Glp#BtHce zl!pq(BdYOI^Okwm^tYd{B943>yqy33XkPt|3LGl<5z!5e1^LY*Po@klP)kaNR_-KN>H-Zuys2!~+oH9L z_ZDbAYIF6uti(xGb1k~BNTi&HN2A)*h)yO%q#=fy!gWCTUrHz*MP+=JZ%Ax@ z5a06B&f6FIW83I<)(v}}sya3v4GzdDhdZUWe9ILNvrd{Jviud&MtCV2t^I|tvg~7J zCAmYAVBgkMB`k=zSQCOJd{$)`uySv|ivNbRJ~|ar-g+^%QY}VX6%-k8DKW@7-sxAB ziouQZfZ#z63l*#epKi0g(+~)h z+!ZM`M8DYIOy?jyzU!j>`O|Vmkabj=8u`@rU6=r}M!v;627INIAp0A?=VqyZZ=r)+J)_N&%!L?8?NU1JH@8XF3#V?=Ste@MADO)C@z)f{7xlc z=lK}S-ldNGAe2RXM`coeg!tUwdBDZ;<=1G4P5bUy`J}&D4s5xVSa>YIR#bFqY2Ij@ zsn)unMS6bq(|-(`XI&G!J&6X?j$EruDun<<$S-@JD%G|xspIa2^s;>Vh7x2J8hiU44V!VxU3to8wNwQz7^S2qjR410TeIyU@}ghC*jR|^)dSgXN>Dv4!niuc2s z8d)HO@K)}_Hh@env9Q!DL4QZIMg9EDR&q`LjfuWKQP#_Q%ogmOUa7^a`IsVb>?1FU z-9g=&J2)vVRX$=zw$I`L2WA{miNP%EW+KtY#}PmiQqRz^Yw;&Z;9SRptQl_AX?RFT zi03{u1%{cn;UzYXQH}hw3n14ZK>zN8eegj5A_ny109rdatA~EN{Bm)6eN92_N zI!Pp;iQryEMGD|qN$Gp%6#cnGMMb;1y1-f& zMPFYZP#JyyFAI;qMS>euU>DGqouAJ~#lY1At^ru1gQq@n9s_*x^3O=gsbm7@G{nTk zCjeFHSp6Kx(Os|<2CO*X0FE0q(Lhut4y^vphvpr}d|Vql0$}snSmov6;bHs0kCXu2 zNlTV$E-`AS1`Ua|2okNo#K{@4dENBGEfBaav0~_$#b*+>u*YAazL82|fMU zoo-)URfTD2XwW;!^?w5-Pk6#SS)Eq~-w@U1j3ztTT_-bDUn+umKqw#xZvqEs+4+!M zRs#SEK(iumo#{D9v4Iy<@I^S_XNqfTGQWN`v&aTe{WI`xrs1~^c#IIJy+dEHKGVj`caDt9%ZA7Bh7O=;h^mH}oi0%(k( zp_>REMps;lcd?0A3e0n5Cy#@}bpYuCWEg9;+#J9nzQ&*G%1U>@iUAnlEAX${7$@+i z1EA`kgI>#3nL9Wbf#v`_q2n0aps%lgbM!l)A!J|vx&eaQAXMiYyDQmJU{SO=h{>%A z0(hyyFCR5Ukz+z8Z@N%XXhwW>6oAN~(gIf=*s diff --git a/docs/manual/hierarchy.html b/docs/manual/hierarchy.html deleted file mode 100644 index 5b7dbca..0000000 --- a/docs/manual/hierarchy.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -BayesNet: Class Hierarchy - - - - - - - - - - - - - - - -

-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Class Hierarchy
-
- -
- - - - diff --git a/docs/manual/hierarchy.js b/docs/manual/hierarchy.js deleted file mode 100644 index 5202a5c..0000000 --- a/docs/manual/hierarchy.js +++ /dev/null @@ -1,34 +0,0 @@ -var hierarchy = -[ - [ "bayesnet::BaseClassifier", "classbayesnet_1_1_base_classifier.html", [ - [ "bayesnet::Classifier", "classbayesnet_1_1_classifier.html", [ - [ "bayesnet::Ensemble", "classbayesnet_1_1_ensemble.html", [ - [ "bayesnet::A2DE", "classbayesnet_1_1_a2_d_e.html", null ], - [ "bayesnet::AODE", "classbayesnet_1_1_a_o_d_e.html", null ], - [ "bayesnet::AODELd", "classbayesnet_1_1_a_o_d_e_ld.html", null ], - [ "bayesnet::Boost", "classbayesnet_1_1_boost.html", [ - [ "bayesnet::BoostA2DE", "classbayesnet_1_1_boost_a2_d_e.html", null ], - [ "bayesnet::BoostAODE", "classbayesnet_1_1_boost_a_o_d_e.html", null ] - ] ] - ] ], - [ "bayesnet::KDB", "classbayesnet_1_1_k_d_b.html", [ - [ "bayesnet::KDBLd", "classbayesnet_1_1_k_d_b_ld.html", null ] - ] ], - [ "bayesnet::SPODE", "classbayesnet_1_1_s_p_o_d_e.html", [ - [ "bayesnet::SPODELd", "classbayesnet_1_1_s_p_o_d_e_ld.html", null ] - ] ], - [ "bayesnet::SPnDE", "classbayesnet_1_1_s_pn_d_e.html", null ], - [ "bayesnet::TAN", "classbayesnet_1_1_t_a_n.html", [ - [ "bayesnet::TANLd", "classbayesnet_1_1_t_a_n_ld.html", null ] - ] ] - ] ] - ] ], - [ "bayesnet::Network", "classbayesnet_1_1_network.html", null ], - [ "bayesnet::Node", "classbayesnet_1_1_node.html", null ], - [ "bayesnet::Proposal", "classbayesnet_1_1_proposal.html", [ - [ "bayesnet::AODELd", "classbayesnet_1_1_a_o_d_e_ld.html", null ], - [ "bayesnet::KDBLd", "classbayesnet_1_1_k_d_b_ld.html", null ], - [ "bayesnet::SPODELd", "classbayesnet_1_1_s_p_o_d_e_ld.html", null ], - [ "bayesnet::TANLd", "classbayesnet_1_1_t_a_n_ld.html", null ] - ] ] -]; \ No newline at end of file diff --git a/docs/manual/index.html b/docs/manual/index.html deleted file mode 100644 index fe22924..0000000 --- a/docs/manual/index.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -BayesNet: Main Page - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
BayesNet Documentation
-
-
- -
-
- - - - diff --git a/docs/manual/inherit_graph_0.map b/docs/manual/inherit_graph_0.map deleted file mode 100644 index d8b0322..0000000 --- a/docs/manual/inherit_graph_0.map +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/manual/inherit_graph_0.md5 b/docs/manual/inherit_graph_0.md5 deleted file mode 100644 index 6b3e630..0000000 --- a/docs/manual/inherit_graph_0.md5 +++ /dev/null @@ -1 +0,0 @@ -1a07b7de87ded37a8a348204931028c0 \ No newline at end of file diff --git a/docs/manual/inherit_graph_0.png b/docs/manual/inherit_graph_0.png deleted file mode 100644 index e413ba93aa4d7569bc4b68876f171b64ca2aa0e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44422 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

$m`d; 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

%EN?MJq!uD5qampET`;>AHOfvigEA(d3=LUu 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 diff --git a/docs/manual/inherit_graph_1.map b/docs/manual/inherit_graph_1.map deleted file mode 100644 index c129322..0000000 --- a/docs/manual/inherit_graph_1.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/manual/inherit_graph_1.md5 b/docs/manual/inherit_graph_1.md5 deleted file mode 100644 index ed1e310..0000000 --- a/docs/manual/inherit_graph_1.md5 +++ /dev/null @@ -1 +0,0 @@ -65918d135faed85a5d80296a021b4cf3 \ No newline at end of file diff --git a/docs/manual/inherit_graph_1.png b/docs/manual/inherit_graph_1.png deleted file mode 100644 index f36291a4f90163f7ced46ce456a2073db38fb6bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2310 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 diff --git a/docs/manual/inherit_graph_2.map b/docs/manual/inherit_graph_2.map deleted file mode 100644 index 6791d6e..0000000 --- a/docs/manual/inherit_graph_2.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/manual/inherit_graph_2.md5 b/docs/manual/inherit_graph_2.md5 deleted file mode 100644 index 81f8e6e..0000000 --- a/docs/manual/inherit_graph_2.md5 +++ /dev/null @@ -1 +0,0 @@ -75f111cd5e54a47afb7579e7ca08bb41 \ No newline at end of file diff --git a/docs/manual/inherit_graph_2.png b/docs/manual/inherit_graph_2.png deleted file mode 100644 index 9b58930bddb0bf915ff834db73eee358fa311888..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2036 zcmVFq zNF>@S5{YjAd$t4?kpBR<^K)TB;NxUxXD_%LfrTSBHg?jw_+R!Ru*e93FENC`ml#6e zOAI0KC590A6622pfA{Vkl9H0YqLP7$rUcEY@o}ZtO+qdWTXN>&(d=wWK|EaZU z`QyO5ySs7o=FR!=vZ#1?c%Z7PYS!yBGcyqv7l)@$pBmL4Ja~Xdj~>m*Lv?jEYHDic zw0E}5>qq*)zyQ8{`7-I;=g*%(^0zfL8V&S%{e-$+uSa)x_mum_#>Sx0XlAY1-`@|N zPWM~h+}+&~8ykz!(a~wwkwjZt8-|C6C!HS}8k%zNRQEqu<|Xja(NU;WD#&Cq*x1-$ z-@bj&YPA4>%F0T(xw*mB)fFM`g(YJdcwiM z0d{tFNJ&XCe8Z%sro!3T8LqCbaCCG;b#*m>AMM4;$_iJmT!B<7g`J%pwr}5#fq{W( zH8*bDh@PGv?A^N;H*VYj0HmjMkapn!V4o?TsCw6wHjU0ogT+_^(rTU+XMI+A2%WhJew ztT;S8%&%X+QZASC^y$+a92{g@TN|C7otd4T&F1E2+Su4oqtQ^O)A8K7bKJUhD@n4s zxtRbM78XXWR?FJjTFPWH-nw;bT1}E%v0?=)Dk=>3RZ&sFjEsya$0jBwtg5Qw-Me>b zVPV16)>e{aR8$mIDiukxv$K;DiG*ckWhBY2t}Z$|JM+?|OB@;+qC_HLT3Q-48Vz%D zatMHliHS3MoeeQDF^rCm4qLFmTUuHSwUZ}L(%ajcV`F1{{rWZadOdr3dRSFeMSFXD z=H=yaczBprR#t|G9336a!-o%(By)3fX=i6gwOUQBR!gl`%jD!_?%cVPZ{NP9nVA{W z)6@Ck!w2g1dVc%%%_#8khfk8Bp`ko=>eRHFJUR62s}XrKJU0trqLouQ$4m zr>7^@u3d|qoE%)ZZ~;k4N$~LSKx%3#LPJ9h>y|HHZunXvkwB-@O{@8*WMyT+-QC^L zj>c(iZH14Ik5NsbP@t%&2oE1Vgs-o!(cJjjh4eZvf%o?IVq|0lrlzI=4sGKHm&V3M6c-mG zJUkq2ZEdizv4N|rD*&LRqy#N3Ert;M{QO{UZjOY61Vlzg8iLxfV+Yh~HS+TEKoafk z?Fb4ALP0?R>gwtc5)y*`{(eZMQUnDB&FU08ohAU7nwlC8cK}dRQ-l2c{3*x35*HT- zCnqP|yLZn}+r4`?UcP*Zva&J&KYkM^FE2-UcsPQCgYoLsD-;$Mf+QY4evJD1`dN9M zSLV{gSFc{ppr9biWHO4yVn#+rQm4~#WMqVXetwinrBo;sjEIO}OiT>raydIYJ4upB zNl662H*ek;>E`9-(Za%lD_5?hsi`TWqN4cy`*)6xj?&lHmu6;W^z!nei;D}dUAso| zpB_Hm(@8QSB7%vDiPLJ5ZcGwA#}{<(*b)7aQZ6B83d4=2g= z^mLk-n9#+=g;rKpjE#-u$jAsuGA%8QVzHQVxtwd(tYKtip5x8gtfIbyuH0Aos&wX zkV>VK&Q0fat}NQillJy@#K*_u=+UDH4h~){8%vIP{R#galu9LPYik$l@=F%s_2?2q z2z-el1ir)&{x5xrF(GiVSlpr4>kI4Z>K4O~z&s)ri#ujsB_JRmARr*{H}F5M@Tq0W S8KN8j0000 - - - - - - -BayesNet: Class Hierarchy - - - - - - - - - - - - - - - -

-
- - - - - - - -
-
BayesNet 1.0.5 -
-
Bayesian Network Classifiers using libtorch from scratch
-
-
- - - - - - - - -
-
- -
-
-
- -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Class Hierarchy
-
-
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-
-
- - - - diff --git a/docs/manual/jquery.js b/docs/manual/jquery.js deleted file mode 100644 index 1dffb65..0000000 --- a/docs/manual/jquery.js +++ /dev/null @@ -1,34 +0,0 @@ -/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 - * http://www.smartmenus.org/ - * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/docs/manual/logo_small.png b/docs/manual/logo_small.png deleted file mode 100644 index 33030fb11384d32caec8eaba448fd38584424a07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10855 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'+ - data.children[i].text+''+ - makeTree(data.children[i],relPath)+''; - } - result+=''; - } - return result; - } - let searchBoxHtml; - if (searchEnabled) { - if (serverSide) { - searchBoxHtml='
'+ - '
'+ - '
 '+ - ''+ - '
'+ - '
'+ - '
'+ - '
'; - } else { - searchBoxHtml='
'+ - ''+ - ' '+ - ''+ - ''+ - ''+ - ''+ - ''+ - '
'; - } - } - - $('#main-nav').before('
'+ - ''+ - ''+ - '
'); - $('#main-nav').append(makeTree(menudata,relPath)); - $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); - if (searchBoxHtml) { - $('#main-menu').append('
  • '); - } - const $mainMenuState = $('#main-menu-state'); - let prevWidth = 0; - if ($mainMenuState.length) { - const initResizableIfExists = function() { - if (typeof initResizable==='function') initResizable(treeview); - } - // animate mobile menu - $mainMenuState.change(function() { - const $menu = $('#main-menu'); - let options = { duration: 250, step: initResizableIfExists }; - if (this.checked) { - options['complete'] = () => $menu.css('display', 'block'); - $menu.hide().slideDown(options); - } else { - options['complete'] = () => $menu.css('display', 'none'); - $menu.show().slideUp(options); - } - }); - // set default menu visibility - const resetState = function() { - const $menu = $('#main-menu'); - const newWidth = $(window).outerWidth(); - if (newWidth!=prevWidth) { - if ($(window).outerWidth()<768) { - $mainMenuState.prop('checked',false); $menu.hide(); - $('#searchBoxPos1').html(searchBoxHtml); - $('#searchBoxPos2').hide(); - } else { - $menu.show(); - $('#searchBoxPos1').empty(); - $('#searchBoxPos2').html(searchBoxHtml); - $('#searchBoxPos2').show(); - } - if (typeof searchBox!=='undefined') { - searchBox.CloseResultsWindow(); - } - prevWidth = newWidth; - } - } - $(window).ready(function() { resetState(); initResizableIfExists(); }); - $(window).resize(resetState); - } - $('#main-menu').smartmenus(); -} -/* @license-end */ diff --git a/docs/manual/menudata.js b/docs/manual/menudata.js deleted file mode 100644 index 1cdd58f..0000000 --- a/docs/manual/menudata.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file -*/ -var menudata={children:[ -{text:"Main Page",url:"index.html"}, -{text:"Classes",url:"annotated.html",children:[ -{text:"Class List",url:"annotated.html"}, -{text:"Class Index",url:"classes.html"}, -{text:"Class Hierarchy",url:"inherits.html"}]}, -{text:"Files",url:"files.html",children:[ -{text:"File List",url:"files.html"}]}]} diff --git a/docs/manual/minus.svg b/docs/manual/minus.svg deleted file mode 100644 index f70d0c1..0000000 --- a/docs/manual/minus.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/manual/minusd.svg b/docs/manual/minusd.svg deleted file mode 100644 index 5f8e879..0000000 --- a/docs/manual/minusd.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/manual/nav_f.png b/docs/manual/nav_f.png deleted file mode 100644 index 72a58a529ed3a9ed6aa0c51a79cf207e026deee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U diff --git a/docs/manual/nav_fd.png b/docs/manual/nav_fd.png deleted file mode 100644 index 032fbdd4c54f54fa9a2e6423b94ef4b2ebdfaceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQU#tajv*C{Z|C~*H7f|XvG1G8 zt7aS*L7xwMeS}!z6R#{C5tIw-s~AJ==F^i}x3XyJseHR@yF& zerFf(Zf;Dd{+(0lDIROL@Sj-Ju2JQ8&-n%4%q?>|^bShc&lR?}7HeMo@BDl5N(aHY Uj$gdr1MOz;boFyt=akR{0D!zeaR2}S diff --git a/docs/manual/nav_g.png b/docs/manual/nav_g.png deleted file mode 100644 index 2093a237a94f6c83e19ec6e5fd42f7ddabdafa81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL6W-eg#Jd_@e6*DPn)w;=|1H}Zvm9l6xXXB%>yL=NQU;mg M>FVdQ&MBb@0Bdt1Qvd(} diff --git a/docs/manual/navtree.css b/docs/manual/navtree.css deleted file mode 100644 index 69211d4..0000000 --- a/docs/manual/navtree.css +++ /dev/null @@ -1,149 +0,0 @@ -#nav-tree .children_ul { - margin:0; - padding:4px; -} - -#nav-tree ul { - list-style:none outside none; - margin:0px; - padding:0px; -} - -#nav-tree li { - white-space:nowrap; - margin:0px; - padding:0px; -} - -#nav-tree .plus { - margin:0px; -} - -#nav-tree .selected { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: var(--nav-text-active-color); - text-shadow: var(--nav-text-active-shadow); -} - -#nav-tree .selected .arrow { - color: var(--nav-arrow-selected-color); - text-shadow: none; -} - -#nav-tree img { - margin:0px; - padding:0px; - border:0px; - vertical-align: middle; -} - -#nav-tree a { - text-decoration:none; - padding:0px; - margin:0px; -} - -#nav-tree .label { - margin:0px; - padding:0px; - font: 12px var(--font-family-nav); -} - -#nav-tree .label a { - padding:2px; -} - -#nav-tree .selected a { - text-decoration:none; - color:var(--nav-text-active-color); -} - -#nav-tree .children_ul { - margin:0px; - padding:0px; -} - -#nav-tree .item { - margin:0px; - padding:0px; -} - -#nav-tree { - padding: 0px 0px; - font-size:14px; - overflow:auto; -} - -#doc-content { - overflow:auto; - display:block; - padding:0px; - margin:0px; - -webkit-overflow-scrolling : touch; /* iOS 5+ */ -} - -#side-nav { - padding:0 6px 0 0; - margin: 0px; - display:block; - position: absolute; - left: 0px; - width: $width; - overflow : hidden; -} - -.ui-resizable .ui-resizable-handle { - display:block; -} - -.ui-resizable-e { - background-image:var(--nav-splitbar-image); - background-size:100%; - background-repeat:repeat-y; - background-attachment: scroll; - cursor:ew-resize; - height:100%; - right:0; - top:0; - width:6px; -} - -.ui-resizable-handle { - display:none; - font-size:0.1px; - position:absolute; - z-index:1; -} - -#nav-tree-contents { - margin: 6px 0px 0px 0px; -} - -#nav-tree { - background-repeat:repeat-x; - background-color: var(--nav-background-color); - -webkit-overflow-scrolling : touch; /* iOS 5+ */ -} - -#nav-sync { - position:absolute; - top:5px; - right:24px; - z-index:0; -} - -#nav-sync img { - opacity:0.3; -} - -#nav-sync img:hover { - opacity:0.9; -} - -@media print -{ - #nav-tree { display: none; } - div.ui-resizable-handle { display: none; position: relative; } -} - diff --git a/docs/manual/navtree.js b/docs/manual/navtree.js deleted file mode 100644 index 9027ce6..0000000 --- a/docs/manual/navtree.js +++ /dev/null @@ -1,483 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ - -function initNavTree(toroot,relpath) { - let navTreeSubIndices = []; - const ARROW_DOWN = '▼'; - const ARROW_RIGHT = '►'; - const NAVPATH_COOKIE_NAME = ''+'navpath'; - - const getData = function(varName) { - const i = varName.lastIndexOf('/'); - const n = i>=0 ? varName.substring(i+1) : varName; - return eval(n.replace(/-/g,'_')); - } - - const stripPath = function(uri) { - return uri.substring(uri.lastIndexOf('/')+1); - } - - const stripPath2 = function(uri) { - const i = uri.lastIndexOf('/'); - const s = uri.substring(i+1); - const m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); - return m ? uri.substring(i-6) : s; - } - - const hashValue = function() { - return $(location).attr('hash').substring(1).replace(/[^\w-]/g,''); - } - - const hashUrl = function() { - return '#'+hashValue(); - } - - const pathName = function() { - return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;()]/g, ''); - } - - const storeLink = function(link) { - if (!$("#nav-sync").hasClass('sync')) { - Cookie.writeSetting(NAVPATH_COOKIE_NAME,link,0); - } - } - - const deleteLink = function() { - Cookie.eraseSetting(NAVPATH_COOKIE_NAME); - } - - const cachedLink = function() { - return Cookie.readSetting(NAVPATH_COOKIE_NAME,''); - } - - const getScript = function(scriptName,func) { - const head = document.getElementsByTagName("head")[0]; - const script = document.createElement('script'); - script.id = scriptName; - script.type = 'text/javascript'; - script.onload = func; - script.src = scriptName+'.js'; - head.appendChild(script); - } - - const createIndent = function(o,domNode,node) { - let level=-1; - let n = node; - while (n.parentNode) { level++; n=n.parentNode; } - if (node.childrenData) { - const imgNode = document.createElement("span"); - imgNode.className = 'arrow'; - imgNode.style.paddingLeft=(16*level).toString()+'px'; - imgNode.innerHTML=ARROW_RIGHT; - node.plus_img = imgNode; - node.expandToggle = document.createElement("a"); - node.expandToggle.href = "javascript:void(0)"; - node.expandToggle.onclick = function() { - if (node.expanded) { - $(node.getChildrenUL()).slideUp("fast"); - node.plus_img.innerHTML=ARROW_RIGHT; - node.expanded = false; - } else { - expandNode(o, node, false, true); - } - } - node.expandToggle.appendChild(imgNode); - domNode.appendChild(node.expandToggle); - } else { - let span = document.createElement("span"); - span.className = 'arrow'; - span.style.width = 16*(level+1)+'px'; - span.innerHTML = ' '; - domNode.appendChild(span); - } - } - - let animationInProgress = false; - - const gotoAnchor = function(anchor,aname) { - let pos, docContent = $('#doc-content'); - let ancParent = $(anchor.parent()); - if (ancParent.hasClass('memItemLeft') || ancParent.hasClass('memtitle') || - ancParent.hasClass('fieldname') || ancParent.hasClass('fieldtype') || - ancParent.is(':header')) { - pos = ancParent.position().top; - } else if (anchor.position()) { - pos = anchor.position().top; - } - if (pos) { - const dcOffset = docContent.offset().top; - const dcHeight = docContent.height(); - const dcScrHeight = docContent[0].scrollHeight - const dcScrTop = docContent.scrollTop(); - let dist = Math.abs(Math.min(pos-dcOffset,dcScrHeight-dcHeight-dcScrTop)); - animationInProgress = true; - docContent.animate({ - scrollTop: pos + dcScrTop - dcOffset - },Math.max(50,Math.min(500,dist)),function() { - animationInProgress=false; - if (anchor.parent().attr('class')=='memItemLeft') { - let rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); - glowEffect(rows.children(),300); // member without details - } else if (anchor.parent().attr('class')=='fieldname') { - glowEffect(anchor.parent().parent(),1000); // enum value - } else if (anchor.parent().attr('class')=='fieldtype') { - glowEffect(anchor.parent().parent(),1000); // struct field - } else if (anchor.parent().is(":header")) { - glowEffect(anchor.parent(),1000); // section header - } else { - glowEffect(anchor.next(),1000); // normal member - } - }); - } - } - - const newNode = function(o, po, text, link, childrenData, lastNode) { - const node = { - children : [], - childrenData : childrenData, - depth : po.depth + 1, - relpath : po.relpath, - isLast : lastNode, - li : document.createElement("li"), - parentNode : po, - itemDiv : document.createElement("div"), - labelSpan : document.createElement("span"), - label : document.createTextNode(text), - expanded : false, - childrenUL : null, - getChildrenUL : function() { - if (!this.childrenUL) { - this.childrenUL = document.createElement("ul"); - this.childrenUL.className = "children_ul"; - this.childrenUL.style.display = "none"; - this.li.appendChild(node.childrenUL); - } - return node.childrenUL; - }, - }; - - node.itemDiv.className = "item"; - node.labelSpan.className = "label"; - createIndent(o,node.itemDiv,node); - node.itemDiv.appendChild(node.labelSpan); - node.li.appendChild(node.itemDiv); - - const a = document.createElement("a"); - node.labelSpan.appendChild(a); - po.getChildrenUL().appendChild(node.li); - a.appendChild(node.label); - if (link) { - let url; - if (link.substring(0,1)=='^') { - url = link.substring(1); - link = url; - } else { - url = node.relpath+link; - } - a.className = stripPath(link.replace('#',':')); - if (link.indexOf('#')!=-1) { - const aname = '#'+link.split('#')[1]; - const srcPage = stripPath(pathName()); - const targetPage = stripPath(link.split('#')[0]); - a.href = srcPage!=targetPage ? url : aname; - a.onclick = function() { - storeLink(link); - aPPar = $(a).parent().parent(); - if (!aPPar.hasClass('selected')) { - $('.item').removeClass('selected'); - $('.item').removeAttr('id'); - aPPar.addClass('selected'); - aPPar.attr('id','selected'); - } - const anchor = $(aname); - gotoAnchor(anchor,aname); - }; - } else { - a.href = url; - a.onclick = () => storeLink(link); - } - } else if (childrenData != null) { - a.className = "nolink"; - a.href = "javascript:void(0)"; - a.onclick = node.expandToggle.onclick; - } - return node; - } - - const showRoot = function() { - const headerHeight = $("#top").height(); - const footerHeight = $("#nav-path").height(); - const windowHeight = $(window).height() - headerHeight - footerHeight; - (function() { // retry until we can scroll to the selected item - try { - const navtree=$('#nav-tree'); - navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); - } catch (err) { - setTimeout(arguments.callee, 0); - } - })(); - } - - const expandNode = function(o, node, imm, setFocus) { - if (node.childrenData && !node.expanded) { - if (typeof(node.childrenData)==='string') { - const varName = node.childrenData; - getScript(node.relpath+varName,function() { - node.childrenData = getData(varName); - expandNode(o, node, imm, setFocus); - }); - } else { - if (!node.childrenVisited) { - getNode(o, node); - } - $(node.getChildrenUL()).slideDown("fast"); - node.plus_img.innerHTML = ARROW_DOWN; - node.expanded = true; - if (setFocus) { - $(node.expandToggle).focus(); - } - } - } - } - - const glowEffect = function(n,duration) { - n.addClass('glow').delay(duration).queue(function(next) { - $(this).removeClass('glow');next(); - }); - } - - const highlightAnchor = function() { - const aname = hashUrl(); - const anchor = $(aname); - gotoAnchor(anchor,aname); - } - - const selectAndHighlight = function(hash,n) { - let a; - if (hash) { - const link=stripPath(pathName())+':'+hash.substring(1); - a=$('.item a[class$="'+link+'"]'); - } - if (a && a.length) { - a.parent().parent().addClass('selected'); - a.parent().parent().attr('id','selected'); - highlightAnchor(); - } else if (n) { - $(n.itemDiv).addClass('selected'); - $(n.itemDiv).attr('id','selected'); - } - let topOffset=5; - if ($('#nav-tree-contents .item:first').hasClass('selected')) { - topOffset+=25; - } - $('#nav-sync').css('top',topOffset+'px'); - showRoot(); - } - - const showNode = function(o, node, index, hash) { - if (node && node.childrenData) { - if (typeof(node.childrenData)==='string') { - const varName = node.childrenData; - getScript(node.relpath+varName,function() { - node.childrenData = getData(varName); - showNode(o,node,index,hash); - }); - } else { - if (!node.childrenVisited) { - getNode(o, node); - } - $(node.getChildrenUL()).css({'display':'block'}); - node.plus_img.innerHTML = ARROW_DOWN; - node.expanded = true; - const n = node.children[o.breadcrumbs[index]]; - if (index+11 ? '#'+parts[1].replace(/[^\w-]/g,'') : ''; - } - if (hash.match(/^#l\d+$/)) { - const anchor=$('a[name='+hash.substring(1)+']'); - glowEffect(anchor.parent(),1000); // line number - hash=''; // strip line number anchors - } - const url=root+hash; - let i=-1; - while (NAVTREEINDEX[i+1]<=url) i++; - if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath) - } else { - getScript(relpath+'navtreeindex'+i,function() { - navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath); - } - }); - } - } - - const showSyncOff = function(n,relpath) { - n.html(''); - } - - const showSyncOn = function(n,relpath) { - n.html(''); - } - - const o = { - toroot : toroot, - node : { - childrenData : NAVTREE, - children : [], - childrenUL : document.createElement("ul"), - getChildrenUL : function() { return this.childrenUL }, - li : document.getElementById("nav-tree-contents"), - depth : 0, - relpath : relpath, - expanded : false, - isLast : true, - plus_img : document.createElement("span"), - }, - }; - o.node.li.appendChild(o.node.childrenUL); - o.node.plus_img.className = 'arrow'; - o.node.plus_img.innerHTML = ARROW_RIGHT; - - const navSync = $('#nav-sync'); - if (cachedLink()) { - showSyncOff(navSync,relpath); - navSync.removeClass('sync'); - } else { - showSyncOn(navSync,relpath); - } - - navSync.click(() => { - const navSync = $('#nav-sync'); - if (navSync.hasClass('sync')) { - navSync.removeClass('sync'); - showSyncOff(navSync,relpath); - storeLink(stripPath2(pathName())+hashUrl()); - } else { - navSync.addClass('sync'); - showSyncOn(navSync,relpath); - deleteLink(); - } - }); - - navTo(o,toroot,hashUrl(),relpath); - showRoot(); - - $(window).bind('hashchange', () => { - if (!animationInProgress) { - if (window.location.hash && window.location.hash.length>1) { - let a; - if ($(location).attr('hash')) { - const clslink=stripPath(pathName())+':'+hashValue(); - a=$('.item a[class$="'+clslink.replace(/1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM - - - - - - - - diff --git a/docs/manual/plusd.svg b/docs/manual/plusd.svg deleted file mode 100644 index 0c65bfe..0000000 --- a/docs/manual/plusd.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/resize.js b/docs/manual/resize.js deleted file mode 100644 index 7d8cdc7..0000000 --- a/docs/manual/resize.js +++ /dev/null @@ -1,145 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ - -function initResizable(treeview) { - let sidenav,navtree,content,header,footer,barWidth=6; - const RESIZE_COOKIE_NAME = ''+'width'; - - function resizeWidth() { - const sidenavWidth = $(sidenav).outerWidth(); - content.css({marginLeft:parseInt(sidenavWidth)+"px"}); - if (typeof page_layout!=='undefined' && page_layout==1) { - footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); - } - Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); - } - - function restoreWidth(navWidth) { - content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); - if (typeof page_layout!=='undefined' && page_layout==1) { - footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); - } - sidenav.css({width:navWidth + "px"}); - } - - function resizeHeight(treeview) { - const headerHeight = header.outerHeight(); - const windowHeight = $(window).height(); - let contentHeight; - if (treeview) - { - const footerHeight = footer.outerHeight(); - let navtreeHeight,sideNavHeight; - if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ - contentHeight = windowHeight - headerHeight - footerHeight; - navtreeHeight = contentHeight; - sideNavHeight = contentHeight; - } else if (page_layout==1) { /* DISABLE_INDEX=YES */ - contentHeight = windowHeight - footerHeight; - navtreeHeight = windowHeight - headerHeight; - sideNavHeight = windowHeight; - } - navtree.css({height:navtreeHeight + "px"}); - sidenav.css({height:sideNavHeight + "px"}); - } - else - { - contentHeight = windowHeight - headerHeight; - } - content.css({height:contentHeight + "px"}); - if (location.hash.slice(1)) { - (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); - } - } - - function collapseExpand() { - let newWidth; - if (sidenav.width()>0) { - newWidth=0; - } else { - const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); - newWidth = (width>250 && width<$(window).width()) ? width : 250; - } - restoreWidth(newWidth); - const sidenavWidth = $(sidenav).outerWidth(); - Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); - } - - header = $("#top"); - content = $("#doc-content"); - footer = $("#nav-path"); - sidenav = $("#side-nav"); - if (!treeview) { -// title = $("#titlearea"); -// titleH = $(title).height(); -// let animating = false; -// content.on("scroll", function() { -// slideOpts = { duration: 200, -// step: function() { -// contentHeight = $(window).height() - header.outerHeight(); -// content.css({ height : contentHeight + "px" }); -// }, -// done: function() { animating=false; } -// }; -// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) { -// title.slideUp(slideOpts); -// animating=true; -// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) { -// title.slideDown(slideOpts); -// animating=true; -// } -// }); - } else { - navtree = $("#nav-tree"); - $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); - $(sidenav).resizable({ minWidth: 0 }); - } - $(window).resize(function() { resizeHeight(treeview); }); - if (treeview) - { - const device = navigator.userAgent.toLowerCase(); - const touch_device = device.match(/(iphone|ipod|ipad|android)/); - if (touch_device) { /* wider split bar for touch only devices */ - $(sidenav).css({ paddingRight:'20px' }); - $('.ui-resizable-e').css({ width:'20px' }); - $('#nav-sync').css({ right:'34px' }); - barWidth=20; - } - const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); - if (width) { restoreWidth(width); } else { resizeWidth(); } - } - resizeHeight(treeview); - const url = location.href; - const i=url.indexOf("#"); - if (i>=0) window.location.hash=url.substr(i); - const _preventDefault = function(evt) { evt.preventDefault(); }; - if (treeview) - { - $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); - } - $(window).on('load',resizeHeight); -} -/* @license-end */ diff --git a/docs/manual/search/all_0.js b/docs/manual/search/all_0.js deleted file mode 100644 index dc433d2..0000000 --- a/docs/manual/search/all_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['a2de_0',['A2DE',['../classbayesnet_1_1_a2_d_e.html',1,'bayesnet']]], - ['aode_1',['AODE',['../classbayesnet_1_1_a_o_d_e.html',1,'bayesnet']]], - ['aodeld_2',['AODELd',['../classbayesnet_1_1_a_o_d_e_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_1.js b/docs/manual/search/all_1.js deleted file mode 100644 index 52180aa..0000000 --- a/docs/manual/search/all_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['baseclassifier_0',['BaseClassifier',['../classbayesnet_1_1_base_classifier.html',1,'bayesnet']]], - ['boost_1',['Boost',['../classbayesnet_1_1_boost.html',1,'bayesnet']]], - ['boosta2de_2',['BoostA2DE',['../classbayesnet_1_1_boost_a2_d_e.html',1,'bayesnet']]], - ['boostaode_3',['BoostAODE',['../classbayesnet_1_1_boost_a_o_d_e.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_2.js b/docs/manual/search/all_2.js deleted file mode 100644 index 6aed91c..0000000 --- a/docs/manual/search/all_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['classifier_0',['Classifier',['../classbayesnet_1_1_classifier.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_3.js b/docs/manual/search/all_3.js deleted file mode 100644 index f513172..0000000 --- a/docs/manual/search/all_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['ensemble_0',['Ensemble',['../classbayesnet_1_1_ensemble.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_4.js b/docs/manual/search/all_4.js deleted file mode 100644 index 721cf82..0000000 --- a/docs/manual/search/all_4.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['kdb_0',['KDB',['../classbayesnet_1_1_k_d_b.html',1,'bayesnet']]], - ['kdbld_1',['KDBLd',['../classbayesnet_1_1_k_d_b_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_5.js b/docs/manual/search/all_5.js deleted file mode 100644 index 5efa2bd..0000000 --- a/docs/manual/search/all_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['network_0',['Network',['../classbayesnet_1_1_network.html',1,'bayesnet']]], - ['node_1',['Node',['../classbayesnet_1_1_node.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_6.js b/docs/manual/search/all_6.js deleted file mode 100644 index 4e9c1ce..0000000 --- a/docs/manual/search/all_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['proposal_0',['Proposal',['../classbayesnet_1_1_proposal.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_7.js b/docs/manual/search/all_7.js deleted file mode 100644 index 3c7da60..0000000 --- a/docs/manual/search/all_7.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['spnde_0',['SPnDE',['../classbayesnet_1_1_s_pn_d_e.html',1,'bayesnet']]], - ['spode_1',['SPODE',['../classbayesnet_1_1_s_p_o_d_e.html',1,'bayesnet']]], - ['spodeld_2',['SPODELd',['../classbayesnet_1_1_s_p_o_d_e_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/all_8.js b/docs/manual/search/all_8.js deleted file mode 100644 index 59e0076..0000000 --- a/docs/manual/search/all_8.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['tan_0',['TAN',['../classbayesnet_1_1_t_a_n.html',1,'bayesnet']]], - ['tanld_1',['TANLd',['../classbayesnet_1_1_t_a_n_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_0.js b/docs/manual/search/classes_0.js deleted file mode 100644 index dc433d2..0000000 --- a/docs/manual/search/classes_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['a2de_0',['A2DE',['../classbayesnet_1_1_a2_d_e.html',1,'bayesnet']]], - ['aode_1',['AODE',['../classbayesnet_1_1_a_o_d_e.html',1,'bayesnet']]], - ['aodeld_2',['AODELd',['../classbayesnet_1_1_a_o_d_e_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_1.js b/docs/manual/search/classes_1.js deleted file mode 100644 index 52180aa..0000000 --- a/docs/manual/search/classes_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['baseclassifier_0',['BaseClassifier',['../classbayesnet_1_1_base_classifier.html',1,'bayesnet']]], - ['boost_1',['Boost',['../classbayesnet_1_1_boost.html',1,'bayesnet']]], - ['boosta2de_2',['BoostA2DE',['../classbayesnet_1_1_boost_a2_d_e.html',1,'bayesnet']]], - ['boostaode_3',['BoostAODE',['../classbayesnet_1_1_boost_a_o_d_e.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_2.js b/docs/manual/search/classes_2.js deleted file mode 100644 index 6aed91c..0000000 --- a/docs/manual/search/classes_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['classifier_0',['Classifier',['../classbayesnet_1_1_classifier.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_3.js b/docs/manual/search/classes_3.js deleted file mode 100644 index f513172..0000000 --- a/docs/manual/search/classes_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['ensemble_0',['Ensemble',['../classbayesnet_1_1_ensemble.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_4.js b/docs/manual/search/classes_4.js deleted file mode 100644 index 721cf82..0000000 --- a/docs/manual/search/classes_4.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['kdb_0',['KDB',['../classbayesnet_1_1_k_d_b.html',1,'bayesnet']]], - ['kdbld_1',['KDBLd',['../classbayesnet_1_1_k_d_b_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_5.js b/docs/manual/search/classes_5.js deleted file mode 100644 index 5efa2bd..0000000 --- a/docs/manual/search/classes_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['network_0',['Network',['../classbayesnet_1_1_network.html',1,'bayesnet']]], - ['node_1',['Node',['../classbayesnet_1_1_node.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_6.js b/docs/manual/search/classes_6.js deleted file mode 100644 index 4e9c1ce..0000000 --- a/docs/manual/search/classes_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['proposal_0',['Proposal',['../classbayesnet_1_1_proposal.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_7.js b/docs/manual/search/classes_7.js deleted file mode 100644 index 3c7da60..0000000 --- a/docs/manual/search/classes_7.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['spnde_0',['SPnDE',['../classbayesnet_1_1_s_pn_d_e.html',1,'bayesnet']]], - ['spode_1',['SPODE',['../classbayesnet_1_1_s_p_o_d_e.html',1,'bayesnet']]], - ['spodeld_2',['SPODELd',['../classbayesnet_1_1_s_p_o_d_e_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/classes_8.js b/docs/manual/search/classes_8.js deleted file mode 100644 index 59e0076..0000000 --- a/docs/manual/search/classes_8.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['tan_0',['TAN',['../classbayesnet_1_1_t_a_n.html',1,'bayesnet']]], - ['tanld_1',['TANLd',['../classbayesnet_1_1_t_a_n_ld.html',1,'bayesnet']]] -]; diff --git a/docs/manual/search/close.svg b/docs/manual/search/close.svg deleted file mode 100644 index 337d6cc..0000000 --- a/docs/manual/search/close.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - diff --git a/docs/manual/search/mag.svg b/docs/manual/search/mag.svg deleted file mode 100644 index ffb6cf0..0000000 --- a/docs/manual/search/mag.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/manual/search/mag_d.svg b/docs/manual/search/mag_d.svg deleted file mode 100644 index 4122773..0000000 --- a/docs/manual/search/mag_d.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/manual/search/mag_sel.svg b/docs/manual/search/mag_sel.svg deleted file mode 100644 index 553dba8..0000000 --- a/docs/manual/search/mag_sel.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/search/mag_seld.svg b/docs/manual/search/mag_seld.svg deleted file mode 100644 index c906f84..0000000 --- a/docs/manual/search/mag_seld.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/manual/search/search.css b/docs/manual/search/search.css deleted file mode 100644 index 19f76f9..0000000 --- a/docs/manual/search/search.css +++ /dev/null @@ -1,291 +0,0 @@ -/*---------------- Search Box positioning */ - -#main-menu > li:last-child { - /* This
  • object is the parent of the search bar */ - display: flex; - justify-content: center; - align-items: center; - height: 36px; - margin-right: 1em; -} - -/*---------------- Search box styling */ - -.SRPage * { - font-weight: normal; - line-height: normal; -} - -dark-mode-toggle { - margin-left: 5px; - display: flex; - float: right; -} - -#MSearchBox { - display: inline-block; - white-space : nowrap; - background: var(--search-background-color); - border-radius: 0.65em; - box-shadow: var(--search-box-shadow); - z-index: 102; -} - -#MSearchBox .left { - display: inline-block; - vertical-align: middle; - height: 1.4em; -} - -#MSearchSelect { - display: inline-block; - vertical-align: middle; - width: 20px; - height: 19px; - background-image: var(--search-magnification-select-image); - margin: 0 0 0 0.3em; - padding: 0; -} - -#MSearchSelectExt { - display: inline-block; - vertical-align: middle; - width: 10px; - height: 19px; - background-image: var(--search-magnification-image); - margin: 0 0 0 0.5em; - padding: 0; -} - - -#MSearchField { - display: inline-block; - vertical-align: middle; - width: 7.5em; - height: 19px; - margin: 0 0.15em; - padding: 0; - line-height: 1em; - border:none; - color: var(--search-foreground-color); - outline: none; - font-family: var(--font-family-search); - -webkit-border-radius: 0px; - border-radius: 0px; - background: none; -} - -@media(hover: none) { - /* to avoid zooming on iOS */ - #MSearchField { - font-size: 16px; - } -} - -#MSearchBox .right { - display: inline-block; - vertical-align: middle; - width: 1.4em; - height: 1.4em; -} - -#MSearchClose { - display: none; - font-size: inherit; - background : none; - border: none; - margin: 0; - padding: 0; - outline: none; - -} - -#MSearchCloseImg { - padding: 0.3em; - margin: 0; -} - -.MSearchBoxActive #MSearchField { - color: var(--search-active-color); -} - - - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid var(--search-filter-border-color); - background-color: var(--search-filter-background-color); - z-index: 10001; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt var(--font-family-search); - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: var(--font-family-monospace); - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: var(--search-filter-foreground-color); - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: var(--search-filter-foreground-color); - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: var(--search-filter-highlight-text-color); - background-color: var(--search-filter-highlight-bg-color); - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - /*width: 60ex;*/ - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid var(--search-results-border-color); - background-color: var(--search-results-background-color); - z-index:10000; - width: 300px; - height: 400px; - overflow: auto; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -div.SRPage { - margin: 5px 2px; - background-color: var(--search-results-background-color); -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: var(--search-results-foreground-color); - font-family: var(--font-family-search); - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: var(--search-results-foreground-color); - font-family: var(--font-family-search); - font-size: 8pt; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; - font-family: var(--font-family-search); -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; - font-family: var(--font-family-search); -} - -.SRResult { - display: none; -} - -div.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: var(--nav-gradient-active-image-parent); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/docs/manual/search/search.js b/docs/manual/search/search.js deleted file mode 100644 index 666af01..0000000 --- a/docs/manual/search/search.js +++ /dev/null @@ -1,694 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ -const SEARCH_COOKIE_NAME = ''+'search_grp'; - -const searchResults = new SearchResults(); - -/* A class handling everything associated with the search panel. - - Parameters: - name - The name of the global variable that will be - storing this instance. Is needed to be able to set timeouts. - resultPath - path to use for external files -*/ -function SearchBox(name, resultsPath, extension) { - if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } - if (!extension || extension == "") { extension = ".html"; } - - function getXPos(item) { - let x = 0; - if (item.offsetWidth) { - while (item && item!=document.body) { - x += item.offsetLeft; - item = item.offsetParent; - } - } - return x; - } - - function getYPos(item) { - let y = 0; - if (item.offsetWidth) { - while (item && item!=document.body) { - y += item.offsetTop; - item = item.offsetParent; - } - } - return y; - } - - // ---------- Instance variables - this.name = name; - this.resultsPath = resultsPath; - this.keyTimeout = 0; - this.keyTimeoutLength = 500; - this.closeSelectionTimeout = 300; - this.lastSearchValue = ""; - this.lastResultsPage = ""; - this.hideTimeout = 0; - this.searchIndex = 0; - this.searchActive = false; - this.extension = extension; - - // ----------- DOM Elements - - this.DOMSearchField = () => document.getElementById("MSearchField"); - this.DOMSearchSelect = () => document.getElementById("MSearchSelect"); - this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow"); - this.DOMPopupSearchResults = () => document.getElementById("MSearchResults"); - this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow"); - this.DOMSearchClose = () => document.getElementById("MSearchClose"); - this.DOMSearchBox = () => document.getElementById("MSearchBox"); - - // ------------ Event Handlers - - // Called when focus is added or removed from the search field. - this.OnSearchFieldFocus = function(isActive) { - this.Activate(isActive); - } - - this.OnSearchSelectShow = function() { - const searchSelectWindow = this.DOMSearchSelectWindow(); - const searchField = this.DOMSearchSelect(); - - const left = getXPos(searchField); - const top = getYPos(searchField) + searchField.offsetHeight; - - // show search selection popup - searchSelectWindow.style.display='block'; - searchSelectWindow.style.left = left + 'px'; - searchSelectWindow.style.top = top + 'px'; - - // stop selection hide timer - if (this.hideTimeout) { - clearTimeout(this.hideTimeout); - this.hideTimeout=0; - } - return false; // to avoid "image drag" default event - } - - this.OnSearchSelectHide = function() { - this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), - this.closeSelectionTimeout); - } - - // Called when the content of the search field is changed. - this.OnSearchFieldChange = function(evt) { - if (this.keyTimeout) { // kill running timer - clearTimeout(this.keyTimeout); - this.keyTimeout = 0; - } - - const e = evt ? evt : window.event; // for IE - if (e.keyCode==40 || e.keyCode==13) { - if (e.shiftKey==1) { - this.OnSearchSelectShow(); - const win=this.DOMSearchSelectWindow(); - for (let i=0;i do a search - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) { - const e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) { // Up - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } else if (e.keyCode==13 || e.keyCode==27) { - e.stopPropagation(); - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() { - this.keyTimeout = 0; - - // strip leading whitespace - const searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - const code = searchValue.toLowerCase().charCodeAt(0); - let idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair - idxChar = searchValue.substr(0, 2); - } - - let jsFile; - let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) { - const hexCode=idx.toString(16); - jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; - } - - const loadJS = function(url, impl, loc) { - const scriptTag = document.createElement('script'); - scriptTag.src = url; - scriptTag.onload = impl; - scriptTag.onreadystatechange = impl; - loc.appendChild(scriptTag); - } - - const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - const domSearchBox = this.DOMSearchBox(); - const domPopupSearchResults = this.DOMPopupSearchResults(); - const domSearchClose = this.DOMSearchClose(); - const resultsPath = this.resultsPath; - - const handleResults = function() { - document.getElementById("Loading").style.display="none"; - if (typeof searchData !== 'undefined') { - createResults(resultsPath); - document.getElementById("NoMatches").style.display="none"; - } - - if (idx!=-1) { - searchResults.Search(searchValue); - } else { // no file with search results => force empty search results - searchResults.Search('===='); - } - - if (domPopupSearchResultsWindow.style.display!='block') { - domSearchClose.style.display = 'inline-block'; - let left = getXPos(domSearchBox) + 150; - let top = getYPos(domSearchBox) + 20; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - const maxWidth = document.body.clientWidth; - const maxHeight = document.body.clientHeight; - let width = 300; - if (left<10) left=10; - if (width+left+8>maxWidth) width=maxWidth-left-8; - let height = 400; - if (height+top+8>maxHeight) height=maxHeight-top-8; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResultsWindow.style.height = height + 'px'; - } - } - - if (jsFile) { - loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); - } else { - handleResults(); - } - - this.lastSearchValue = searchValue; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) { - this.DOMSearchBox().className = 'MSearchBoxActive'; - this.searchActive = true; - } else if (!isActive) { // directly remove the panel - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - this.DOMSearchField().value = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults() { - - function convertToId(search) { - let result = ''; - for (let i=0;i. - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) { - const parentElement = document.getElementById(id); - let element = parentElement.firstChild; - - while (element && element!=parentElement) { - if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { - return element; - } - - if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { - element = element.firstChild; - } else if (element.nextSibling) { - element = element.nextSibling; - } else { - do { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) { - const element = this.FindChildElement(id); - if (element) { - if (element.style.display == 'block') { - element.style.display = 'none'; - } else { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) { - if (!search) { // get search word from URL - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - const resultRows = document.getElementsByTagName("div"); - let matches = 0; - - let i = 0; - while (i < resultRows.length) { - const row = resultRows.item(i); - if (row.className == "SRResult") { - let rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) { - row.style.display = 'block'; - matches++; - } else { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) { // no results - document.getElementById("NoMatches").style.display='block'; - } else { // at least one result - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) { - let focusItem; - for (;;) { - const focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { - break; - } else if (!focusItem) { // last element - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) { - let focusItem; - for (;;) { - const focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { - break; - } else if (!focusItem) { // last element - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) { - if (e.type == "keydown") { - this.repeatOn = false; - this.lastKey = e.keyCode; - } else if (e.type == "keypress") { - if (!this.repeatOn) { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } else if (e.type == "keyup") { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) { - const e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) { // Up - const newIndex = itemIndex-1; - let focusItem = this.NavPrev(newIndex); - if (focusItem) { - let child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') { // children visible - let n=0; - let tmpElem; - for (;;) { // search for last child - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) { - focusItem = tmpElem; - } else { // found it! - break; - } - n++; - } - } - } - if (focusItem) { - focusItem.focus(); - } else { // return focus to search field - document.getElementById("MSearchField").focus(); - } - } else if (this.lastKey==40) { // Down - const newIndex = itemIndex+1; - let focusItem; - const item = document.getElementById('Item'+itemIndex); - const elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') { // children visible - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } else if (this.lastKey==39) { // Right - const item = document.getElementById('Item'+itemIndex); - const elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } else if (this.lastKey==37) { // Left - const item = document.getElementById('Item'+itemIndex); - const elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } else if (this.lastKey==27) { // Escape - e.stopPropagation(); - searchBox.CloseResultsWindow(); - document.getElementById("MSearchField").focus(); - } else if (this.lastKey==13) { // Enter - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) { - const e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) { // Up - if (childIndex>0) { - const newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } else { // already at first child, jump to parent - document.getElementById('Item'+itemIndex).focus(); - } - } else if (this.lastKey==40) { // Down - const newIndex = childIndex+1; - let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) { // last child, jump to parent next parent - elem = this.NavNext(itemIndex+1); - } - if (elem) { - elem.focus(); - } - } else if (this.lastKey==27) { // Escape - e.stopPropagation(); - searchBox.CloseResultsWindow(); - document.getElementById("MSearchField").focus(); - } else if (this.lastKey==13) { // Enter - return true; - } - return false; - } -} - -function createResults(resultsPath) { - - function setKeyActions(elem,action) { - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); - } - - function setClassAttr(elem,attr) { - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); - } - - const results = document.getElementById("SRResults"); - results.innerHTML = ''; - searchData.forEach((elem,index) => { - const id = elem[0]; - const srResult = document.createElement('div'); - srResult.setAttribute('id','SR_'+id); - setClassAttr(srResult,'SRResult'); - const srEntry = document.createElement('div'); - setClassAttr(srEntry,'SREntry'); - const srLink = document.createElement('a'); - srLink.setAttribute('id','Item'+index); - setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); - setClassAttr(srLink,'SRSymbol'); - srLink.innerHTML = elem[1][0]; - srEntry.appendChild(srLink); - if (elem[1].length==2) { // single result - srLink.setAttribute('href',resultsPath+elem[1][1][0]); - srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); - if (elem[1][1][1]) { - srLink.setAttribute('target','_parent'); - } else { - srLink.setAttribute('target','_blank'); - } - const srScope = document.createElement('span'); - setClassAttr(srScope,'SRScope'); - srScope.innerHTML = elem[1][1][2]; - srEntry.appendChild(srScope); - } else { // multiple results - srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); - const srChildren = document.createElement('div'); - setClassAttr(srChildren,'SRChildren'); - for (let c=0; c-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T diff --git a/docs/manual/splitbard.png b/docs/manual/splitbard.png deleted file mode 100644 index 8367416d757fd7b6dc4272b6432dc75a75abd068..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@VhhFKy35^fiT zT~&lUj3=cDh^%3HDY9k5CEku}PHXNoNC(_$U3XPb&Q*ME25pT;2(*BOgAf<+R$lzakPG`kF31()Fx{L5Wrac|GQzjeE= zueY1`Ze{#x<8=S|`~MgGetGce)#vN&|J{Cd^tS%;tBYTo?+^d68<#n_Y_xx`J||4O V@QB{^CqU0Kc)I$ztaD0e0svEzbJzd? diff --git a/docs/manual/sync_off.png b/docs/manual/sync_off.png deleted file mode 100644 index 3b443fc62892114406e3d399421b2a881b897acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* diff --git a/docs/manual/sync_on.png b/docs/manual/sync_on.png deleted file mode 100644 index e08320fb64e6fa33b573005ed6d8fe294e19db76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 diff --git a/docs/manual/tab_a.png b/docs/manual/tab_a.png deleted file mode 100644 index 3b725c41c5a527a3a3e40097077d0e206a681247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 diff --git a/docs/manual/tab_ad.png b/docs/manual/tab_ad.png deleted file mode 100644 index e34850acfc24be58da6d2fd1ccc6b29cc84fe34d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QhuH;jv*C{Z|5d*H3V=pKi{In zd2jxLclDRPylmD}^l7{QOtL{vUjO{-WqItb5sQp2h-99b8^^Scr-=2mblCdZuUm?4 jzOJvgvt3{(cjKLW5(A@0qPS@<&}0TrS3j3^P6y&q2{!U5bk+Tso_B!YCpDh>v z{CM*1U8YvQRyBUHt^Ju0W_sq-?;9@_4equ-bavTs=gk796zopr0EBT&m;e9( diff --git a/docs/manual/tab_s.png b/docs/manual/tab_s.png deleted file mode 100644 index ab478c95b67371d700a20869f7de1ddd73522d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7) zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$ z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ diff --git a/docs/manual/tab_sd.png b/docs/manual/tab_sd.png deleted file mode 100644 index 757a565ced4730f85c833fb2547d8e199ae68f19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qq7(&jv*C{Z|_!fH5o7*c=%9% zcILh!EA=pAQKdx-Cdiev=v{eg{8Ht<{e8_NAN~b=)%W>-WDCE0PyDHGemi$BoXwcK z{>e9^za6*c1ilttWw&V+U;WCPlV9{LdC~Ey%_H(qj`xgfES(4Yz5jSTZfCt`4E$0YRsR*S^mTCR^;V&sxC8{l_Cp7w8-YPgg&ebxsLQ00$vXK>z>% diff --git a/docs/manual/tabs.css b/docs/manual/tabs.css deleted file mode 100644 index fe4854a..0000000 --- a/docs/manual/tabs.css +++ /dev/null @@ -1 +0,0 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file