wavetrainer 0.0.10__tar.gz → 0.0.11__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.
- {wavetrainer-0.0.10/wavetrainer.egg-info → wavetrainer-0.0.11}/PKG-INFO +1 -1
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/setup.py +1 -1
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/__init__.py +1 -1
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/create.py +4 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/trainer.py +11 -1
- {wavetrainer-0.0.10 → wavetrainer-0.0.11/wavetrainer.egg-info}/PKG-INFO +1 -1
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/LICENSE +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/MANIFEST.in +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/README.md +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/requirements.txt +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/setup.cfg +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/tests/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/tests/model/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/tests/model/catboost_kwargs_test.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/tests/trainer_test.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/calibrator/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/calibrator/calibrator.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/calibrator/calibrator_router.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/calibrator/mapie_calibrator.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/calibrator/vennabers_calibrator.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/exceptions.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/fit.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model/catboost_classifier_wrap.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model/catboost_kwargs.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model/catboost_model.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model/catboost_regressor_wrap.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model/model.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model/model_router.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/model_type.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/params.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/base_selector_reducer.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/combined_reducer.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/constant_reducer.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/correlation_reducer.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/duplicate_reducer.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/nonnumeric_reducer.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/reducer/reducer.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/selector/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/selector/selector.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/class_weights.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/combined_weights.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/exponential_weights.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/linear_weights.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/noop_weights.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/sigmoid_weights.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/weights.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/weights/weights_router.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/windower/__init__.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer/windower/windower.py +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer.egg-info/SOURCES.txt +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer.egg-info/dependency_links.txt +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer.egg-info/not-zip-safe +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer.egg-info/requires.txt +0 -0
- {wavetrainer-0.0.10 → wavetrainer-0.0.11}/wavetrainer.egg-info/top_level.txt +0 -0
@@ -23,7 +23,7 @@ def install_requires() -> typing.List[str]:
|
|
23
23
|
|
24
24
|
setup(
|
25
25
|
name='wavetrainer',
|
26
|
-
version='0.0.
|
26
|
+
version='0.0.11',
|
27
27
|
description='A library for automatically finding the optimal model within feature and hyperparameter space.',
|
28
28
|
long_description=long_description,
|
29
29
|
long_description_content_type='text/markdown',
|
@@ -1,5 +1,7 @@
|
|
1
1
|
"""A function for creating a new trainer."""
|
2
2
|
|
3
|
+
# pylint: disable=too-many-arguments,too-many-positional-arguments
|
4
|
+
|
3
5
|
import datetime
|
4
6
|
|
5
7
|
from .trainer import Trainer
|
@@ -11,6 +13,7 @@ def create(
|
|
11
13
|
test_size: float | datetime.timedelta | None = None,
|
12
14
|
validation_size: float | datetime.timedelta | None = None,
|
13
15
|
dt_column: str | None = None,
|
16
|
+
max_train_timeout: datetime.timedelta | None = None,
|
14
17
|
) -> Trainer:
|
15
18
|
"""Create a trainer."""
|
16
19
|
return Trainer(
|
@@ -19,4 +22,5 @@ def create(
|
|
19
22
|
test_size=test_size,
|
20
23
|
validation_size=validation_size,
|
21
24
|
dt_column=dt_column,
|
25
|
+
max_train_timeout=max_train_timeout,
|
22
26
|
)
|
@@ -51,6 +51,7 @@ class Trainer(Fit):
|
|
51
51
|
test_size: float | datetime.timedelta | None = None,
|
52
52
|
validation_size: float | datetime.timedelta | None = None,
|
53
53
|
dt_column: str | None = None,
|
54
|
+
max_train_timeout: datetime.timedelta | None = None,
|
54
55
|
):
|
55
56
|
tqdm.tqdm.pandas()
|
56
57
|
|
@@ -137,6 +138,7 @@ class Trainer(Fit):
|
|
137
138
|
self._test_size = test_size
|
138
139
|
self._validation_size = validation_size
|
139
140
|
self._dt_column = dt_column
|
141
|
+
self._max_train_timeout = max_train_timeout
|
140
142
|
|
141
143
|
def _provide_study(self, column: str) -> optuna.Study:
|
142
144
|
storage_name = f"sqlite:///{self._folder}/{column}/{_STUDYDB_FILENAME}"
|
@@ -289,7 +291,12 @@ class Trainer(Fit):
|
|
289
291
|
initial_trials = max(self._trials - len(study.trials), 0)
|
290
292
|
if initial_trials > 0:
|
291
293
|
study.optimize(
|
292
|
-
test_objective,
|
294
|
+
test_objective,
|
295
|
+
n_trials=initial_trials,
|
296
|
+
show_progress_bar=True,
|
297
|
+
timeout=None
|
298
|
+
if self._max_train_timeout is None
|
299
|
+
else self._max_train_timeout.total_seconds(),
|
293
300
|
)
|
294
301
|
|
295
302
|
train_len = len(df[dt_index < start_test_index])
|
@@ -336,6 +343,9 @@ class Trainer(Fit):
|
|
336
343
|
validate_objctive, idx=test_idx, series=test_series
|
337
344
|
),
|
338
345
|
n_trials=1,
|
346
|
+
timeout=None
|
347
|
+
if self._max_train_timeout is None
|
348
|
+
else self._max_train_timeout.total_seconds(),
|
339
349
|
)
|
340
350
|
|
341
351
|
_fit(study.best_trial, test_df, test_series, True, test_idx)
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|