dragon-ml-toolbox 20.2.0__tar.gz → 20.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. {dragon_ml_toolbox-20.2.0/dragon_ml_toolbox.egg-info → dragon_ml_toolbox-20.4.0}/PKG-INFO +1 -1
  2. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0/dragon_ml_toolbox.egg-info}/PKG-INFO +1 -1
  3. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/SOURCES.txt +4 -40
  4. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/__init__.py +5 -1
  5. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/_basic_clean.py +1 -1
  6. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_engineering/__init__.py +5 -1
  7. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/GUI_tools/__init__.py +5 -1
  8. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/_IO_loggers.py +33 -21
  9. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/__init__.py +5 -1
  10. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/MICE/__init__.py +8 -2
  11. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/MICE/_dragon_mice.py +1 -1
  12. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/__init__.py +5 -1
  13. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/__init__.py +5 -1
  14. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/__init__.py +7 -1
  15. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_training.py +65 -1
  16. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/__init__.py +5 -1
  17. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_base_datasetmaster.py +31 -20
  18. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_datasetmaster.py +26 -9
  19. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_sequence_datasetmaster.py +38 -23
  20. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/__init__.py +5 -1
  21. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_classification.py +10 -2
  22. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation_captum/__init__.py +5 -1
  23. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_finalize_handler/__init__.py +5 -1
  24. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/__init__.py +5 -1
  25. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_sequence/__init__.py +5 -1
  26. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_vision/__init__.py +5 -1
  27. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/__init__.py +21 -6
  28. dragon_ml_toolbox-20.4.0/ml_tools/ML_models/_dragon_autoint.py +302 -0
  29. dragon_ml_toolbox-20.4.0/ml_tools/ML_models/_dragon_gate.py +358 -0
  30. dragon_ml_toolbox-20.4.0/ml_tools/ML_models/_dragon_node.py +268 -0
  31. dragon_ml_toolbox-20.4.0/ml_tools/ML_models/_dragon_tabnet.py +255 -0
  32. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_sequence/__init__.py +5 -1
  33. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/__init__.py +5 -1
  34. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/__init__.py +11 -3
  35. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_multi_dragon.py +24 -8
  36. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_single_dragon.py +47 -67
  37. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_single_manual.py +1 -1
  38. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_scaler/_ML_scaler.py +12 -7
  39. dragon_ml_toolbox-20.4.0/ml_tools/ML_scaler/__init__.py +14 -0
  40. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/__init__.py +5 -1
  41. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_base_trainer.py +136 -13
  42. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_dragon_detection_trainer.py +31 -91
  43. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_dragon_sequence_trainer.py +24 -74
  44. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_dragon_trainer.py +24 -85
  45. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/__init__.py +5 -1
  46. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/_inspection.py +44 -30
  47. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_vision_transformers/__init__.py +8 -2
  48. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/PSO_optimization/__init__.py +5 -1
  49. dragon_ml_toolbox-20.4.0/ml_tools/SQL/__init__.py +13 -0
  50. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/VIF/__init__.py +5 -1
  51. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/__init__.py +4 -1
  52. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_cleaning.py +4 -2
  53. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_evaluation/__init__.py +5 -1
  54. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_inference/__init__.py +5 -1
  55. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_learning/__init__.py +5 -1
  56. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/excel_handler/__init__.py +5 -1
  57. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/keys/__init__.py +5 -1
  58. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/keys/_keys.py +1 -1
  59. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/math_utilities/__init__.py +5 -1
  60. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/optimization_tools/__init__.py +5 -1
  61. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/path_manager/__init__.py +8 -2
  62. dragon_ml_toolbox-20.4.0/ml_tools/plot_fonts/__init__.py +14 -0
  63. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/schema/__init__.py +8 -2
  64. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/schema/_feature_schema.py +3 -3
  65. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/serde/__init__.py +5 -1
  66. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/utilities/__init__.py +5 -1
  67. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/utilities/_utility_save_load.py +38 -20
  68. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/pyproject.toml +4 -6
  69. dragon_ml_toolbox-20.2.0/ml_tools/ETL_cleaning/_imprimir.py +0 -13
  70. dragon_ml_toolbox-20.2.0/ml_tools/ETL_engineering/_imprimir.py +0 -24
  71. dragon_ml_toolbox-20.2.0/ml_tools/GUI_tools/_imprimir.py +0 -12
  72. dragon_ml_toolbox-20.2.0/ml_tools/IO_tools/_imprimir.py +0 -14
  73. dragon_ml_toolbox-20.2.0/ml_tools/MICE/_imprimir.py +0 -11
  74. dragon_ml_toolbox-20.2.0/ml_tools/ML_callbacks/_imprimir.py +0 -12
  75. dragon_ml_toolbox-20.2.0/ml_tools/ML_chain/_imprimir.py +0 -12
  76. dragon_ml_toolbox-20.2.0/ml_tools/ML_configuration/_imprimir.py +0 -47
  77. dragon_ml_toolbox-20.2.0/ml_tools/ML_datasetmaster/_imprimir.py +0 -15
  78. dragon_ml_toolbox-20.2.0/ml_tools/ML_evaluation/_imprimir.py +0 -25
  79. dragon_ml_toolbox-20.2.0/ml_tools/ML_evaluation_captum/_imprimir.py +0 -10
  80. dragon_ml_toolbox-20.2.0/ml_tools/ML_finalize_handler/_imprimir.py +0 -8
  81. dragon_ml_toolbox-20.2.0/ml_tools/ML_inference/_imprimir.py +0 -11
  82. dragon_ml_toolbox-20.2.0/ml_tools/ML_inference_sequence/_imprimir.py +0 -8
  83. dragon_ml_toolbox-20.2.0/ml_tools/ML_inference_vision/_imprimir.py +0 -8
  84. dragon_ml_toolbox-20.2.0/ml_tools/ML_models/_advanced_models.py +0 -1086
  85. dragon_ml_toolbox-20.2.0/ml_tools/ML_models/_imprimir.py +0 -18
  86. dragon_ml_toolbox-20.2.0/ml_tools/ML_models_sequence/_imprimir.py +0 -8
  87. dragon_ml_toolbox-20.2.0/ml_tools/ML_models_vision/_imprimir.py +0 -16
  88. dragon_ml_toolbox-20.2.0/ml_tools/ML_optimization/_imprimir.py +0 -13
  89. dragon_ml_toolbox-20.2.0/ml_tools/ML_scaler/__init__.py +0 -10
  90. dragon_ml_toolbox-20.2.0/ml_tools/ML_scaler/_imprimir.py +0 -8
  91. dragon_ml_toolbox-20.2.0/ml_tools/ML_trainer/_imprimir.py +0 -10
  92. dragon_ml_toolbox-20.2.0/ml_tools/ML_utilities/_imprimir.py +0 -16
  93. dragon_ml_toolbox-20.2.0/ml_tools/ML_vision_transformers/_imprimir.py +0 -14
  94. dragon_ml_toolbox-20.2.0/ml_tools/PSO_optimization/_imprimir.py +0 -10
  95. dragon_ml_toolbox-20.2.0/ml_tools/SQL/__init__.py +0 -7
  96. dragon_ml_toolbox-20.2.0/ml_tools/SQL/_imprimir.py +0 -8
  97. dragon_ml_toolbox-20.2.0/ml_tools/VIF/_imprimir.py +0 -10
  98. dragon_ml_toolbox-20.2.0/ml_tools/data_exploration/_imprimir.py +0 -32
  99. dragon_ml_toolbox-20.2.0/ml_tools/ensemble_evaluation/_imprimir.py +0 -14
  100. dragon_ml_toolbox-20.2.0/ml_tools/ensemble_inference/_imprimir.py +0 -9
  101. dragon_ml_toolbox-20.2.0/ml_tools/ensemble_learning/_imprimir.py +0 -10
  102. dragon_ml_toolbox-20.2.0/ml_tools/excel_handler/_imprimir.py +0 -13
  103. dragon_ml_toolbox-20.2.0/ml_tools/keys/_imprimir.py +0 -11
  104. dragon_ml_toolbox-20.2.0/ml_tools/math_utilities/_imprimir.py +0 -11
  105. dragon_ml_toolbox-20.2.0/ml_tools/optimization_tools/_imprimir.py +0 -13
  106. dragon_ml_toolbox-20.2.0/ml_tools/path_manager/_imprimir.py +0 -15
  107. dragon_ml_toolbox-20.2.0/ml_tools/plot_fonts/__init__.py +0 -8
  108. dragon_ml_toolbox-20.2.0/ml_tools/plot_fonts/_imprimir.py +0 -8
  109. dragon_ml_toolbox-20.2.0/ml_tools/schema/_imprimir.py +0 -10
  110. dragon_ml_toolbox-20.2.0/ml_tools/serde/_imprimir.py +0 -10
  111. dragon_ml_toolbox-20.2.0/ml_tools/utilities/_imprimir.py +0 -18
  112. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/LICENSE +0 -0
  113. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/LICENSE-THIRD-PARTY.md +0 -0
  114. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/README.md +0 -0
  115. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/dependency_links.txt +0 -0
  116. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/requires.txt +0 -0
  117. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/top_level.txt +0 -0
  118. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/_clean_tools.py +0 -0
  119. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/_dragon_cleaner.py +0 -0
  120. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_engineering/_dragon_engineering.py +0 -0
  121. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_engineering/_transforms.py +0 -0
  122. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/GUI_tools/_GUI_tools.py +0 -0
  123. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/_IO_save_load.py +0 -0
  124. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/_IO_utils.py +0 -0
  125. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/MICE/_MICE_imputation.py +0 -0
  126. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_base.py +0 -0
  127. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_checkpoint.py +0 -0
  128. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_early_stop.py +0 -0
  129. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_scheduler.py +0 -0
  130. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/_chaining_tools.py +0 -0
  131. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/_dragon_chain.py +0 -0
  132. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/_update_schema.py +0 -0
  133. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_base_model_config.py +0 -0
  134. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_finalize.py +0 -0
  135. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_metrics.py +0 -0
  136. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_models.py +0 -0
  137. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_vision_datasetmaster.py +0 -0
  138. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_feature_importance.py +0 -0
  139. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_loss.py +0 -0
  140. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_regression.py +0 -0
  141. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_sequence.py +0 -0
  142. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_vision.py +0 -0
  143. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation_captum/_ML_evaluation_captum.py +0 -0
  144. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_finalize_handler/_ML_finalize_handler.py +0 -0
  145. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_base_inference.py +0 -0
  146. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_chain_inference.py +0 -0
  147. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_dragon_inference.py +0 -0
  148. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_multi_inference.py +0 -0
  149. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_sequence/_sequence_inference.py +0 -0
  150. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_vision/_vision_inference.py +0 -0
  151. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_base_mlp_attention.py +0 -0
  152. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_base_save_load.py +0 -0
  153. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_dragon_tabular.py +0 -0
  154. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_mlp_attention.py +0 -0
  155. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_models_advanced_helpers.py +0 -0
  156. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_sequence/_sequence_models.py +0 -0
  157. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_base_wrapper.py +0 -0
  158. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_image_classification.py +0 -0
  159. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_image_segmentation.py +0 -0
  160. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_object_detection.py +0 -0
  161. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/_artifact_finder.py +0 -0
  162. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/_train_tools.py +0 -0
  163. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_vision_transformers/_core_transforms.py +0 -0
  164. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_vision_transformers/_offline_augmentation.py +0 -0
  165. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/PSO_optimization/_PSO.py +0 -0
  166. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/SQL/_dragon_SQL.py +0 -0
  167. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/VIF/_VIF_factor.py +0 -0
  168. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/__init__.py +0 -0
  169. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/__init__.py +0 -0
  170. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/_logger.py +0 -0
  171. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/_schema_load_ops.py +0 -0
  172. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/_script_info.py +0 -0
  173. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/constants.py +0 -0
  174. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_analysis.py +0 -0
  175. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_features.py +0 -0
  176. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_plotting.py +0 -0
  177. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_schema_ops.py +0 -0
  178. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_evaluation/_ensemble_evaluation.py +0 -0
  179. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_inference/_ensemble_inference.py +0 -0
  180. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_learning/_ensemble_learning.py +0 -0
  181. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/excel_handler/_excel_handler.py +0 -0
  182. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/math_utilities/_math_utilities.py +0 -0
  183. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/optimization_tools/_optimization_bounds.py +0 -0
  184. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/optimization_tools/_optimization_plots.py +0 -0
  185. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/path_manager/_dragonmanager.py +0 -0
  186. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/path_manager/_path_tools.py +0 -0
  187. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/plot_fonts/_plot_fonts.py +0 -0
  188. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/schema/_gui_schema.py +0 -0
  189. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/serde/_serde.py +0 -0
  190. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/ml_tools/utilities/_utility_tools.py +0 -0
  191. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.4.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 20.2.0
3
+ Version: 20.4.0
4
4
  Summary: Complete pipelines and helper tools for data science and machine learning projects.
5
5
  Author-email: Karl Luigi Loza Vidaurre <luigiloza@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 20.2.0
3
+ Version: 20.4.0
4
4
  Summary: Complete pipelines and helper tools for data science and machine learning projects.
5
5
  Author-email: Karl Luigi Loza Vidaurre <luigiloza@gmail.com>
6
6
  License-Expression: MIT
@@ -13,122 +13,99 @@ ml_tools/ETL_cleaning/__init__.py
13
13
  ml_tools/ETL_cleaning/_basic_clean.py
14
14
  ml_tools/ETL_cleaning/_clean_tools.py
15
15
  ml_tools/ETL_cleaning/_dragon_cleaner.py
16
- ml_tools/ETL_cleaning/_imprimir.py
17
16
  ml_tools/ETL_engineering/__init__.py
18
17
  ml_tools/ETL_engineering/_dragon_engineering.py
19
- ml_tools/ETL_engineering/_imprimir.py
20
18
  ml_tools/ETL_engineering/_transforms.py
21
19
  ml_tools/GUI_tools/_GUI_tools.py
22
20
  ml_tools/GUI_tools/__init__.py
23
- ml_tools/GUI_tools/_imprimir.py
24
21
  ml_tools/IO_tools/_IO_loggers.py
25
22
  ml_tools/IO_tools/_IO_save_load.py
26
23
  ml_tools/IO_tools/_IO_utils.py
27
24
  ml_tools/IO_tools/__init__.py
28
- ml_tools/IO_tools/_imprimir.py
29
25
  ml_tools/MICE/_MICE_imputation.py
30
26
  ml_tools/MICE/__init__.py
31
27
  ml_tools/MICE/_dragon_mice.py
32
- ml_tools/MICE/_imprimir.py
33
28
  ml_tools/ML_callbacks/__init__.py
34
29
  ml_tools/ML_callbacks/_base.py
35
30
  ml_tools/ML_callbacks/_checkpoint.py
36
31
  ml_tools/ML_callbacks/_early_stop.py
37
- ml_tools/ML_callbacks/_imprimir.py
38
32
  ml_tools/ML_callbacks/_scheduler.py
39
33
  ml_tools/ML_chain/__init__.py
40
34
  ml_tools/ML_chain/_chaining_tools.py
41
35
  ml_tools/ML_chain/_dragon_chain.py
42
- ml_tools/ML_chain/_imprimir.py
43
36
  ml_tools/ML_chain/_update_schema.py
44
37
  ml_tools/ML_configuration/__init__.py
45
38
  ml_tools/ML_configuration/_base_model_config.py
46
39
  ml_tools/ML_configuration/_finalize.py
47
- ml_tools/ML_configuration/_imprimir.py
48
40
  ml_tools/ML_configuration/_metrics.py
49
41
  ml_tools/ML_configuration/_models.py
50
42
  ml_tools/ML_configuration/_training.py
51
43
  ml_tools/ML_datasetmaster/__init__.py
52
44
  ml_tools/ML_datasetmaster/_base_datasetmaster.py
53
45
  ml_tools/ML_datasetmaster/_datasetmaster.py
54
- ml_tools/ML_datasetmaster/_imprimir.py
55
46
  ml_tools/ML_datasetmaster/_sequence_datasetmaster.py
56
47
  ml_tools/ML_datasetmaster/_vision_datasetmaster.py
57
48
  ml_tools/ML_evaluation/__init__.py
58
49
  ml_tools/ML_evaluation/_classification.py
59
50
  ml_tools/ML_evaluation/_feature_importance.py
60
- ml_tools/ML_evaluation/_imprimir.py
61
51
  ml_tools/ML_evaluation/_loss.py
62
52
  ml_tools/ML_evaluation/_regression.py
63
53
  ml_tools/ML_evaluation/_sequence.py
64
54
  ml_tools/ML_evaluation/_vision.py
65
55
  ml_tools/ML_evaluation_captum/_ML_evaluation_captum.py
66
56
  ml_tools/ML_evaluation_captum/__init__.py
67
- ml_tools/ML_evaluation_captum/_imprimir.py
68
57
  ml_tools/ML_finalize_handler/_ML_finalize_handler.py
69
58
  ml_tools/ML_finalize_handler/__init__.py
70
- ml_tools/ML_finalize_handler/_imprimir.py
71
59
  ml_tools/ML_inference/__init__.py
72
60
  ml_tools/ML_inference/_base_inference.py
73
61
  ml_tools/ML_inference/_chain_inference.py
74
62
  ml_tools/ML_inference/_dragon_inference.py
75
- ml_tools/ML_inference/_imprimir.py
76
63
  ml_tools/ML_inference/_multi_inference.py
77
64
  ml_tools/ML_inference_sequence/__init__.py
78
- ml_tools/ML_inference_sequence/_imprimir.py
79
65
  ml_tools/ML_inference_sequence/_sequence_inference.py
80
66
  ml_tools/ML_inference_vision/__init__.py
81
- ml_tools/ML_inference_vision/_imprimir.py
82
67
  ml_tools/ML_inference_vision/_vision_inference.py
83
68
  ml_tools/ML_models/__init__.py
84
- ml_tools/ML_models/_advanced_models.py
85
69
  ml_tools/ML_models/_base_mlp_attention.py
86
70
  ml_tools/ML_models/_base_save_load.py
71
+ ml_tools/ML_models/_dragon_autoint.py
72
+ ml_tools/ML_models/_dragon_gate.py
73
+ ml_tools/ML_models/_dragon_node.py
74
+ ml_tools/ML_models/_dragon_tabnet.py
87
75
  ml_tools/ML_models/_dragon_tabular.py
88
- ml_tools/ML_models/_imprimir.py
89
76
  ml_tools/ML_models/_mlp_attention.py
90
77
  ml_tools/ML_models/_models_advanced_helpers.py
91
78
  ml_tools/ML_models_sequence/__init__.py
92
- ml_tools/ML_models_sequence/_imprimir.py
93
79
  ml_tools/ML_models_sequence/_sequence_models.py
94
80
  ml_tools/ML_models_vision/__init__.py
95
81
  ml_tools/ML_models_vision/_base_wrapper.py
96
82
  ml_tools/ML_models_vision/_image_classification.py
97
83
  ml_tools/ML_models_vision/_image_segmentation.py
98
- ml_tools/ML_models_vision/_imprimir.py
99
84
  ml_tools/ML_models_vision/_object_detection.py
100
85
  ml_tools/ML_optimization/__init__.py
101
- ml_tools/ML_optimization/_imprimir.py
102
86
  ml_tools/ML_optimization/_multi_dragon.py
103
87
  ml_tools/ML_optimization/_single_dragon.py
104
88
  ml_tools/ML_optimization/_single_manual.py
105
89
  ml_tools/ML_scaler/_ML_scaler.py
106
90
  ml_tools/ML_scaler/__init__.py
107
- ml_tools/ML_scaler/_imprimir.py
108
91
  ml_tools/ML_trainer/__init__.py
109
92
  ml_tools/ML_trainer/_base_trainer.py
110
93
  ml_tools/ML_trainer/_dragon_detection_trainer.py
111
94
  ml_tools/ML_trainer/_dragon_sequence_trainer.py
112
95
  ml_tools/ML_trainer/_dragon_trainer.py
113
- ml_tools/ML_trainer/_imprimir.py
114
96
  ml_tools/ML_utilities/__init__.py
115
97
  ml_tools/ML_utilities/_artifact_finder.py
116
- ml_tools/ML_utilities/_imprimir.py
117
98
  ml_tools/ML_utilities/_inspection.py
118
99
  ml_tools/ML_utilities/_train_tools.py
119
100
  ml_tools/ML_vision_transformers/__init__.py
120
101
  ml_tools/ML_vision_transformers/_core_transforms.py
121
- ml_tools/ML_vision_transformers/_imprimir.py
122
102
  ml_tools/ML_vision_transformers/_offline_augmentation.py
123
103
  ml_tools/PSO_optimization/_PSO.py
124
104
  ml_tools/PSO_optimization/__init__.py
125
- ml_tools/PSO_optimization/_imprimir.py
126
105
  ml_tools/SQL/__init__.py
127
106
  ml_tools/SQL/_dragon_SQL.py
128
- ml_tools/SQL/_imprimir.py
129
107
  ml_tools/VIF/_VIF_factor.py
130
108
  ml_tools/VIF/__init__.py
131
- ml_tools/VIF/_imprimir.py
132
109
  ml_tools/_core/__init__.py
133
110
  ml_tools/_core/_logger.py
134
111
  ml_tools/_core/_schema_load_ops.py
@@ -137,46 +114,33 @@ ml_tools/data_exploration/__init__.py
137
114
  ml_tools/data_exploration/_analysis.py
138
115
  ml_tools/data_exploration/_cleaning.py
139
116
  ml_tools/data_exploration/_features.py
140
- ml_tools/data_exploration/_imprimir.py
141
117
  ml_tools/data_exploration/_plotting.py
142
118
  ml_tools/data_exploration/_schema_ops.py
143
119
  ml_tools/ensemble_evaluation/__init__.py
144
120
  ml_tools/ensemble_evaluation/_ensemble_evaluation.py
145
- ml_tools/ensemble_evaluation/_imprimir.py
146
121
  ml_tools/ensemble_inference/__init__.py
147
122
  ml_tools/ensemble_inference/_ensemble_inference.py
148
- ml_tools/ensemble_inference/_imprimir.py
149
123
  ml_tools/ensemble_learning/__init__.py
150
124
  ml_tools/ensemble_learning/_ensemble_learning.py
151
- ml_tools/ensemble_learning/_imprimir.py
152
125
  ml_tools/excel_handler/__init__.py
153
126
  ml_tools/excel_handler/_excel_handler.py
154
- ml_tools/excel_handler/_imprimir.py
155
127
  ml_tools/keys/__init__.py
156
- ml_tools/keys/_imprimir.py
157
128
  ml_tools/keys/_keys.py
158
129
  ml_tools/math_utilities/__init__.py
159
- ml_tools/math_utilities/_imprimir.py
160
130
  ml_tools/math_utilities/_math_utilities.py
161
131
  ml_tools/optimization_tools/__init__.py
162
- ml_tools/optimization_tools/_imprimir.py
163
132
  ml_tools/optimization_tools/_optimization_bounds.py
164
133
  ml_tools/optimization_tools/_optimization_plots.py
165
134
  ml_tools/path_manager/__init__.py
166
135
  ml_tools/path_manager/_dragonmanager.py
167
- ml_tools/path_manager/_imprimir.py
168
136
  ml_tools/path_manager/_path_tools.py
169
137
  ml_tools/plot_fonts/__init__.py
170
- ml_tools/plot_fonts/_imprimir.py
171
138
  ml_tools/plot_fonts/_plot_fonts.py
172
139
  ml_tools/schema/__init__.py
173
140
  ml_tools/schema/_feature_schema.py
174
141
  ml_tools/schema/_gui_schema.py
175
- ml_tools/schema/_imprimir.py
176
142
  ml_tools/serde/__init__.py
177
- ml_tools/serde/_imprimir.py
178
143
  ml_tools/serde/_serde.py
179
144
  ml_tools/utilities/__init__.py
180
- ml_tools/utilities/_imprimir.py
181
145
  ml_tools/utilities/_utility_save_load.py
182
146
  ml_tools/utilities/_utility_tools.py
@@ -13,7 +13,7 @@ from ._clean_tools import (
13
13
  save_unique_values
14
14
  )
15
15
 
16
- from ._imprimir import info
16
+ from .._core import _imprimir_disponibles
17
17
 
18
18
 
19
19
  __all__ = [
@@ -24,3 +24,7 @@ __all__ = [
24
24
  "basic_clean_drop",
25
25
  "drop_macro_polars",
26
26
  ]
27
+
28
+
29
+ def info():
30
+ _imprimir_disponibles(__all__)
@@ -261,7 +261,7 @@ def _generate_null_report(df: pl.DataFrame, save_dir: Path, filename: str):
261
261
  (pl.col("null_count") / total_rows * 100).round(2).alias("missing_percent")
262
262
  ).sort("missing_percent", descending=True)
263
263
 
264
- save_dataframe_filename(df=report, save_dir=save_dir, filename=filename)
264
+ save_dataframe_filename(df=report, save_dir=save_dir, filename=filename, verbose=2)
265
265
 
266
266
 
267
267
  def drop_macro_polars(df: pl.DataFrame,
@@ -21,7 +21,7 @@ from ._transforms import (
21
21
  MolecularFormulaTransformer
22
22
  )
23
23
 
24
- from ._imprimir import info
24
+ from .._core import _imprimir_disponibles
25
25
 
26
26
 
27
27
  __all__ = [
@@ -43,3 +43,7 @@ __all__ = [
43
43
  "DateFeatureExtractor",
44
44
  "MolecularFormulaTransformer"
45
45
  ]
46
+
47
+
48
+ def info():
49
+ _imprimir_disponibles(__all__)
@@ -6,7 +6,7 @@ from ._GUI_tools import (
6
6
  catch_exceptions,
7
7
  )
8
8
 
9
- from ._imprimir import info
9
+ from .._core import _imprimir_disponibles
10
10
 
11
11
 
12
12
  __all__ = [
@@ -16,3 +16,7 @@ __all__ = [
16
16
  "DragonGUIHandler",
17
17
  "catch_exceptions",
18
18
  ]
19
+
20
+
21
+ def info():
22
+ _imprimir_disponibles(__all__)
@@ -29,6 +29,7 @@ def custom_logger(
29
29
  log_name: str,
30
30
  add_timestamp: bool=True,
31
31
  dict_as: Literal['auto', 'json', 'csv'] = 'auto',
32
+ verbose: int = 3
32
33
  ) -> None:
33
34
  """
34
35
  Logs various data types to corresponding output formats:
@@ -63,6 +64,7 @@ def custom_logger(
63
64
  """
64
65
  try:
65
66
  if not isinstance(data, BaseException) and not data:
67
+ # Display a warning instead of error to allow program continuation
66
68
  _LOGGER.warning("Empty data received. No log file will be saved.")
67
69
  return
68
70
 
@@ -103,8 +105,9 @@ def custom_logger(
103
105
  else:
104
106
  _LOGGER.error("Unsupported data type. Must be list, dict, str, or BaseException.")
105
107
  raise ValueError()
106
-
107
- _LOGGER.info(f"Log saved as: '{base_path.name}'")
108
+
109
+ if verbose >= 2:
110
+ _LOGGER.info(f"Log saved as: '{base_path.name}'")
108
111
 
109
112
  except Exception:
110
113
  _LOGGER.exception(f"Log not saved.")
@@ -167,15 +170,16 @@ def _log_dict_to_json(data: dict[Any, Any], path: Path) -> None:
167
170
 
168
171
 
169
172
  def train_logger(train_config: Union[dict, Any],
170
- model_parameters: Union[dict, Any],
173
+ model_parameters: Union[dict, Any, None],
171
174
  train_history: Union[dict, None],
172
- save_directory: Union[str, Path]):
175
+ save_directory: Union[str, Path],
176
+ verbose: int = 3) -> None:
173
177
  """
174
178
  Logs training data to JSON, adding a timestamp to the filename.
175
179
 
176
180
  Args:
177
181
  train_config (dict | Any): Training configuration parameters. If object, must have a `.to_log()` method returning a dict.
178
- model_parameters (dict | Any): Model parameters. If object, must have a `.to_log()` method returning a dict.
182
+ model_parameters (dict | Any | None): Model parameters. If object, must have a `.to_log()` method returning a dict.
179
183
  train_history (dict | None): Training history log.
180
184
  save_directory (str | Path): Directory to save the log file.
181
185
  """
@@ -197,23 +201,27 @@ def train_logger(train_config: Union[dict, Any],
197
201
 
198
202
  train_config_dict = train_config
199
203
 
200
- # model_parameters should be a dict or a custom object with the ".to_log()" method
201
- if not isinstance(model_parameters, dict):
202
- if hasattr(model_parameters, "to_log") and callable(getattr(model_parameters, "to_log")):
203
- model_parameters_dict: dict = model_parameters.to_log()
204
- if not isinstance(model_parameters_dict, dict):
205
- _LOGGER.error("'model_parameters.to_log()' did not return a dictionary.")
204
+ # model_parameters should be a dict or a custom object with the ".to_log()" method or None
205
+ model_parameters_dict = {}
206
+
207
+ if model_parameters is not None:
208
+ if not isinstance(model_parameters, dict):
209
+ if hasattr(model_parameters, "to_log") and callable(getattr(model_parameters, "to_log")):
210
+ params_result: dict = model_parameters.to_log()
211
+ if not isinstance(params_result, dict):
212
+ _LOGGER.error("'model_parameters.to_log()' did not return a dictionary.")
213
+ raise ValueError()
214
+ model_parameters_dict = params_result
215
+ else:
216
+ _LOGGER.error("'model_parameters' must be a dict, None, or an object with a 'to_log()' method.")
206
217
  raise ValueError()
207
218
  else:
208
- _LOGGER.error("'model_parameters' must be a dict or an object with a 'to_log()' method.")
209
- raise ValueError()
210
- else:
211
- # check for empty dict
212
- if not model_parameters:
213
- _LOGGER.error("'model_parameters' dictionary is empty.")
214
- raise ValueError()
215
-
216
- model_parameters_dict = model_parameters
219
+ # check for empty dict
220
+ if not model_parameters:
221
+ _LOGGER.error("'model_parameters' dictionary is empty.")
222
+ raise ValueError()
223
+
224
+ model_parameters_dict = model_parameters
217
225
 
218
226
  # make base dictionary
219
227
  data: dict = train_config_dict | model_parameters_dict
@@ -230,6 +238,10 @@ def train_logger(train_config: Union[dict, Any],
230
238
  save_directory=save_directory,
231
239
  log_name="Training_Log",
232
240
  add_timestamp=True,
233
- dict_as='json'
241
+ dict_as='json',
242
+ verbose=1
234
243
  )
244
+
245
+ if verbose >= 2:
246
+ _LOGGER.info(f"Training log saved to '{save_directory}/Training_Log.json'")
235
247
 
@@ -14,7 +14,7 @@ from ._IO_save_load import (
14
14
  load_list_strings,
15
15
  )
16
16
 
17
- from ._imprimir import info
17
+ from .._core import _imprimir_disponibles
18
18
 
19
19
 
20
20
  __all__ = [
@@ -26,3 +26,7 @@ __all__ = [
26
26
  "load_list_strings",
27
27
  "compare_lists"
28
28
  ]
29
+
30
+
31
+ def info():
32
+ _imprimir_disponibles(__all__)
@@ -4,9 +4,11 @@ from ._dragon_mice import (
4
4
  get_imputed_distributions,
5
5
  )
6
6
 
7
- from ._MICE_imputation import run_mice_pipeline
7
+ from ._MICE_imputation import (
8
+ run_mice_pipeline,
9
+ )
8
10
 
9
- from ._imprimir import info
11
+ from .._core import _imprimir_disponibles
10
12
 
11
13
 
12
14
  __all__ = [
@@ -15,3 +17,7 @@ __all__ = [
15
17
  "get_imputed_distributions",
16
18
  "run_mice_pipeline",
17
19
  ]
20
+
21
+
22
+ def info():
23
+ _imprimir_disponibles(__all__)
@@ -284,7 +284,7 @@ class DragonMICE:
284
284
  def _save_imputed_datasets(save_dir: Union[str, Path], imputed_datasets: list, df_targets: pd.DataFrame, imputed_dataset_names: list[str]):
285
285
  for imputed_df, subname in zip(imputed_datasets, imputed_dataset_names):
286
286
  merged_df = merge_dataframes(imputed_df, df_targets, direction="horizontal", verbose=False)
287
- save_dataframe_filename(df=merged_df, save_dir=save_dir, filename=subname)
287
+ save_dataframe_filename(df=merged_df, save_dir=save_dir, filename=subname, verbose=2)
288
288
 
289
289
 
290
290
  #Convergence diagnostic
@@ -12,7 +12,7 @@ from ._scheduler import (
12
12
  DragonPlateauScheduler,
13
13
  )
14
14
 
15
- from ._imprimir import info
15
+ from .._core import _imprimir_disponibles
16
16
 
17
17
 
18
18
  __all__ = [
@@ -22,3 +22,7 @@ __all__ = [
22
22
  "DragonScheduler",
23
23
  "DragonPlateauScheduler",
24
24
  ]
25
+
26
+
27
+ def info():
28
+ _imprimir_disponibles(__all__)
@@ -12,7 +12,7 @@ from ._update_schema import (
12
12
  derive_next_step_schema
13
13
  )
14
14
 
15
- from ._imprimir import info
15
+ from .._core import _imprimir_disponibles
16
16
 
17
17
 
18
18
  __all__ = [
@@ -22,3 +22,7 @@ __all__ = [
22
22
  "augment_dataset_with_predictions_multi",
23
23
  "prepare_chaining_dataset",
24
24
  ]
25
+
26
+
27
+ def info():
28
+ _imprimir_disponibles(__all__)
@@ -41,9 +41,10 @@ from ._models import (
41
41
  from ._training import (
42
42
  DragonTrainingConfig,
43
43
  DragonParetoConfig,
44
+ DragonOptimizerConfig
44
45
  )
45
46
 
46
- from ._imprimir import info
47
+ from .._core import _imprimir_disponibles
47
48
 
48
49
 
49
50
  __all__ = [
@@ -87,4 +88,9 @@ __all__ = [
87
88
  # --- Training Config ---
88
89
  "DragonTrainingConfig",
89
90
  "DragonParetoConfig",
91
+ "DragonOptimizerConfig",
90
92
  ]
93
+
94
+
95
+ def info():
96
+ _imprimir_disponibles(__all__)
@@ -14,7 +14,8 @@ _LOGGER = get_logger("ML Configuration")
14
14
  __all__ = [
15
15
  # --- Training Config ---
16
16
  "DragonTrainingConfig",
17
- "DragonParetoConfig"
17
+ "DragonParetoConfig",
18
+ "DragonOptimizerConfig",
18
19
  ]
19
20
 
20
21
 
@@ -137,3 +138,66 @@ class DragonParetoConfig(_BaseModelParams):
137
138
  self.plot_font_size = plot_font_size
138
139
  self.discretize_start_at_zero = discretize_start_at_zero
139
140
 
141
+
142
+ class DragonOptimizerConfig(_BaseModelParams):
143
+ """
144
+ Configuration object for the Single-Objective DragonOptimizer.
145
+ """
146
+ def __init__(self,
147
+ target_name: str,
148
+ task: Literal["min", "max"],
149
+ continuous_bounds_map: Union[dict[str, tuple[float, float]], str, Path],
150
+ save_directory: Union[str, Path],
151
+ save_format: Literal['csv', 'sqlite', 'both'] = 'csv',
152
+ algorithm: Literal["SNES", "CEM", "Genetic"] = "Genetic",
153
+ population_size: int = 500,
154
+ generations: int = 1000,
155
+ repetitions: int = 1,
156
+ discretize_start_at_zero: bool = True,
157
+ **searcher_kwargs: Any):
158
+ """
159
+ Args:
160
+ target_name (str): The name of the target variable to optimize.
161
+ task (str): The optimization goal, either "min" or "max".
162
+ continuous_bounds_map (Dict | str | Path): Dictionary {feature_name: (min, max)} or path to "optimization_bounds.json".
163
+ save_directory (str | Path): Directory to save results.
164
+ save_format (str): Format for saving results ('csv', 'sqlite', 'both').
165
+ algorithm (str): Search algorithm ("SNES", "CEM", "Genetic").
166
+ population_size (int): Population size for CEM and GeneticAlgorithm.
167
+ generations (int): Number of generations per repetition.
168
+ repetitions (int): Number of independent optimization runs.
169
+ discretize_start_at_zero (bool): True if discrete encoding starts at 0.
170
+ **searcher_kwargs: Additional arguments for the specific search algorithm
171
+ (e.g., stdev_init for SNES).
172
+ """
173
+ # Validate paths
174
+ self.save_directory = make_fullpath(save_directory, make=True, enforce="directory")
175
+
176
+ if isinstance(continuous_bounds_map, (str, Path)):
177
+ self.continuous_bounds_map = make_fullpath(continuous_bounds_map, make=False, enforce="directory")
178
+ else:
179
+ self.continuous_bounds_map = continuous_bounds_map
180
+
181
+ # Core params
182
+ self.target_name = target_name
183
+ self.task = task
184
+ self.save_format = save_format
185
+ self.algorithm = algorithm
186
+ self.population_size = population_size
187
+ self.generations = generations
188
+ self.repetitions = repetitions
189
+ self.discretize_start_at_zero = discretize_start_at_zero
190
+
191
+ # Store algorithm specific kwargs
192
+ self.searcher_kwargs = searcher_kwargs
193
+
194
+ # Basic Validation
195
+ if self.task not in ["min", "max"]:
196
+ _LOGGER.error(f"Invalid task '{self.task}'. Must be 'min' or 'max'.")
197
+ raise ValueError()
198
+
199
+ valid_algos = ["SNES", "CEM", "Genetic"]
200
+ if self.algorithm not in valid_algos:
201
+ _LOGGER.error(f"Invalid algorithm '{self.algorithm}'. Must be one of {valid_algos}.")
202
+ raise ValueError()
203
+
@@ -13,7 +13,7 @@ from ._vision_datasetmaster import (
13
13
  DragonDatasetObjectDetection
14
14
  )
15
15
 
16
- from ._imprimir import info
16
+ from .._core import _imprimir_disponibles
17
17
 
18
18
 
19
19
  __all__ = [
@@ -26,3 +26,7 @@ __all__ = [
26
26
  "DragonDatasetSegmentation",
27
27
  "DragonDatasetObjectDetection",
28
28
  ]
29
+
30
+
31
+ def info():
32
+ _imprimir_disponibles(__all__)