dragon-ml-toolbox 20.12.0__tar.gz → 20.14.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 (154) hide show
  1. {dragon_ml_toolbox-20.12.0/dragon_ml_toolbox.egg-info → dragon_ml_toolbox-20.14.0}/PKG-INFO +1 -1
  2. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0/dragon_ml_toolbox.egg-info}/PKG-INFO +1 -1
  3. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation_captum/_ML_evaluation_captum.py +15 -5
  4. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_scaler/_ML_scaler.py +2 -2
  5. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/data_exploration/__init__.py +2 -0
  6. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/data_exploration/_analysis.py +1 -1
  7. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/data_exploration/_features.py +63 -0
  8. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/keys/_keys.py +3 -2
  9. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/pyproject.toml +1 -1
  10. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/LICENSE +0 -0
  11. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/LICENSE-THIRD-PARTY.md +0 -0
  12. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/README.md +0 -0
  13. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/dragon_ml_toolbox.egg-info/SOURCES.txt +0 -0
  14. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/dragon_ml_toolbox.egg-info/dependency_links.txt +0 -0
  15. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/dragon_ml_toolbox.egg-info/requires.txt +0 -0
  16. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/dragon_ml_toolbox.egg-info/top_level.txt +0 -0
  17. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ETL_cleaning/__init__.py +0 -0
  18. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ETL_cleaning/_basic_clean.py +0 -0
  19. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ETL_cleaning/_clean_tools.py +0 -0
  20. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ETL_cleaning/_dragon_cleaner.py +0 -0
  21. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ETL_engineering/__init__.py +0 -0
  22. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ETL_engineering/_dragon_engineering.py +0 -0
  23. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ETL_engineering/_transforms.py +0 -0
  24. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/GUI_tools/_GUI_tools.py +0 -0
  25. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/GUI_tools/__init__.py +0 -0
  26. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/IO_tools/_IO_loggers.py +0 -0
  27. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/IO_tools/_IO_save_load.py +0 -0
  28. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/IO_tools/_IO_utils.py +0 -0
  29. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/IO_tools/__init__.py +0 -0
  30. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/MICE/_MICE_imputation.py +0 -0
  31. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/MICE/__init__.py +0 -0
  32. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/MICE/_dragon_mice.py +0 -0
  33. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_callbacks/__init__.py +0 -0
  34. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_callbacks/_base.py +0 -0
  35. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_callbacks/_checkpoint.py +0 -0
  36. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_callbacks/_early_stop.py +0 -0
  37. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_callbacks/_scheduler.py +0 -0
  38. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_chain/__init__.py +0 -0
  39. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_chain/_chaining_tools.py +0 -0
  40. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_chain/_dragon_chain.py +0 -0
  41. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_chain/_update_schema.py +0 -0
  42. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_configuration/__init__.py +0 -0
  43. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_configuration/_base_model_config.py +0 -0
  44. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_configuration/_finalize.py +0 -0
  45. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_configuration/_metrics.py +0 -0
  46. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_configuration/_models.py +0 -0
  47. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_configuration/_training.py +0 -0
  48. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_datasetmaster/__init__.py +0 -0
  49. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_datasetmaster/_base_datasetmaster.py +0 -0
  50. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_datasetmaster/_datasetmaster.py +0 -0
  51. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_datasetmaster/_sequence_datasetmaster.py +0 -0
  52. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_datasetmaster/_vision_datasetmaster.py +0 -0
  53. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/__init__.py +0 -0
  54. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/_classification.py +0 -0
  55. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/_feature_importance.py +0 -0
  56. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/_helpers.py +0 -0
  57. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/_loss.py +0 -0
  58. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/_regression.py +0 -0
  59. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/_sequence.py +0 -0
  60. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation/_vision.py +0 -0
  61. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_evaluation_captum/__init__.py +0 -0
  62. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_finalize_handler/_ML_finalize_handler.py +0 -0
  63. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_finalize_handler/__init__.py +0 -0
  64. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference/__init__.py +0 -0
  65. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference/_base_inference.py +0 -0
  66. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference/_chain_inference.py +0 -0
  67. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference/_dragon_inference.py +0 -0
  68. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference/_multi_inference.py +0 -0
  69. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference_sequence/__init__.py +0 -0
  70. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference_sequence/_sequence_inference.py +0 -0
  71. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference_vision/__init__.py +0 -0
  72. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_inference_vision/_vision_inference.py +0 -0
  73. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/__init__.py +0 -0
  74. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_base_mlp_attention.py +0 -0
  75. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_base_save_load.py +0 -0
  76. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_dragon_autoint.py +0 -0
  77. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_dragon_gate.py +0 -0
  78. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_dragon_node.py +0 -0
  79. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_dragon_tabnet.py +0 -0
  80. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_dragon_tabular.py +0 -0
  81. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_mlp_attention.py +0 -0
  82. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models/_models_advanced_helpers.py +0 -0
  83. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models_sequence/__init__.py +0 -0
  84. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models_sequence/_sequence_models.py +0 -0
  85. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models_vision/__init__.py +0 -0
  86. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models_vision/_base_wrapper.py +0 -0
  87. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models_vision/_image_classification.py +0 -0
  88. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models_vision/_image_segmentation.py +0 -0
  89. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_models_vision/_object_detection.py +0 -0
  90. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_optimization/__init__.py +0 -0
  91. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_optimization/_multi_dragon.py +0 -0
  92. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_optimization/_single_dragon.py +0 -0
  93. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_optimization/_single_manual.py +0 -0
  94. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_scaler/__init__.py +0 -0
  95. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_trainer/__init__.py +0 -0
  96. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_trainer/_base_trainer.py +0 -0
  97. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_trainer/_dragon_detection_trainer.py +0 -0
  98. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_trainer/_dragon_sequence_trainer.py +0 -0
  99. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_trainer/_dragon_trainer.py +0 -0
  100. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_utilities/__init__.py +0 -0
  101. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_utilities/_artifact_finder.py +0 -0
  102. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_utilities/_inspection.py +0 -0
  103. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_utilities/_train_tools.py +0 -0
  104. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_vision_transformers/__init__.py +0 -0
  105. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_vision_transformers/_core_transforms.py +0 -0
  106. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ML_vision_transformers/_offline_augmentation.py +0 -0
  107. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/PSO_optimization/_PSO.py +0 -0
  108. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/PSO_optimization/__init__.py +0 -0
  109. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/SQL/__init__.py +0 -0
  110. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/SQL/_dragon_SQL.py +0 -0
  111. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/VIF/_VIF_factor.py +0 -0
  112. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/VIF/__init__.py +0 -0
  113. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/__init__.py +0 -0
  114. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/_core/__init__.py +0 -0
  115. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/_core/_logger.py +0 -0
  116. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/_core/_schema_load_ops.py +0 -0
  117. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/_core/_script_info.py +0 -0
  118. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/constants.py +0 -0
  119. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/data_exploration/_cleaning.py +0 -0
  120. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/data_exploration/_plotting.py +0 -0
  121. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/data_exploration/_schema_ops.py +0 -0
  122. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ensemble_evaluation/__init__.py +0 -0
  123. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ensemble_evaluation/_ensemble_evaluation.py +0 -0
  124. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ensemble_inference/__init__.py +0 -0
  125. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ensemble_inference/_ensemble_inference.py +0 -0
  126. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ensemble_learning/__init__.py +0 -0
  127. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/ensemble_learning/_ensemble_learning.py +0 -0
  128. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/excel_handler/__init__.py +0 -0
  129. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/excel_handler/_excel_handler.py +0 -0
  130. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/keys/__init__.py +0 -0
  131. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/math_utilities/__init__.py +0 -0
  132. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/math_utilities/_math_utilities.py +0 -0
  133. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/optimization_tools/__init__.py +0 -0
  134. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/optimization_tools/_optimization_bounds.py +0 -0
  135. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/optimization_tools/_optimization_plots.py +0 -0
  136. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/path_manager/__init__.py +0 -0
  137. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/path_manager/_dragonmanager.py +0 -0
  138. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/path_manager/_path_tools.py +0 -0
  139. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/plot_fonts/__init__.py +0 -0
  140. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/plot_fonts/_plot_fonts.py +0 -0
  141. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/resampling/__init__.py +0 -0
  142. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/resampling/_base_resampler.py +0 -0
  143. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/resampling/_multi_resampling.py +0 -0
  144. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/resampling/_single_resampling.py +0 -0
  145. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/schema/__init__.py +0 -0
  146. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/schema/_feature_schema.py +0 -0
  147. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/schema/_gui_schema.py +0 -0
  148. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/serde/__init__.py +0 -0
  149. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/serde/_serde.py +0 -0
  150. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/utilities/__init__.py +0 -0
  151. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/utilities/_translate.py +0 -0
  152. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/utilities/_utility_save_load.py +0 -0
  153. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/ml_tools/utilities/_utility_tools.py +0 -0
  154. {dragon_ml_toolbox-20.12.0 → dragon_ml_toolbox-20.14.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 20.12.0
3
+ Version: 20.14.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.12.0
3
+ Version: 20.14.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
@@ -202,6 +202,13 @@ def _process_single_target(ig: 'IntegratedGradients', # type: ignore
202
202
  mean_abs_attr = mean_abs_attr[:min_len]
203
203
  feature_names = feature_names[:min_len]
204
204
 
205
+ # Calculate percentages (Before Min-Max scaling to preserve relative importance)
206
+ total_attr_sum = np.sum(mean_abs_attr)
207
+ if total_attr_sum > 0:
208
+ attr_percentages = (mean_abs_attr / total_attr_sum) * 100.0
209
+ else:
210
+ attr_percentages = np.zeros_like(mean_abs_attr)
211
+
205
212
  # Min-Max Scaling
206
213
  target_min = 0.01
207
214
  target_max = 1.0
@@ -222,7 +229,8 @@ def _process_single_target(ig: 'IntegratedGradients', # type: ignore
222
229
  # --- Save Data to CSV ---
223
230
  summary_df = pd.DataFrame({
224
231
  CaptumKeys.FEATURE_COLUMN: feature_names,
225
- CaptumKeys.IMPORTANCE_COLUMN: mean_abs_attr
232
+ CaptumKeys.IMPORTANCE_COLUMN: mean_abs_attr,
233
+ CaptumKeys.PERCENT_COLUMN: attr_percentages
226
234
  }).sort_values(CaptumKeys.IMPORTANCE_COLUMN, ascending=False)
227
235
 
228
236
  csv_name = f"{CaptumKeys.SAVENAME}{file_suffix}.csv"
@@ -230,11 +238,13 @@ def _process_single_target(ig: 'IntegratedGradients', # type: ignore
230
238
  summary_df.to_csv(csv_path, index=False)
231
239
 
232
240
  # --- Generate Plot ---
233
- plot_df = summary_df.head(20).sort_values(CaptumKeys.IMPORTANCE_COLUMN, ascending=True)
241
+ plot_df = summary_df.head(20).sort_values(CaptumKeys.PERCENT_COLUMN, ascending=True)
234
242
  plt.figure(figsize=(10, 8), dpi=300)
235
- plt.barh(plot_df[CaptumKeys.FEATURE_COLUMN], plot_df[CaptumKeys.IMPORTANCE_COLUMN], color='mediumpurple')
236
- plt.xlim(0, 1.05) # standardized scale
237
- plt.xlabel("Mean Absolute Attribution")
243
+ plt.barh(plot_df[CaptumKeys.FEATURE_COLUMN], plot_df[CaptumKeys.PERCENT_COLUMN], color='mediumpurple')
244
+ # plt.xlim(0, 1.05) # standardized scale # Removed to reflect actual percentages
245
+ plt.xlim(left=0) # start at 0
246
+ # plt.xlabel("Scaled Mean Absolute Attribution")
247
+ plt.xlabel("Relative Importance (%)")
238
248
 
239
249
  title = "Feature Importance"
240
250
 
@@ -99,7 +99,7 @@ class DragonScaler:
99
99
  std = torch.sqrt(torch.clamp(variance, min=1e-8))
100
100
 
101
101
  if verbose >= 2:
102
- _LOGGER.info(f"Scaler fitted on {n_total} samples for {num_continuous_features} features (Welford's).")
102
+ _LOGGER.info(f"Scaler fitted on {n_total} samples for {num_continuous_features} columns (Welford's).")
103
103
  return cls(mean=mean_global, std=std, continuous_feature_indices=continuous_feature_indices)
104
104
 
105
105
  @classmethod
@@ -121,7 +121,7 @@ class DragonScaler:
121
121
  std = torch.where(std == 0, torch.tensor(1.0, device=data.device), std)
122
122
 
123
123
  if verbose >= 2:
124
- _LOGGER.info(f"Scaler fitted on tensor with {data.shape[0]} samples for {num_features} features.")
124
+ _LOGGER.info(f"Scaler fitted on tensor with {data.shape[0]} samples for {num_features} columns.")
125
125
 
126
126
  return cls(mean=mean, std=std, continuous_feature_indices=indices)
127
127
 
@@ -33,6 +33,7 @@ from ._features import (
33
33
  reconstruct_one_hot,
34
34
  reconstruct_binary,
35
35
  reconstruct_multibinary,
36
+ filter_subset,
36
37
  )
37
38
 
38
39
  from ._schema_ops import (
@@ -51,6 +52,7 @@ __all__ = [
51
52
  "drop_columns_with_missing_data",
52
53
  "drop_macro",
53
54
  "clean_column_names",
55
+ "filter_subset",
54
56
  "plot_value_distributions",
55
57
  "split_features_targets",
56
58
  "split_continuous_binary",
@@ -34,7 +34,7 @@ def summarize_dataframe(df: pd.DataFrame, round_digits: int = 2):
34
34
  """
35
35
  summary = pd.DataFrame({
36
36
  'Data Type': df.dtypes,
37
- 'Completeness %': (df.notnull().mean() * 100).round(2),
37
+ 'Completeness %': (df.notnull().mean() * 100).round(2), # type: ignore
38
38
  'Unique Values': df.nunique(),
39
39
  # 'Missing %': (df.isnull().mean() * 100).round(2)
40
40
  })
@@ -657,3 +657,66 @@ def reconstruct_multibinary(
657
657
  _LOGGER.info(f"Reconstructed {converted_count} binary columns matching '{pattern}'.")
658
658
 
659
659
  return new_df, target_columns
660
+
661
+
662
+ def filter_subset(
663
+ df: pd.DataFrame,
664
+ filters: Union[dict[str, Any], dict[str, list[Any]]],
665
+ drop_filter_cols: bool = True,
666
+ reset_index: bool = True,
667
+ verbose: int = 3
668
+ ) -> pd.DataFrame:
669
+ """
670
+ Filters the DataFrame based on a dictionary of column-value conditions.
671
+
672
+ Supports:
673
+ - Single value matching (e.g., {"Color": "Blue"})
674
+ - Multiple value matching (e.g., {"Color": ["Blue", "Red"]}) -> OR logic within column.
675
+ - Multiple column filtering (e.g., {"Color": "Blue", "Size": "Large"}) -> AND logic between columns.
676
+
677
+ Args:
678
+ df (pd.DataFrame): Input DataFrame.
679
+ filters (dict[str, Any] | dict[str, list[Any]]): Dictionary where keys are column names and values are the target values (scalar or list).
680
+ drop_filter_cols (bool): If True, drops the columns used for filtering from the result.
681
+ reset_index (bool): If True, resets the index of the resulting DataFrame.
682
+ verbose (int): Verbosity level.
683
+
684
+ Returns:
685
+ pd.DataFrame: The filtered DataFrame.
686
+ """
687
+ df_filtered = df.copy()
688
+
689
+ # Validate columns exist
690
+ missing_cols = [col for col in filters.keys() if col not in df.columns]
691
+ if missing_cols:
692
+ _LOGGER.error(f"Filter columns not found: {missing_cols}")
693
+ raise ValueError()
694
+
695
+ if verbose >= 2:
696
+ _LOGGER.info(f"Original shape: {df.shape}")
697
+
698
+ for col, value in filters.items():
699
+ # Handle list of values (OR logic within column)
700
+ if isinstance(value, list):
701
+ df_filtered = df_filtered[df_filtered[col].isin(value)]
702
+ # Handle single value
703
+ else:
704
+ # Warn if the value is a floating point due to potential precision issues
705
+ if isinstance(value, float) and verbose >= 1:
706
+ _LOGGER.warning(f"Filtering on column '{col}' with float value '{value}'.")
707
+ df_filtered = df_filtered[df_filtered[col] == value]
708
+
709
+ if drop_filter_cols:
710
+ if verbose >= 3:
711
+ _LOGGER.info(f"Dropping filter columns: {list(filters.keys())}")
712
+ df_filtered.drop(columns=list(filters.keys()), inplace=True)
713
+
714
+ if reset_index:
715
+ if verbose >= 3:
716
+ _LOGGER.info("Resetting index of the filtered DataFrame.")
717
+ df_filtered.reset_index(drop=True, inplace=True)
718
+
719
+ if verbose >= 2:
720
+ _LOGGER.info(f"Filtered shape: {df_filtered.shape}")
721
+
722
+ return df_filtered
@@ -99,8 +99,9 @@ class SHAPKeys:
99
99
 
100
100
  class CaptumKeys:
101
101
  """Keys for Captum functions"""
102
- FEATURE_COLUMN = "feature"
103
- IMPORTANCE_COLUMN = "importance"
102
+ FEATURE_COLUMN = "Feature"
103
+ IMPORTANCE_COLUMN = "Scaled Mean Attribution"
104
+ PERCENT_COLUMN = "Relative Importance(%)"
104
105
  SAVENAME = "captum_summary"
105
106
  PLOT_NAME = "captum_importance_plot"
106
107
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dragon-ml-toolbox"
3
- version = "20.12.0"
3
+ version = "20.14.0"
4
4
  description = "Complete pipelines and helper tools for data science and machine learning projects."
5
5
  authors = [
6
6
  { name = "Karl Luigi Loza Vidaurre", email = "luigiloza@gmail.com" }