dragon-ml-toolbox 20.2.0__tar.gz → 20.3.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.3.0}/PKG-INFO +1 -1
  2. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0/dragon_ml_toolbox.egg-info}/PKG-INFO +1 -1
  3. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/dragon_ml_toolbox.egg-info/SOURCES.txt +4 -40
  4. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ETL_cleaning/__init__.py +5 -1
  5. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ETL_cleaning/_basic_clean.py +1 -1
  6. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ETL_engineering/__init__.py +5 -1
  7. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/GUI_tools/__init__.py +5 -1
  8. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/IO_tools/_IO_loggers.py +12 -4
  9. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/IO_tools/__init__.py +5 -1
  10. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/MICE/__init__.py +8 -2
  11. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/MICE/_dragon_mice.py +1 -1
  12. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_callbacks/__init__.py +5 -1
  13. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_chain/__init__.py +5 -1
  14. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_configuration/__init__.py +7 -1
  15. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_configuration/_training.py +65 -1
  16. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_datasetmaster/__init__.py +5 -1
  17. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_datasetmaster/_base_datasetmaster.py +31 -20
  18. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_datasetmaster/_datasetmaster.py +26 -9
  19. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_datasetmaster/_sequence_datasetmaster.py +38 -23
  20. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation/__init__.py +5 -1
  21. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation_captum/__init__.py +5 -1
  22. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_finalize_handler/__init__.py +5 -1
  23. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference/__init__.py +5 -1
  24. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference_sequence/__init__.py +5 -1
  25. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference_vision/__init__.py +5 -1
  26. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models/__init__.py +21 -6
  27. dragon_ml_toolbox-20.3.0/ml_tools/ML_models/_dragon_autoint.py +302 -0
  28. dragon_ml_toolbox-20.3.0/ml_tools/ML_models/_dragon_gate.py +358 -0
  29. dragon_ml_toolbox-20.3.0/ml_tools/ML_models/_dragon_node.py +268 -0
  30. dragon_ml_toolbox-20.3.0/ml_tools/ML_models/_dragon_tabnet.py +255 -0
  31. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models_sequence/__init__.py +5 -1
  32. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models_vision/__init__.py +5 -1
  33. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_optimization/__init__.py +11 -3
  34. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_optimization/_multi_dragon.py +2 -2
  35. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_optimization/_single_dragon.py +47 -67
  36. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_optimization/_single_manual.py +1 -1
  37. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_scaler/_ML_scaler.py +12 -7
  38. dragon_ml_toolbox-20.3.0/ml_tools/ML_scaler/__init__.py +14 -0
  39. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_trainer/__init__.py +5 -1
  40. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_trainer/_base_trainer.py +136 -13
  41. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_trainer/_dragon_detection_trainer.py +31 -91
  42. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_trainer/_dragon_sequence_trainer.py +24 -74
  43. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_trainer/_dragon_trainer.py +24 -85
  44. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_utilities/__init__.py +5 -1
  45. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_utilities/_inspection.py +44 -30
  46. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_vision_transformers/__init__.py +8 -2
  47. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/PSO_optimization/__init__.py +5 -1
  48. dragon_ml_toolbox-20.3.0/ml_tools/SQL/__init__.py +13 -0
  49. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/VIF/__init__.py +5 -1
  50. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/data_exploration/__init__.py +4 -1
  51. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/data_exploration/_cleaning.py +4 -2
  52. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ensemble_evaluation/__init__.py +5 -1
  53. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ensemble_inference/__init__.py +5 -1
  54. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ensemble_learning/__init__.py +5 -1
  55. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/excel_handler/__init__.py +5 -1
  56. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/keys/__init__.py +5 -1
  57. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/math_utilities/__init__.py +5 -1
  58. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/optimization_tools/__init__.py +5 -1
  59. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/path_manager/__init__.py +8 -2
  60. dragon_ml_toolbox-20.3.0/ml_tools/plot_fonts/__init__.py +14 -0
  61. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/schema/__init__.py +8 -2
  62. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/schema/_feature_schema.py +3 -3
  63. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/serde/__init__.py +5 -1
  64. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/utilities/__init__.py +5 -1
  65. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/utilities/_utility_save_load.py +38 -20
  66. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/pyproject.toml +4 -6
  67. dragon_ml_toolbox-20.2.0/ml_tools/ETL_cleaning/_imprimir.py +0 -13
  68. dragon_ml_toolbox-20.2.0/ml_tools/ETL_engineering/_imprimir.py +0 -24
  69. dragon_ml_toolbox-20.2.0/ml_tools/GUI_tools/_imprimir.py +0 -12
  70. dragon_ml_toolbox-20.2.0/ml_tools/IO_tools/_imprimir.py +0 -14
  71. dragon_ml_toolbox-20.2.0/ml_tools/MICE/_imprimir.py +0 -11
  72. dragon_ml_toolbox-20.2.0/ml_tools/ML_callbacks/_imprimir.py +0 -12
  73. dragon_ml_toolbox-20.2.0/ml_tools/ML_chain/_imprimir.py +0 -12
  74. dragon_ml_toolbox-20.2.0/ml_tools/ML_configuration/_imprimir.py +0 -47
  75. dragon_ml_toolbox-20.2.0/ml_tools/ML_datasetmaster/_imprimir.py +0 -15
  76. dragon_ml_toolbox-20.2.0/ml_tools/ML_evaluation/_imprimir.py +0 -25
  77. dragon_ml_toolbox-20.2.0/ml_tools/ML_evaluation_captum/_imprimir.py +0 -10
  78. dragon_ml_toolbox-20.2.0/ml_tools/ML_finalize_handler/_imprimir.py +0 -8
  79. dragon_ml_toolbox-20.2.0/ml_tools/ML_inference/_imprimir.py +0 -11
  80. dragon_ml_toolbox-20.2.0/ml_tools/ML_inference_sequence/_imprimir.py +0 -8
  81. dragon_ml_toolbox-20.2.0/ml_tools/ML_inference_vision/_imprimir.py +0 -8
  82. dragon_ml_toolbox-20.2.0/ml_tools/ML_models/_advanced_models.py +0 -1086
  83. dragon_ml_toolbox-20.2.0/ml_tools/ML_models/_imprimir.py +0 -18
  84. dragon_ml_toolbox-20.2.0/ml_tools/ML_models_sequence/_imprimir.py +0 -8
  85. dragon_ml_toolbox-20.2.0/ml_tools/ML_models_vision/_imprimir.py +0 -16
  86. dragon_ml_toolbox-20.2.0/ml_tools/ML_optimization/_imprimir.py +0 -13
  87. dragon_ml_toolbox-20.2.0/ml_tools/ML_scaler/__init__.py +0 -10
  88. dragon_ml_toolbox-20.2.0/ml_tools/ML_scaler/_imprimir.py +0 -8
  89. dragon_ml_toolbox-20.2.0/ml_tools/ML_trainer/_imprimir.py +0 -10
  90. dragon_ml_toolbox-20.2.0/ml_tools/ML_utilities/_imprimir.py +0 -16
  91. dragon_ml_toolbox-20.2.0/ml_tools/ML_vision_transformers/_imprimir.py +0 -14
  92. dragon_ml_toolbox-20.2.0/ml_tools/PSO_optimization/_imprimir.py +0 -10
  93. dragon_ml_toolbox-20.2.0/ml_tools/SQL/__init__.py +0 -7
  94. dragon_ml_toolbox-20.2.0/ml_tools/SQL/_imprimir.py +0 -8
  95. dragon_ml_toolbox-20.2.0/ml_tools/VIF/_imprimir.py +0 -10
  96. dragon_ml_toolbox-20.2.0/ml_tools/data_exploration/_imprimir.py +0 -32
  97. dragon_ml_toolbox-20.2.0/ml_tools/ensemble_evaluation/_imprimir.py +0 -14
  98. dragon_ml_toolbox-20.2.0/ml_tools/ensemble_inference/_imprimir.py +0 -9
  99. dragon_ml_toolbox-20.2.0/ml_tools/ensemble_learning/_imprimir.py +0 -10
  100. dragon_ml_toolbox-20.2.0/ml_tools/excel_handler/_imprimir.py +0 -13
  101. dragon_ml_toolbox-20.2.0/ml_tools/keys/_imprimir.py +0 -11
  102. dragon_ml_toolbox-20.2.0/ml_tools/math_utilities/_imprimir.py +0 -11
  103. dragon_ml_toolbox-20.2.0/ml_tools/optimization_tools/_imprimir.py +0 -13
  104. dragon_ml_toolbox-20.2.0/ml_tools/path_manager/_imprimir.py +0 -15
  105. dragon_ml_toolbox-20.2.0/ml_tools/plot_fonts/__init__.py +0 -8
  106. dragon_ml_toolbox-20.2.0/ml_tools/plot_fonts/_imprimir.py +0 -8
  107. dragon_ml_toolbox-20.2.0/ml_tools/schema/_imprimir.py +0 -10
  108. dragon_ml_toolbox-20.2.0/ml_tools/serde/_imprimir.py +0 -10
  109. dragon_ml_toolbox-20.2.0/ml_tools/utilities/_imprimir.py +0 -18
  110. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/LICENSE +0 -0
  111. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/LICENSE-THIRD-PARTY.md +0 -0
  112. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/README.md +0 -0
  113. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/dragon_ml_toolbox.egg-info/dependency_links.txt +0 -0
  114. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/dragon_ml_toolbox.egg-info/requires.txt +0 -0
  115. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/dragon_ml_toolbox.egg-info/top_level.txt +0 -0
  116. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ETL_cleaning/_clean_tools.py +0 -0
  117. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ETL_cleaning/_dragon_cleaner.py +0 -0
  118. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ETL_engineering/_dragon_engineering.py +0 -0
  119. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ETL_engineering/_transforms.py +0 -0
  120. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/GUI_tools/_GUI_tools.py +0 -0
  121. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/IO_tools/_IO_save_load.py +0 -0
  122. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/IO_tools/_IO_utils.py +0 -0
  123. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/MICE/_MICE_imputation.py +0 -0
  124. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_callbacks/_base.py +0 -0
  125. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_callbacks/_checkpoint.py +0 -0
  126. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_callbacks/_early_stop.py +0 -0
  127. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_callbacks/_scheduler.py +0 -0
  128. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_chain/_chaining_tools.py +0 -0
  129. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_chain/_dragon_chain.py +0 -0
  130. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_chain/_update_schema.py +0 -0
  131. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_configuration/_base_model_config.py +0 -0
  132. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_configuration/_finalize.py +0 -0
  133. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_configuration/_metrics.py +0 -0
  134. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_configuration/_models.py +0 -0
  135. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_datasetmaster/_vision_datasetmaster.py +0 -0
  136. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation/_classification.py +0 -0
  137. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation/_feature_importance.py +0 -0
  138. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation/_loss.py +0 -0
  139. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation/_regression.py +0 -0
  140. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation/_sequence.py +0 -0
  141. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation/_vision.py +0 -0
  142. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_evaluation_captum/_ML_evaluation_captum.py +0 -0
  143. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_finalize_handler/_ML_finalize_handler.py +0 -0
  144. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference/_base_inference.py +0 -0
  145. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference/_chain_inference.py +0 -0
  146. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference/_dragon_inference.py +0 -0
  147. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference/_multi_inference.py +0 -0
  148. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference_sequence/_sequence_inference.py +0 -0
  149. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_inference_vision/_vision_inference.py +0 -0
  150. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models/_base_mlp_attention.py +0 -0
  151. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models/_base_save_load.py +0 -0
  152. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models/_dragon_tabular.py +0 -0
  153. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models/_mlp_attention.py +0 -0
  154. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models/_models_advanced_helpers.py +0 -0
  155. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models_sequence/_sequence_models.py +0 -0
  156. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models_vision/_base_wrapper.py +0 -0
  157. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models_vision/_image_classification.py +0 -0
  158. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models_vision/_image_segmentation.py +0 -0
  159. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_models_vision/_object_detection.py +0 -0
  160. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_utilities/_artifact_finder.py +0 -0
  161. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_utilities/_train_tools.py +0 -0
  162. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_vision_transformers/_core_transforms.py +0 -0
  163. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ML_vision_transformers/_offline_augmentation.py +0 -0
  164. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/PSO_optimization/_PSO.py +0 -0
  165. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/SQL/_dragon_SQL.py +0 -0
  166. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/VIF/_VIF_factor.py +0 -0
  167. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/__init__.py +0 -0
  168. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/_core/__init__.py +0 -0
  169. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/_core/_logger.py +0 -0
  170. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/_core/_schema_load_ops.py +0 -0
  171. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/_core/_script_info.py +0 -0
  172. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/constants.py +0 -0
  173. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/data_exploration/_analysis.py +0 -0
  174. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/data_exploration/_features.py +0 -0
  175. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/data_exploration/_plotting.py +0 -0
  176. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/data_exploration/_schema_ops.py +0 -0
  177. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ensemble_evaluation/_ensemble_evaluation.py +0 -0
  178. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ensemble_inference/_ensemble_inference.py +0 -0
  179. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/ensemble_learning/_ensemble_learning.py +0 -0
  180. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/excel_handler/_excel_handler.py +0 -0
  181. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/keys/_keys.py +0 -0
  182. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/math_utilities/_math_utilities.py +0 -0
  183. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/optimization_tools/_optimization_bounds.py +0 -0
  184. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/optimization_tools/_optimization_plots.py +0 -0
  185. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/path_manager/_dragonmanager.py +0 -0
  186. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/path_manager/_path_tools.py +0 -0
  187. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/plot_fonts/_plot_fonts.py +0 -0
  188. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/schema/_gui_schema.py +0 -0
  189. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/serde/_serde.py +0 -0
  190. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.0}/ml_tools/utilities/_utility_tools.py +0 -0
  191. {dragon_ml_toolbox-20.2.0 → dragon_ml_toolbox-20.3.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.3.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.3.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.")
@@ -169,7 +172,8 @@ def _log_dict_to_json(data: dict[Any, Any], path: Path) -> None:
169
172
  def train_logger(train_config: Union[dict, Any],
170
173
  model_parameters: Union[dict, Any],
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
 
@@ -230,6 +234,10 @@ def train_logger(train_config: Union[dict, Any],
230
234
  save_directory=save_directory,
231
235
  log_name="Training_Log",
232
236
  add_timestamp=True,
233
- dict_as='json'
237
+ dict_as='json',
238
+ verbose=1
234
239
  )
240
+
241
+ if verbose >= 2:
242
+ _LOGGER.info(f"Training log saved to '{save_directory}/Training_Log.json'")
235
243
 
@@ -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__)
@@ -6,7 +6,7 @@ from typing import Union, Optional
6
6
  from abc import ABC
7
7
  from pathlib import Path
8
8
 
9
- from ..IO_tools import save_list_strings, custom_logger
9
+ from ..IO_tools import save_list_strings, save_json
10
10
  from ..ML_scaler import DragonScaler
11
11
  from ..schema import FeatureSchema
12
12
 
@@ -126,13 +126,15 @@ class _BaseDatasetMaker(ABC):
126
126
  X_val: pandas.DataFrame,
127
127
  X_test: pandas.DataFrame,
128
128
  label_dtype: torch.dtype,
129
- schema: FeatureSchema) -> tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]:
129
+ schema: FeatureSchema,
130
+ verbose:int = 3) -> tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]:
130
131
  """Internal helper to fit and apply a DragonScaler for FEATURES using a FeatureSchema."""
131
132
  continuous_feature_indices: Optional[list[int]] = None
132
133
 
133
134
  # Get continuous feature indices *from the schema*
134
135
  if schema.continuous_feature_names:
135
- _LOGGER.info("Getting continuous feature indices from schema.")
136
+ if verbose >= 2:
137
+ _LOGGER.info("Getting continuous feature indices from schema.")
136
138
  try:
137
139
  # Convert columns to a standard list for .index()
138
140
  train_cols_list = X_train.columns.to_list()
@@ -142,7 +144,8 @@ class _BaseDatasetMaker(ABC):
142
144
  _LOGGER.error(f"Feature name from schema not found in training data columns:\n{e}")
143
145
  raise ValueError()
144
146
  else:
145
- _LOGGER.info("No continuous features listed in schema. Feature scaler will not be fitted.")
147
+ if verbose >= 2:
148
+ _LOGGER.info("No continuous features listed in schema. Feature scaler will not be fitted.")
146
149
 
147
150
  X_train_values = X_train.to_numpy()
148
151
  X_val_values = X_val.to_numpy()
@@ -150,23 +153,29 @@ class _BaseDatasetMaker(ABC):
150
153
 
151
154
  # continuous_feature_indices is derived
152
155
  if self.feature_scaler is None and continuous_feature_indices:
153
- _LOGGER.info("Fitting a new DragonScaler on training features.")
156
+ if verbose >= 3:
157
+ _LOGGER.info("Fitting a new DragonScaler on training features.")
154
158
  temp_train_ds = _PytorchDataset(X_train_values, y_train, label_dtype)
155
- self.feature_scaler = DragonScaler.fit(temp_train_ds, continuous_feature_indices)
159
+ self.feature_scaler = DragonScaler.fit(temp_train_ds, continuous_feature_indices, verbose=verbose)
156
160
 
157
161
  if self.feature_scaler and self.feature_scaler.mean_ is not None:
158
- _LOGGER.info("Applying scaler transformation to train, validation, and test feature sets.")
162
+ if verbose >= 3:
163
+ _LOGGER.info("Applying scaler transformation to train, validation, and test feature sets.")
159
164
  X_train_tensor = self.feature_scaler.transform(torch.tensor(X_train_values, dtype=torch.float32))
160
165
  X_val_tensor = self.feature_scaler.transform(torch.tensor(X_val_values, dtype=torch.float32))
161
166
  X_test_tensor = self.feature_scaler.transform(torch.tensor(X_test_values, dtype=torch.float32))
162
167
  return X_train_tensor.numpy(), X_val_tensor.numpy(), X_test_tensor.numpy()
168
+
169
+ if verbose >= 2:
170
+ _LOGGER.info("Feature scaling transformation complete.")
163
171
 
164
172
  return X_train_values, X_val_values, X_test_values
165
173
 
166
174
  def _prepare_target_scaler(self,
167
175
  y_train: Union[pandas.Series, pandas.DataFrame],
168
176
  y_val: Union[pandas.Series, pandas.DataFrame],
169
- y_test: Union[pandas.Series, pandas.DataFrame]) -> tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]:
177
+ y_test: Union[pandas.Series, pandas.DataFrame],
178
+ verbose: int = 3) -> tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]:
170
179
  """Internal helper to fit and apply a DragonScaler for TARGETS."""
171
180
 
172
181
  y_train_arr = y_train.to_numpy() if isinstance(y_train, (pandas.Series, pandas.DataFrame)) else y_train
@@ -180,17 +189,19 @@ class _BaseDatasetMaker(ABC):
180
189
  # ------------------------------------------------------------------
181
190
 
182
191
  if self.target_scaler is None:
183
- _LOGGER.info("Fitting a new DragonScaler on training targets.")
192
+ if verbose >= 2:
193
+ _LOGGER.info("Fitting a new DragonScaler on training targets.")
184
194
  # Convert to float tensor for calculation
185
195
  y_train_tensor = torch.tensor(y_train_arr, dtype=torch.float32)
186
- self.target_scaler = DragonScaler.fit_tensor(y_train_tensor)
196
+ self.target_scaler = DragonScaler.fit_tensor(y_train_tensor, verbose=verbose)
187
197
 
188
198
  if self.target_scaler and self.target_scaler.mean_ is not None:
189
- _LOGGER.info("Applying scaler transformation to train, validation, and test targets.")
190
- y_train_tensor = self.target_scaler.transform(torch.tensor(y_train_arr, dtype=torch.float32))
191
- y_val_tensor = self.target_scaler.transform(torch.tensor(y_val_arr, dtype=torch.float32))
192
- y_test_tensor = self.target_scaler.transform(torch.tensor(y_test_arr, dtype=torch.float32))
193
- return y_train_tensor.numpy(), y_val_tensor.numpy(), y_test_tensor.numpy()
199
+ if verbose >= 3:
200
+ _LOGGER.info("Applying scaler transformation to train, validation, and test targets.")
201
+ y_train_tensor = self.target_scaler.transform(torch.tensor(y_train_arr, dtype=torch.float32))
202
+ y_val_tensor = self.target_scaler.transform(torch.tensor(y_val_arr, dtype=torch.float32))
203
+ y_test_tensor = self.target_scaler.transform(torch.tensor(y_test_arr, dtype=torch.float32))
204
+ return y_train_tensor.numpy(), y_val_tensor.numpy(), y_test_tensor.numpy()
194
205
 
195
206
  return y_train_arr, y_val_arr, y_test_arr
196
207
 
@@ -318,11 +329,11 @@ class _BaseDatasetMaker(ABC):
318
329
 
319
330
  log_name = f"Class_to_Index_{self.id}" if self.id else "Class_to_Index"
320
331
 
321
- custom_logger(data=self.class_map,
322
- save_directory=directory,
323
- log_name=log_name,
324
- add_timestamp=False,
325
- dict_as="json")
332
+ save_json(data=self.class_map,
333
+ directory=directory,
334
+ filename=log_name,
335
+ verbose=False)
336
+
326
337
  if verbose:
327
338
  _LOGGER.info(f"Class map for '{self.id}' saved as '{log_name}.json'.")
328
339