wavetrainer 0.0.20__tar.gz → 0.0.22__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.20/wavetrainer.egg-info → wavetrainer-0.0.22}/PKG-INFO +3 -1
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/README.md +1 -0
- wavetrainer-0.0.20/wavetrainer.egg-info/requires.txt → wavetrainer-0.0.22/requirements.txt +1 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/setup.py +1 -1
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/__init__.py +1 -1
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_model.py +9 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22/wavetrainer.egg-info}/PKG-INFO +3 -1
- wavetrainer-0.0.20/requirements.txt → wavetrainer-0.0.22/wavetrainer.egg-info/requires.txt +2 -1
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/LICENSE +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/MANIFEST.in +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/setup.cfg +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/model/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/model/catboost_kwargs_test.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/trainer_test.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/calibrator.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/calibrator_router.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/mapie_calibrator.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/vennabers_calibrator.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/create.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/exceptions.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/fit.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_classifier_wrap.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_kwargs.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_regressor_wrap.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/model.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/model_router.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model_type.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/params.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/base_selector_reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/combined_reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/constant_reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/correlation_reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/duplicate_reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/nonnumeric_reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/unseen_reducer.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/selector/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/selector/selector.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/trainer.py +5 -5
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/class_weights.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/combined_weights.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/exponential_weights.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/linear_weights.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/noop_weights.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/sigmoid_weights.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/weights.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/weights_router.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/windower/__init__.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/windower/windower.py +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer.egg-info/SOURCES.txt +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer.egg-info/dependency_links.txt +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer.egg-info/not-zip-safe +0 -0
- {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: wavetrainer
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.22
|
4
4
|
Summary: A library for automatically finding the optimal model within feature and hyperparameter space.
|
5
5
|
Home-page: https://github.com/8W9aG/wavetrainer
|
6
6
|
Author: Will Sackfield
|
@@ -22,6 +22,7 @@ Requires-Dist: catboost>=1.2.7
|
|
22
22
|
Requires-Dist: venn-abers>=1.4.6
|
23
23
|
Requires-Dist: mapie>=0.9.2
|
24
24
|
Requires-Dist: pytz>=2025.1
|
25
|
+
Requires-Dist: torch>=2.6.0
|
25
26
|
|
26
27
|
# wavetrainer
|
27
28
|
|
@@ -50,6 +51,7 @@ Python 3.11.6:
|
|
50
51
|
- [venn-abers](https://github.com/ip200/venn-abers)
|
51
52
|
- [mapie](https://mapie.readthedocs.io/en/stable/)
|
52
53
|
- [pytz](https://pythonhosted.org/pytz/)
|
54
|
+
- [torch](https://pytorch.org/)
|
53
55
|
|
54
56
|
## Raison D'être :thought_balloon:
|
55
57
|
|
@@ -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.22',
|
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',
|
@@ -7,6 +7,7 @@ from typing import Any, Self
|
|
7
7
|
|
8
8
|
import optuna
|
9
9
|
import pandas as pd
|
10
|
+
import torch
|
10
11
|
from catboost import CatBoost, Pool # type: ignore
|
11
12
|
|
12
13
|
from ..model_type import ModelType, determine_model_type
|
@@ -189,6 +190,8 @@ class CatboostModel(Model):
|
|
189
190
|
boosting_type=self._boosting_type,
|
190
191
|
early_stopping_rounds=self._early_stopping_rounds,
|
191
192
|
metric_period=100,
|
193
|
+
task_type="GPU" if torch.cuda.is_available() else "CPU",
|
194
|
+
devices="0" if torch.cuda.is_available() else None,
|
192
195
|
)
|
193
196
|
case ModelType.REGRESSION:
|
194
197
|
catboost = CatBoostRegressorWrapper(
|
@@ -199,6 +202,8 @@ class CatboostModel(Model):
|
|
199
202
|
boosting_type=self._boosting_type,
|
200
203
|
early_stopping_rounds=self._early_stopping_rounds,
|
201
204
|
metric_period=100,
|
205
|
+
task_type="GPU" if torch.cuda.is_available() else "CPU",
|
206
|
+
devices="0" if torch.cuda.is_available() else None,
|
202
207
|
)
|
203
208
|
case ModelType.BINNED_BINARY:
|
204
209
|
catboost = CatBoostClassifierWrapper(
|
@@ -209,6 +214,8 @@ class CatboostModel(Model):
|
|
209
214
|
boosting_type=self._boosting_type,
|
210
215
|
early_stopping_rounds=self._early_stopping_rounds,
|
211
216
|
metric_period=100,
|
217
|
+
task_type="GPU" if torch.cuda.is_available() else "CPU",
|
218
|
+
devices="0" if torch.cuda.is_available() else None,
|
212
219
|
)
|
213
220
|
case ModelType.MULTI_CLASSIFICATION:
|
214
221
|
catboost = CatBoostClassifierWrapper(
|
@@ -219,6 +226,8 @@ class CatboostModel(Model):
|
|
219
226
|
boosting_type=self._boosting_type,
|
220
227
|
early_stopping_rounds=self._early_stopping_rounds,
|
221
228
|
metric_period=100,
|
229
|
+
task_type="GPU" if torch.cuda.is_available() else "CPU",
|
230
|
+
devices="0" if torch.cuda.is_available() else None,
|
222
231
|
)
|
223
232
|
self._catboost = catboost
|
224
233
|
if catboost is None:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: wavetrainer
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.22
|
4
4
|
Summary: A library for automatically finding the optimal model within feature and hyperparameter space.
|
5
5
|
Home-page: https://github.com/8W9aG/wavetrainer
|
6
6
|
Author: Will Sackfield
|
@@ -22,6 +22,7 @@ Requires-Dist: catboost>=1.2.7
|
|
22
22
|
Requires-Dist: venn-abers>=1.4.6
|
23
23
|
Requires-Dist: mapie>=0.9.2
|
24
24
|
Requires-Dist: pytz>=2025.1
|
25
|
+
Requires-Dist: torch>=2.6.0
|
25
26
|
|
26
27
|
# wavetrainer
|
27
28
|
|
@@ -50,6 +51,7 @@ Python 3.11.6:
|
|
50
51
|
- [venn-abers](https://github.com/ip200/venn-abers)
|
51
52
|
- [mapie](https://mapie.readthedocs.io/en/stable/)
|
52
53
|
- [pytz](https://pythonhosted.org/pytz/)
|
54
|
+
- [torch](https://pytorch.org/)
|
53
55
|
|
54
56
|
## Raison D'être :thought_balloon:
|
55
57
|
|
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
|
@@ -323,11 +323,6 @@ class Trainer(Fit):
|
|
323
323
|
for count, test_idx in tqdm.tqdm(
|
324
324
|
enumerate(dt_index[dt_index >= start_test_index])
|
325
325
|
):
|
326
|
-
if (
|
327
|
-
last_processed_dt is not None
|
328
|
-
and test_idx < last_processed_dt + self._walkforward_timedelta
|
329
|
-
):
|
330
|
-
continue
|
331
326
|
test_dt = test_idx.to_pydatetime()
|
332
327
|
found = False
|
333
328
|
for trial in study.trials:
|
@@ -340,6 +335,11 @@ class Trainer(Fit):
|
|
340
335
|
if found:
|
341
336
|
last_processed_dt = test_dt
|
342
337
|
continue
|
338
|
+
if (
|
339
|
+
last_processed_dt is not None
|
340
|
+
and test_idx < last_processed_dt + self._walkforward_timedelta
|
341
|
+
):
|
342
|
+
continue
|
343
343
|
|
344
344
|
test_df = df.iloc[: train_len + count + test_len]
|
345
345
|
test_series = y_series.iloc[: train_len + count + test_len]
|
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
|