dragon-ml-toolbox 20.3.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.
- {dragon_ml_toolbox-20.3.0/dragon_ml_toolbox.egg-info → dragon_ml_toolbox-20.4.0}/PKG-INFO +1 -1
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0/dragon_ml_toolbox.egg-info}/PKG-INFO +1 -1
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/_IO_loggers.py +21 -17
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_classification.py +10 -2
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_multi_dragon.py +24 -8
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/keys/_keys.py +1 -1
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/pyproject.toml +1 -1
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/LICENSE +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/LICENSE-THIRD-PARTY.md +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/README.md +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/SOURCES.txt +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/dependency_links.txt +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/requires.txt +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/top_level.txt +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/_basic_clean.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/_clean_tools.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/_dragon_cleaner.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_engineering/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_engineering/_dragon_engineering.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_engineering/_transforms.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/GUI_tools/_GUI_tools.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/GUI_tools/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/_IO_save_load.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/_IO_utils.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/IO_tools/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/MICE/_MICE_imputation.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/MICE/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/MICE/_dragon_mice.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_base.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_checkpoint.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_early_stop.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_callbacks/_scheduler.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/_chaining_tools.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/_dragon_chain.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_chain/_update_schema.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_base_model_config.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_finalize.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_metrics.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_models.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_training.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_base_datasetmaster.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_datasetmaster.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_sequence_datasetmaster.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_vision_datasetmaster.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_feature_importance.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_loss.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_regression.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_sequence.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_vision.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation_captum/_ML_evaluation_captum.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation_captum/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_finalize_handler/_ML_finalize_handler.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_finalize_handler/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_base_inference.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_chain_inference.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_dragon_inference.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_multi_inference.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_sequence/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_sequence/_sequence_inference.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_vision/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_vision/_vision_inference.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_base_mlp_attention.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_base_save_load.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_dragon_autoint.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_dragon_gate.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_dragon_node.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_dragon_tabnet.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_dragon_tabular.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_mlp_attention.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_models_advanced_helpers.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_sequence/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_sequence/_sequence_models.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_base_wrapper.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_image_classification.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_image_segmentation.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_object_detection.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_single_dragon.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_single_manual.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_scaler/_ML_scaler.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_scaler/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_base_trainer.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_dragon_detection_trainer.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_dragon_sequence_trainer.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_dragon_trainer.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/_artifact_finder.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/_inspection.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/_train_tools.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_vision_transformers/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_vision_transformers/_core_transforms.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_vision_transformers/_offline_augmentation.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/PSO_optimization/_PSO.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/PSO_optimization/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/SQL/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/SQL/_dragon_SQL.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/VIF/_VIF_factor.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/VIF/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/_logger.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/_schema_load_ops.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/_core/_script_info.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/constants.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_analysis.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_cleaning.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_features.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_plotting.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_schema_ops.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_evaluation/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_evaluation/_ensemble_evaluation.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_inference/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_inference/_ensemble_inference.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_learning/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_learning/_ensemble_learning.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/excel_handler/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/excel_handler/_excel_handler.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/keys/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/math_utilities/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/math_utilities/_math_utilities.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/optimization_tools/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/optimization_tools/_optimization_bounds.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/optimization_tools/_optimization_plots.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/path_manager/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/path_manager/_dragonmanager.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/path_manager/_path_tools.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/plot_fonts/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/plot_fonts/_plot_fonts.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/schema/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/schema/_feature_schema.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/schema/_gui_schema.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/serde/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/serde/_serde.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/utilities/__init__.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/utilities/_utility_save_load.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/utilities/_utility_tools.py +0 -0
- {dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/setup.cfg +0 -0
|
@@ -170,7 +170,7 @@ def _log_dict_to_json(data: dict[Any, Any], path: Path) -> None:
|
|
|
170
170
|
|
|
171
171
|
|
|
172
172
|
def train_logger(train_config: Union[dict, Any],
|
|
173
|
-
model_parameters: Union[dict, Any],
|
|
173
|
+
model_parameters: Union[dict, Any, None],
|
|
174
174
|
train_history: Union[dict, None],
|
|
175
175
|
save_directory: Union[str, Path],
|
|
176
176
|
verbose: int = 3) -> None:
|
|
@@ -179,7 +179,7 @@ def train_logger(train_config: Union[dict, Any],
|
|
|
179
179
|
|
|
180
180
|
Args:
|
|
181
181
|
train_config (dict | Any): Training configuration parameters. If object, must have a `.to_log()` method returning a dict.
|
|
182
|
-
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.
|
|
183
183
|
train_history (dict | None): Training history log.
|
|
184
184
|
save_directory (str | Path): Directory to save the log file.
|
|
185
185
|
"""
|
|
@@ -201,23 +201,27 @@ def train_logger(train_config: Union[dict, Any],
|
|
|
201
201
|
|
|
202
202
|
train_config_dict = train_config
|
|
203
203
|
|
|
204
|
-
# model_parameters should be a dict or a custom object with the ".to_log()" method
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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.")
|
|
210
217
|
raise ValueError()
|
|
211
218
|
else:
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
raise ValueError()
|
|
219
|
-
|
|
220
|
-
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
|
|
221
225
|
|
|
222
226
|
# make base dictionary
|
|
223
227
|
data: dict = train_config_dict | model_parameters_dict
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_classification.py
RENAMED
|
@@ -329,7 +329,11 @@ def classification_metrics(save_dir: Union[str, Path],
|
|
|
329
329
|
fig_roc, ax_roc = plt.subplots(figsize=CLASSIFICATION_PLOT_SIZE, dpi=DPI_value)
|
|
330
330
|
ax_roc.plot(fpr, tpr, label=f'AUC = {auc:.2f}', color=format_config.ROC_PR_line)
|
|
331
331
|
ax_roc.plot([0, 1], [0, 1], 'k--')
|
|
332
|
-
|
|
332
|
+
# use "ROC" if extra title, else use "Receiver Operating Characteristic" title
|
|
333
|
+
if plot_title.strip():
|
|
334
|
+
ax_roc.set_title(f'ROC{plot_title}', pad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size + 2)
|
|
335
|
+
else:
|
|
336
|
+
ax_roc.set_title(f'Receiver Operating Characteristic', pad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size + 2)
|
|
333
337
|
ax_roc.set_xlabel('False Positive Rate', labelpad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size)
|
|
334
338
|
ax_roc.set_ylabel('True Positive Rate', labelpad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size)
|
|
335
339
|
|
|
@@ -351,7 +355,11 @@ def classification_metrics(save_dir: Union[str, Path],
|
|
|
351
355
|
ap_score = average_precision_score(y_true_binary, y_score)
|
|
352
356
|
fig_pr, ax_pr = plt.subplots(figsize=CLASSIFICATION_PLOT_SIZE, dpi=DPI_value)
|
|
353
357
|
ax_pr.plot(recall, precision, label=f'Avg Precision = {ap_score:.2f}', color=format_config.ROC_PR_line)
|
|
354
|
-
|
|
358
|
+
# Use "PR Curve" if extra title, else use "Precision-Recall Curve" title
|
|
359
|
+
if plot_title.strip():
|
|
360
|
+
ax_pr.set_title(f'PR Curve{plot_title}', pad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size + 2)
|
|
361
|
+
else:
|
|
362
|
+
ax_pr.set_title(f'Precision-Recall Curve', pad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size + 2)
|
|
355
363
|
ax_pr.set_xlabel('Recall', labelpad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size)
|
|
356
364
|
ax_pr.set_ylabel('Precision', labelpad=_EvaluationConfig.LABEL_PADDING, fontsize=format_config.font_size)
|
|
357
365
|
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_multi_dragon.py
RENAMED
|
@@ -313,14 +313,15 @@ class DragonParetoOptimizer:
|
|
|
313
313
|
return pareto_df
|
|
314
314
|
|
|
315
315
|
def save_solutions(self,
|
|
316
|
+
csv_if_exists: Literal['fail', 'replace', 'append'] = 'replace',
|
|
316
317
|
save_to_sql: bool = False,
|
|
317
318
|
sql_table_name: Optional[str] = None,
|
|
318
319
|
sql_if_exists: Literal['fail', 'replace', 'append'] = 'replace') -> None:
|
|
319
320
|
"""
|
|
320
|
-
Saves the current Pareto front to a CSV file
|
|
321
|
-
for specific continuous columns. Optionally saves to a SQL database.
|
|
321
|
+
Saves the current Pareto front to a CSV file. Optionally saves to a SQL database.
|
|
322
322
|
|
|
323
323
|
Args:
|
|
324
|
+
csv_if_exists (str): Behavior if CSV file exists ('fail', 'replace', 'append').
|
|
324
325
|
save_to_sql (bool): If True, also writes the results to a SQLite database in the save_dir.
|
|
325
326
|
sql_table_name (str, optional): Specific table name for SQL. If None, uses the solutions filename.
|
|
326
327
|
sql_if_exists (str): Behavior if SQL table exists ('fail', 'replace', 'append').
|
|
@@ -377,9 +378,24 @@ class DragonParetoOptimizer:
|
|
|
377
378
|
# sanitize filename and add extension if missing
|
|
378
379
|
sanitized_filename = sanitize_filename(filename)
|
|
379
380
|
csv_filename = sanitized_filename if sanitized_filename.lower().endswith(".csv") else f"{sanitized_filename}.csv"
|
|
381
|
+
full_csv_path = save_path / csv_filename
|
|
380
382
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
+
# Logic to handle Append/Fail/Replace for CSV
|
|
384
|
+
if csv_if_exists == 'append' and full_csv_path.exists():
|
|
385
|
+
try:
|
|
386
|
+
# Append mode: write without header, index=False to match standard data exports
|
|
387
|
+
df_to_save.to_csv(full_csv_path, mode='a', header=False, index=False)
|
|
388
|
+
_LOGGER.info(f"💾 Pareto solutions APPENDED to CSV: '{save_path.name}/{csv_filename}'. Added {len(df_to_save)} rows.")
|
|
389
|
+
except Exception as e:
|
|
390
|
+
_LOGGER.error(f"Failed to append CSV: {e}")
|
|
391
|
+
raise e
|
|
392
|
+
elif csv_if_exists == 'fail' and full_csv_path.exists():
|
|
393
|
+
_LOGGER.error(f"File '{full_csv_path}' already exists and csv_if_exists='fail'.")
|
|
394
|
+
raise FileExistsError()
|
|
395
|
+
else:
|
|
396
|
+
# Default 'replace' or new file creation using the existing utility
|
|
397
|
+
save_dataframe_filename(df=df_to_save, save_dir=save_path, filename=csv_filename, verbose=1)
|
|
398
|
+
_LOGGER.info(f"💾 Pareto solutions saved to CSV: '{save_path.name}/{csv_filename}'. Shape: {df_to_save.shape}")
|
|
383
399
|
|
|
384
400
|
# Save optimization bounds as JSON for reference (debug mode)
|
|
385
401
|
if self._debug:
|
|
@@ -404,13 +420,13 @@ class DragonParetoOptimizer:
|
|
|
404
420
|
save_json(
|
|
405
421
|
data=bounds_data,
|
|
406
422
|
directory=save_path,
|
|
407
|
-
filename="
|
|
423
|
+
filename="all_debug_optimization_bounds.json",
|
|
408
424
|
verbose=False
|
|
409
425
|
)
|
|
410
|
-
_LOGGER.info(f"💾 Optimization bounds saved to: '{save_path.name}/
|
|
426
|
+
_LOGGER.info(f"💾 Optimization bounds saved to: '{save_path.name}/all_debug_optimization_bounds.json'")
|
|
411
427
|
|
|
412
428
|
except Exception as e:
|
|
413
|
-
_LOGGER.warning(f"Failed to save optimization bounds to JSON: {e}")
|
|
429
|
+
_LOGGER.warning(f"Failed to save debug optimization bounds to JSON: {e}")
|
|
414
430
|
|
|
415
431
|
# --- 2. Save SQL (Optional) ---
|
|
416
432
|
if save_to_sql:
|
|
@@ -636,7 +652,7 @@ class DragonParetoOptimizer:
|
|
|
636
652
|
z_target: Union[int, str],
|
|
637
653
|
hue_target: Optional[Union[int, str]] = None):
|
|
638
654
|
"""
|
|
639
|
-
|
|
655
|
+
Generate 3D visualizations for specific targets.
|
|
640
656
|
|
|
641
657
|
Args:
|
|
642
658
|
x_target (int|str): Index or name of the target for the X axis.
|
|
@@ -297,7 +297,7 @@ class _EvaluationConfig:
|
|
|
297
297
|
# large sizes for SVG layout to accommodate large fonts
|
|
298
298
|
REGRESSION_PLOT_SIZE = (12, 8)
|
|
299
299
|
SEQUENCE_PLOT_SIZE = (12, 8)
|
|
300
|
-
CLASSIFICATION_PLOT_SIZE = (
|
|
300
|
+
CLASSIFICATION_PLOT_SIZE = (9, 9)
|
|
301
301
|
# Loss plot
|
|
302
302
|
LOSS_PLOT_SIZE = (18, 9)
|
|
303
303
|
LOSS_PLOT_LABEL_SIZE = 24
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/requires.txt
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/dragon_ml_toolbox.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_cleaning/_dragon_cleaner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ETL_engineering/_transforms.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_finalize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_configuration/_training.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_datasetmaster/_datasetmaster.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation/_feature_importance.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_evaluation_captum/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_finalize_handler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_base_inference.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_chain_inference.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_dragon_inference.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference/_multi_inference.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_sequence/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_inference_vision/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_base_mlp_attention.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models/_models_advanced_helpers.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_sequence/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_base_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_models_vision/_object_detection.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_single_dragon.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_optimization/_single_manual.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_trainer/_dragon_trainer.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_utilities/_artifact_finder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ML_vision_transformers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_analysis.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_cleaning.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_features.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_plotting.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/data_exploration/_schema_ops.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_evaluation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_inference/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/ensemble_learning/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/excel_handler/_excel_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/math_utilities/_math_utilities.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/optimization_tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/path_manager/_dragonmanager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-20.3.0 → dragon_ml_toolbox-20.4.0}/ml_tools/utilities/_utility_save_load.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|