dragon-ml-toolbox 19.9.0__tar.gz → 19.10.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-19.9.0 → dragon_ml_toolbox-19.10.0}/LICENSE-THIRD-PARTY.md +0 -4
- {dragon_ml_toolbox-19.9.0/dragon_ml_toolbox.egg-info → dragon_ml_toolbox-19.10.0}/PKG-INFO +2 -20
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/README.md +1 -13
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0/dragon_ml_toolbox.egg-info}/PKG-INFO +2 -20
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/dragon_ml_toolbox.egg-info/requires.txt +0 -8
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_configuration.py +12 -7
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_optimization.py +3 -5
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_optimization_pareto.py +17 -3
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/optimization_tools.py +4 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/pyproject.toml +30 -13
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/LICENSE +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/dragon_ml_toolbox.egg-info/SOURCES.txt +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/dragon_ml_toolbox.egg-info/dependency_links.txt +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/dragon_ml_toolbox.egg-info/top_level.txt +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ETL_cleaning.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ETL_engineering.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/GUI_tools.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/IO_tools.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/MICE_imputation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_callbacks.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_chaining_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_chaining_utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_configuration.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_configuration_pytab.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_datasetmaster.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_evaluation_captum.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_evaluation_multi.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_finalize_handler.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_models.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_models_advanced.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_models_pytab.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_optimization.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_optimization_pareto.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_scaler.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_sequence_datasetmaster.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_sequence_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_sequence_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_sequence_models.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_trainer.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_vision_datasetmaster.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_vision_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_vision_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_vision_models.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_vision_transformers.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/PSO_optimization.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/SQL.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/VIF_factor.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/__init__.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ETL_cleaning.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ETL_engineering.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_GUI_tools.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_IO_tools.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_MICE_imputation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_callbacks.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_chaining_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_chaining_utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_configuration_pytab.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_datasetmaster.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_evaluation_captum.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_evaluation_multi.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_finalize_handler.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_models.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_models_advanced.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_models_pytab.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_scaler.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_datasetmaster.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_models.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_trainer.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_datasetmaster.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_models.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_transformers.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_PSO_optimization.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_SQL.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_VIF_factor.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/__init__.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_data_exploration.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ensemble_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ensemble_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ensemble_learning.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_excel_handler.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_keys.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_logger.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_math_utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_models_advanced_base.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_models_advanced_helpers.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_optimization_tools.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_path_manager.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_plot_fonts.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_schema.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_script_info.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_serde.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/constants.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/data_exploration.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ensemble_evaluation.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ensemble_inference.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ensemble_learning.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/excel_handler.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/keys.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/math_utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/path_manager.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/plot_fonts.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/schema.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/serde.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/utilities.py +0 -0
- {dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/setup.cfg +0 -0
|
@@ -31,13 +31,9 @@ This project depends on the following third-party packages. Each is governed by
|
|
|
31
31
|
- [colorlog](https://github.com/borntyping/python-colorlog/blob/main/LICENSE)
|
|
32
32
|
- [evotorch](https://github.com/nnaisense/evotorch/blob/master/LICENSE)
|
|
33
33
|
- [FreeSimpleGUI](https://github.com/spyoungtech/FreeSimpleGUI/blob/main/license.txt)
|
|
34
|
-
- [nuitka](https://github.com/Nuitka/Nuitka/blob/main/LICENSE.txt)
|
|
35
34
|
- [omegaconf](https://github.com/omry/omegaconf/blob/master/LICENSE)
|
|
36
|
-
- [ordered-set](https://github.com/rspeer/ordered-set/blob/master/MIT-LICENSE)
|
|
37
|
-
- [pyinstaller](https://github.com/pyinstaller/pyinstaller/blob/develop/COPYING.txt)
|
|
38
35
|
- [pytorch_tabular](https://github.com/manujosephv/pytorch_tabular/blob/main/LICENSE)
|
|
39
36
|
- [torchmetrics](https://github.com/Lightning-AI/torchmetrics/blob/master/LICENSE)
|
|
40
|
-
- [zstandard](https://github.com/indygreg/python-zstandard/blob/main/LICENSE)
|
|
41
37
|
- [captum](https://github.com/meta-pytorch/captum/blob/master/LICENSE)
|
|
42
38
|
- [node](https://github.com/Qwicen/node/blob/master/LICENSE.md)
|
|
43
39
|
- [pytorch-widedeep](https://github.com/jrzaurin/pytorch-widedeep?tab=readme-ov-file#license)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dragon-ml-toolbox
|
|
3
|
-
Version: 19.
|
|
3
|
+
Version: 19.10.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
|
|
@@ -90,12 +90,6 @@ Provides-Extra: gui-torch
|
|
|
90
90
|
Requires-Dist: numpy<2.0; extra == "gui-torch"
|
|
91
91
|
Requires-Dist: torch; extra == "gui-torch"
|
|
92
92
|
Requires-Dist: FreeSimpleGUI>=5.2; extra == "gui-torch"
|
|
93
|
-
Provides-Extra: pyinstaller
|
|
94
|
-
Requires-Dist: pyinstaller; extra == "pyinstaller"
|
|
95
|
-
Provides-Extra: nuitka
|
|
96
|
-
Requires-Dist: nuitka; extra == "nuitka"
|
|
97
|
-
Requires-Dist: zstandard; extra == "nuitka"
|
|
98
|
-
Requires-Dist: ordered-set; extra == "nuitka"
|
|
99
93
|
Dynamic: license-file
|
|
100
94
|
|
|
101
95
|
# dragon-ml-toolbox
|
|
@@ -137,7 +131,7 @@ conda install -c conda-forge dragon-ml-toolbox
|
|
|
137
131
|
|
|
138
132
|
## Modular Installation
|
|
139
133
|
|
|
140
|
-
This toolbox is designed as a collection of mutually exclusive environments due to conflicting core dependencies
|
|
134
|
+
This toolbox is designed as a collection of mutually exclusive environments due to conflicting core dependencies.
|
|
141
135
|
|
|
142
136
|
- Rule: Create a fresh virtual environment for each module to use.
|
|
143
137
|
|
|
@@ -330,18 +324,6 @@ schema
|
|
|
330
324
|
|
|
331
325
|
---
|
|
332
326
|
|
|
333
|
-
### ⚒️ APP bundlers
|
|
334
|
-
|
|
335
|
-
Dependencies required to compile applications, inference scripts, or GUIs into standalone executables (`.exe` or binary) for distribution. Choose your preferred backend:
|
|
336
|
-
|
|
337
|
-
```Bash
|
|
338
|
-
pip install "dragon-ml-toolbox[pyinstaller]"
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
```Bash
|
|
342
|
-
pip install "dragon-ml-toolbox[nuitka]"
|
|
343
|
-
```
|
|
344
|
-
|
|
345
327
|
## Usage
|
|
346
328
|
|
|
347
329
|
After installation, import modules like this:
|
|
@@ -37,7 +37,7 @@ conda install -c conda-forge dragon-ml-toolbox
|
|
|
37
37
|
|
|
38
38
|
## Modular Installation
|
|
39
39
|
|
|
40
|
-
This toolbox is designed as a collection of mutually exclusive environments due to conflicting core dependencies
|
|
40
|
+
This toolbox is designed as a collection of mutually exclusive environments due to conflicting core dependencies.
|
|
41
41
|
|
|
42
42
|
- Rule: Create a fresh virtual environment for each module to use.
|
|
43
43
|
|
|
@@ -230,18 +230,6 @@ schema
|
|
|
230
230
|
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
-
### ⚒️ APP bundlers
|
|
234
|
-
|
|
235
|
-
Dependencies required to compile applications, inference scripts, or GUIs into standalone executables (`.exe` or binary) for distribution. Choose your preferred backend:
|
|
236
|
-
|
|
237
|
-
```Bash
|
|
238
|
-
pip install "dragon-ml-toolbox[pyinstaller]"
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
```Bash
|
|
242
|
-
pip install "dragon-ml-toolbox[nuitka]"
|
|
243
|
-
```
|
|
244
|
-
|
|
245
233
|
## Usage
|
|
246
234
|
|
|
247
235
|
After installation, import modules like this:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dragon-ml-toolbox
|
|
3
|
-
Version: 19.
|
|
3
|
+
Version: 19.10.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
|
|
@@ -90,12 +90,6 @@ Provides-Extra: gui-torch
|
|
|
90
90
|
Requires-Dist: numpy<2.0; extra == "gui-torch"
|
|
91
91
|
Requires-Dist: torch; extra == "gui-torch"
|
|
92
92
|
Requires-Dist: FreeSimpleGUI>=5.2; extra == "gui-torch"
|
|
93
|
-
Provides-Extra: pyinstaller
|
|
94
|
-
Requires-Dist: pyinstaller; extra == "pyinstaller"
|
|
95
|
-
Provides-Extra: nuitka
|
|
96
|
-
Requires-Dist: nuitka; extra == "nuitka"
|
|
97
|
-
Requires-Dist: zstandard; extra == "nuitka"
|
|
98
|
-
Requires-Dist: ordered-set; extra == "nuitka"
|
|
99
93
|
Dynamic: license-file
|
|
100
94
|
|
|
101
95
|
# dragon-ml-toolbox
|
|
@@ -137,7 +131,7 @@ conda install -c conda-forge dragon-ml-toolbox
|
|
|
137
131
|
|
|
138
132
|
## Modular Installation
|
|
139
133
|
|
|
140
|
-
This toolbox is designed as a collection of mutually exclusive environments due to conflicting core dependencies
|
|
134
|
+
This toolbox is designed as a collection of mutually exclusive environments due to conflicting core dependencies.
|
|
141
135
|
|
|
142
136
|
- Rule: Create a fresh virtual environment for each module to use.
|
|
143
137
|
|
|
@@ -330,18 +324,6 @@ schema
|
|
|
330
324
|
|
|
331
325
|
---
|
|
332
326
|
|
|
333
|
-
### ⚒️ APP bundlers
|
|
334
|
-
|
|
335
|
-
Dependencies required to compile applications, inference scripts, or GUIs into standalone executables (`.exe` or binary) for distribution. Choose your preferred backend:
|
|
336
|
-
|
|
337
|
-
```Bash
|
|
338
|
-
pip install "dragon-ml-toolbox[pyinstaller]"
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
```Bash
|
|
342
|
-
pip install "dragon-ml-toolbox[nuitka]"
|
|
343
|
-
```
|
|
344
|
-
|
|
345
327
|
## Usage
|
|
346
328
|
|
|
347
329
|
After installation, import modules like this:
|
|
@@ -6,7 +6,7 @@ import numpy as np
|
|
|
6
6
|
from ._schema import FeatureSchema
|
|
7
7
|
from ._script_info import _script_info
|
|
8
8
|
from ._logger import get_logger
|
|
9
|
-
from ._path_manager import sanitize_filename
|
|
9
|
+
from ._path_manager import sanitize_filename, make_fullpath
|
|
10
10
|
from ._keys import MLTaskKeys
|
|
11
11
|
|
|
12
12
|
|
|
@@ -701,11 +701,11 @@ class DragonParetoConfig(_BaseModelParams):
|
|
|
701
701
|
def __init__(self,
|
|
702
702
|
save_directory: Union[str, Path],
|
|
703
703
|
target_objectives: Dict[str, Literal["min", "max"]],
|
|
704
|
-
continuous_bounds_map: Union[Dict[str, Tuple[float, float]], Dict[str, List[float]]],
|
|
704
|
+
continuous_bounds_map: Union[Dict[str, Tuple[float, float]], Dict[str, List[float]], str, Path],
|
|
705
705
|
columns_to_round: Optional[List[str]] = None,
|
|
706
|
-
population_size: int =
|
|
706
|
+
population_size: int = 500,
|
|
707
707
|
generations: int = 1000,
|
|
708
|
-
solutions_filename: str = "
|
|
708
|
+
solutions_filename: str = "NonDominatedSolutions",
|
|
709
709
|
float_precision: int = 4,
|
|
710
710
|
log_interval: int = 10,
|
|
711
711
|
plot_size: Tuple[int, int] = (10, 7),
|
|
@@ -718,7 +718,7 @@ class DragonParetoConfig(_BaseModelParams):
|
|
|
718
718
|
save_directory (str | Path): Directory to save artifacts.
|
|
719
719
|
target_objectives (Dict[str, "min"|"max"]): Dictionary mapping target names to optimization direction.
|
|
720
720
|
Example: {"price": "max", "error": "min"}
|
|
721
|
-
continuous_bounds_map (Dict): Bounds for continuous features {name: (min, max)}.
|
|
721
|
+
continuous_bounds_map (Dict): Bounds for continuous features {name: (min, max)}. Or a path/str to a directory containing the "optimization_bounds.json" file.
|
|
722
722
|
columns_to_round (List[str] | None): List of continuous column names that should be rounded to the nearest integer.
|
|
723
723
|
population_size (int): Size of the genetic population.
|
|
724
724
|
generations (int): Number of generations to run.
|
|
@@ -729,7 +729,13 @@ class DragonParetoConfig(_BaseModelParams):
|
|
|
729
729
|
plot_font_size (int): Font size for plot text.
|
|
730
730
|
discretize_start_at_zero (bool): Categorical encoding start index. True=0, False=1.
|
|
731
731
|
"""
|
|
732
|
-
|
|
732
|
+
# Validate string or Path
|
|
733
|
+
valid_save_dir = make_fullpath(save_directory, make=True, enforce="directory")
|
|
734
|
+
|
|
735
|
+
if isinstance(continuous_bounds_map, (str, Path)):
|
|
736
|
+
continuous_bounds_map = make_fullpath(continuous_bounds_map, make=False, enforce="directory")
|
|
737
|
+
|
|
738
|
+
self.save_directory = valid_save_dir
|
|
733
739
|
self.target_objectives = target_objectives
|
|
734
740
|
self.continuous_bounds_map = continuous_bounds_map
|
|
735
741
|
self.columns_to_round = columns_to_round
|
|
@@ -742,7 +748,6 @@ class DragonParetoConfig(_BaseModelParams):
|
|
|
742
748
|
self.plot_font_size = plot_font_size
|
|
743
749
|
self.discretize_start_at_zero = discretize_start_at_zero
|
|
744
750
|
|
|
745
|
-
|
|
746
751
|
# ----------------------------
|
|
747
752
|
# Metrics Configurations
|
|
748
753
|
# ----------------------------
|
|
@@ -44,12 +44,10 @@ class DragonOptimizer:
|
|
|
44
44
|
SNES and CEM algorithms do not accept bounds, the given bounds will be used as an initial starting point.
|
|
45
45
|
|
|
46
46
|
Example:
|
|
47
|
-
>>> # 1.
|
|
48
|
-
>>> schema = data_exploration.finalize_feature_schema(...)
|
|
49
|
-
>>> # 2. Define bounds for continuous features
|
|
47
|
+
>>> # 1. Define bounds for continuous features
|
|
50
48
|
>>> cont_bounds = {'feature_A': (0, 100), 'feature_B': (-10, 10)}
|
|
51
49
|
>>>
|
|
52
|
-
>>> #
|
|
50
|
+
>>> # 2. Initialize the optimizer
|
|
53
51
|
>>> optimizer = DragonOptimizer(
|
|
54
52
|
... inference_handler=my_handler,
|
|
55
53
|
... schema=schema,
|
|
@@ -58,7 +56,7 @@ class DragonOptimizer:
|
|
|
58
56
|
... task="max",
|
|
59
57
|
... algorithm="Genetic",
|
|
60
58
|
... )
|
|
61
|
-
>>> #
|
|
59
|
+
>>> # 3. Run the optimization
|
|
62
60
|
>>> best_result = optimizer.run(
|
|
63
61
|
... num_generations=100,
|
|
64
62
|
... save_dir="/path/to/results",
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_optimization_pareto.py
RENAMED
|
@@ -7,7 +7,7 @@ import matplotlib.cm as cm
|
|
|
7
7
|
from matplotlib.collections import LineCollection
|
|
8
8
|
import seaborn as sns
|
|
9
9
|
from pathlib import Path
|
|
10
|
-
from typing import Literal, Union,
|
|
10
|
+
from typing import Literal, Union, List, Optional, Dict
|
|
11
11
|
from tqdm import tqdm
|
|
12
12
|
import plotly.express as px
|
|
13
13
|
import plotly.graph_objects as go
|
|
@@ -21,7 +21,7 @@ from ._SQL import DragonSQL
|
|
|
21
21
|
from ._ML_inference import DragonInferenceHandler
|
|
22
22
|
from ._ML_chaining_inference import DragonChainInference
|
|
23
23
|
from ._ML_configuration import DragonParetoConfig
|
|
24
|
-
from ._optimization_tools import create_optimization_bounds, plot_optimal_feature_distributions_from_dataframe
|
|
24
|
+
from ._optimization_tools import create_optimization_bounds, plot_optimal_feature_distributions_from_dataframe, load_continuous_bounds_template
|
|
25
25
|
from ._math_utilities import discretize_categorical_values
|
|
26
26
|
from ._utilities import save_dataframe_filename
|
|
27
27
|
from ._IO_tools import save_json
|
|
@@ -107,6 +107,10 @@ class DragonParetoOptimizer:
|
|
|
107
107
|
_LOGGER.error(f"Target '{name}' not found in model targets: {available_targets}")
|
|
108
108
|
raise ValueError()
|
|
109
109
|
|
|
110
|
+
if direction not in ["min" , "max"]:
|
|
111
|
+
_LOGGER.error(f"Invalid optimization direction '{direction}' for target '{name}'. Use 'min' or 'max'.")
|
|
112
|
+
raise ValueError()
|
|
113
|
+
|
|
110
114
|
# For standard handlers, we need indices to slice the output tensor.
|
|
111
115
|
# For chain handlers, we just rely on name matching, but we track index for consistency.
|
|
112
116
|
idx = available_targets.index(name)
|
|
@@ -117,10 +121,20 @@ class DragonParetoOptimizer:
|
|
|
117
121
|
_LOGGER.info(f"Pareto Optimization setup for: {self.ordered_target_names}")
|
|
118
122
|
|
|
119
123
|
# --- 2. Bounds Setup ---
|
|
124
|
+
# check type
|
|
125
|
+
raw_bounds_map = config.continuous_bounds_map
|
|
126
|
+
if isinstance(raw_bounds_map, (str, Path)):
|
|
127
|
+
continuous_bounds = load_continuous_bounds_template(raw_bounds_map)
|
|
128
|
+
elif isinstance(raw_bounds_map, dict):
|
|
129
|
+
continuous_bounds = raw_bounds_map
|
|
130
|
+
else:
|
|
131
|
+
_LOGGER.error(f"Invalid type for 'continuous_bounds_map' in config. Expected dict or Path. Got {type(raw_bounds_map)}.")
|
|
132
|
+
raise ValueError()
|
|
133
|
+
|
|
120
134
|
# Uses the external tool which reads the schema to set correct bounds for both continuous and categorical
|
|
121
135
|
bounds = create_optimization_bounds(
|
|
122
136
|
schema=schema,
|
|
123
|
-
continuous_bounds_map=
|
|
137
|
+
continuous_bounds_map=continuous_bounds,
|
|
124
138
|
start_at_zero=self.discretize_start_at_zero
|
|
125
139
|
)
|
|
126
140
|
self.lower_bounds = list(bounds[0])
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
from ._core._optimization_tools import (
|
|
2
|
+
make_continuous_bounds_template,
|
|
3
|
+
load_continuous_bounds_template,
|
|
2
4
|
create_optimization_bounds,
|
|
3
5
|
parse_lower_upper_bounds,
|
|
4
6
|
plot_optimal_feature_distributions,
|
|
@@ -7,6 +9,8 @@ from ._core._optimization_tools import (
|
|
|
7
9
|
)
|
|
8
10
|
|
|
9
11
|
__all__ = [
|
|
12
|
+
"make_continuous_bounds_template",
|
|
13
|
+
"load_continuous_bounds_template",
|
|
10
14
|
"create_optimization_bounds",
|
|
11
15
|
"parse_lower_upper_bounds",
|
|
12
16
|
"plot_optimal_feature_distributions",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dragon-ml-toolbox"
|
|
3
|
-
version = "19.
|
|
3
|
+
version = "19.10.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" }
|
|
@@ -127,24 +127,13 @@ gui-boost = [
|
|
|
127
127
|
]
|
|
128
128
|
|
|
129
129
|
# GUI for Pytorch
|
|
130
|
-
# Optional:
|
|
130
|
+
# Optional: Pillow / Torchvision / matplotlib / seaborn
|
|
131
131
|
gui-torch = [
|
|
132
132
|
"numpy<2.0",
|
|
133
133
|
"torch",
|
|
134
134
|
"FreeSimpleGUI>=5.2",
|
|
135
135
|
]
|
|
136
136
|
|
|
137
|
-
# APP Bundlers - Choose one
|
|
138
|
-
pyinstaller = [
|
|
139
|
-
"pyinstaller"
|
|
140
|
-
]
|
|
141
|
-
|
|
142
|
-
nuitka = [
|
|
143
|
-
"nuitka",
|
|
144
|
-
"zstandard",
|
|
145
|
-
"ordered-set"
|
|
146
|
-
]
|
|
147
|
-
|
|
148
137
|
[build-system]
|
|
149
138
|
requires = ["setuptools>=61.0"]
|
|
150
139
|
build-backend = "setuptools.build_meta"
|
|
@@ -156,3 +145,31 @@ build-backend = "setuptools.build_meta"
|
|
|
156
145
|
where = ["."]
|
|
157
146
|
include = ["ml_tools*"]
|
|
158
147
|
namespaces = false
|
|
148
|
+
|
|
149
|
+
[dependency-groups]
|
|
150
|
+
dev = [
|
|
151
|
+
"captum>=0.8.0",
|
|
152
|
+
"colorlog>=6.10.1",
|
|
153
|
+
"evotorch>=0.6.1",
|
|
154
|
+
"freesimplegui>=5.2",
|
|
155
|
+
"ipykernel>=7.1.0",
|
|
156
|
+
"ipython>=9.8.0",
|
|
157
|
+
"ipywidgets>=8.1.8",
|
|
158
|
+
"joblib>=1.5.2",
|
|
159
|
+
"jupyterlab>=4.5.0",
|
|
160
|
+
"matplotlib>=3.10.8",
|
|
161
|
+
"notebook>=7.5.0",
|
|
162
|
+
"numpy<2.0",
|
|
163
|
+
"openpyxl>=3.1.5",
|
|
164
|
+
"pandas>=2.3.3",
|
|
165
|
+
"pillow>=12.0.0",
|
|
166
|
+
"plotly>=6.5.0",
|
|
167
|
+
"polars>=1.0",
|
|
168
|
+
"pyarrow>=22.0.0",
|
|
169
|
+
"scikit-learn>=1.7.2",
|
|
170
|
+
"seaborn>=0.13.2",
|
|
171
|
+
"shap>=0.49.1",
|
|
172
|
+
"torch>=2.9.1",
|
|
173
|
+
"torchmetrics>=1.5.2",
|
|
174
|
+
"tqdm>=4.67.1",
|
|
175
|
+
]
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/dragon_ml_toolbox.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/dragon_ml_toolbox.egg-info/top_level.txt
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/ML_sequence_datasetmaster.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
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_chaining_inference.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_chaining_utilities.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_configuration_pytab.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_evaluation_captum.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_evaluation_multi.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_finalize_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_models_advanced.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_datasetmaster.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_evaluation.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_inference.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_sequence_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_datasetmaster.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_evaluation.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_inference.py
RENAMED
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ML_vision_transformers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ensemble_evaluation.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_ensemble_inference.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_models_advanced_base.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_models_advanced_helpers.py
RENAMED
|
File without changes
|
{dragon_ml_toolbox-19.9.0 → dragon_ml_toolbox-19.10.0}/ml_tools/_core/_optimization_tools.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
|
|
File without changes
|