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.
Files changed (58) hide show
  1. {wavetrainer-0.0.20/wavetrainer.egg-info → wavetrainer-0.0.22}/PKG-INFO +3 -1
  2. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/README.md +1 -0
  3. wavetrainer-0.0.20/wavetrainer.egg-info/requires.txt → wavetrainer-0.0.22/requirements.txt +1 -0
  4. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/setup.py +1 -1
  5. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/__init__.py +1 -1
  6. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_model.py +9 -0
  7. {wavetrainer-0.0.20 → wavetrainer-0.0.22/wavetrainer.egg-info}/PKG-INFO +3 -1
  8. wavetrainer-0.0.20/requirements.txt → wavetrainer-0.0.22/wavetrainer.egg-info/requires.txt +2 -1
  9. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/LICENSE +0 -0
  10. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/MANIFEST.in +0 -0
  11. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/setup.cfg +0 -0
  12. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/__init__.py +0 -0
  13. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/model/__init__.py +0 -0
  14. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/model/catboost_kwargs_test.py +0 -0
  15. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/tests/trainer_test.py +0 -0
  16. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/__init__.py +0 -0
  17. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/calibrator.py +0 -0
  18. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/calibrator_router.py +0 -0
  19. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/mapie_calibrator.py +0 -0
  20. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/calibrator/vennabers_calibrator.py +0 -0
  21. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/create.py +0 -0
  22. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/exceptions.py +0 -0
  23. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/fit.py +0 -0
  24. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/__init__.py +0 -0
  25. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_classifier_wrap.py +0 -0
  26. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_kwargs.py +0 -0
  27. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/catboost_regressor_wrap.py +0 -0
  28. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/model.py +0 -0
  29. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model/model_router.py +0 -0
  30. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/model_type.py +0 -0
  31. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/params.py +0 -0
  32. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/__init__.py +0 -0
  33. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/base_selector_reducer.py +0 -0
  34. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/combined_reducer.py +0 -0
  35. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/constant_reducer.py +0 -0
  36. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/correlation_reducer.py +0 -0
  37. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/duplicate_reducer.py +0 -0
  38. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/nonnumeric_reducer.py +0 -0
  39. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/reducer.py +0 -0
  40. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/reducer/unseen_reducer.py +0 -0
  41. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/selector/__init__.py +0 -0
  42. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/selector/selector.py +0 -0
  43. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/trainer.py +5 -5
  44. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/__init__.py +0 -0
  45. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/class_weights.py +0 -0
  46. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/combined_weights.py +0 -0
  47. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/exponential_weights.py +0 -0
  48. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/linear_weights.py +0 -0
  49. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/noop_weights.py +0 -0
  50. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/sigmoid_weights.py +0 -0
  51. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/weights.py +0 -0
  52. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/weights/weights_router.py +0 -0
  53. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/windower/__init__.py +0 -0
  54. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer/windower/windower.py +0 -0
  55. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer.egg-info/SOURCES.txt +0 -0
  56. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer.egg-info/dependency_links.txt +0 -0
  57. {wavetrainer-0.0.20 → wavetrainer-0.0.22}/wavetrainer.egg-info/not-zip-safe +0 -0
  58. {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.20
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
 
@@ -25,6 +25,7 @@ Python 3.11.6:
25
25
  - [venn-abers](https://github.com/ip200/venn-abers)
26
26
  - [mapie](https://mapie.readthedocs.io/en/stable/)
27
27
  - [pytz](https://pythonhosted.org/pytz/)
28
+ - [torch](https://pytorch.org/)
28
29
 
29
30
  ## Raison D'être :thought_balloon:
30
31
 
@@ -9,3 +9,4 @@ catboost>=1.2.7
9
9
  venn-abers>=1.4.6
10
10
  mapie>=0.9.2
11
11
  pytz>=2025.1
12
+ torch>=2.6.0
@@ -23,7 +23,7 @@ def install_requires() -> typing.List[str]:
23
23
 
24
24
  setup(
25
25
  name='wavetrainer',
26
- version='0.0.20',
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',
@@ -2,5 +2,5 @@
2
2
 
3
3
  from .create import create
4
4
 
5
- __VERSION__ = "0.0.20"
5
+ __VERSION__ = "0.0.22"
6
6
  __all__ = ("create",)
@@ -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.20
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
 
@@ -8,4 +8,5 @@ scipy>=1.15.2
8
8
  catboost>=1.2.7
9
9
  venn-abers>=1.4.6
10
10
  mapie>=0.9.2
11
- pytz>=2025.1
11
+ pytz>=2025.1
12
+ torch>=2.6.0
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]