autogluon.timeseries 1.3.2b20250710__py3-none-any.whl → 1.3.2b20250712__py3-none-any.whl

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.
@@ -482,7 +482,7 @@ class AbstractTimeSeriesModel(TimeSeriesModelBase, TimeSeriesTunable, ABC):
482
482
  self.covariate_regressor.fit(
483
483
  train_data,
484
484
  time_limit=covariate_regressor_time_limit,
485
- verbosity=verbosity,
485
+ verbosity=verbosity - 1,
486
486
  )
487
487
 
488
488
  if self._get_tags()["can_use_train_data"]:
@@ -11,6 +11,7 @@ from sklearn.base import BaseEstimator
11
11
 
12
12
  import autogluon.core as ag
13
13
  from autogluon.core.models import AbstractModel as AbstractTabularModel
14
+ from autogluon.features import AutoMLPipelineFeatureGenerator
14
15
  from autogluon.tabular.registry import ag_model_registry
15
16
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TIMESTAMP, TimeSeriesDataFrame
16
17
  from autogluon.timeseries.metrics.abstract import TimeSeriesScorer
@@ -35,14 +36,18 @@ class TabularModel(BaseEstimator):
35
36
  def __init__(self, model_class: Type[AbstractTabularModel], model_kwargs: Optional[dict] = None):
36
37
  self.model_class = model_class
37
38
  self.model_kwargs = {} if model_kwargs is None else model_kwargs
39
+ self.feature_pipeline = AutoMLPipelineFeatureGenerator()
38
40
 
39
- def fit(self, *args, **kwargs):
41
+ def fit(self, X: pd.DataFrame, y: pd.Series, X_val: pd.DataFrame, y_val: pd.Series, **kwargs):
40
42
  self.model = self.model_class(**self.model_kwargs)
41
- self.model.fit(*args, **kwargs)
43
+ X = self.feature_pipeline.fit_transform(X=X)
44
+ X_val = self.feature_pipeline.transform(X=X_val)
45
+ self.model.fit(X=X, y=y, X_val=X_val, y_val=y_val, **kwargs)
42
46
  return self
43
47
 
44
- def predict(self, *args, **kwargs):
45
- return self.model.predict(*args, **kwargs)
48
+ def predict(self, X: pd.DataFrame, **kwargs):
49
+ X = self.feature_pipeline.transform(X=X)
50
+ return self.model.predict(X=X, **kwargs)
46
51
 
47
52
  def get_params(self, deep=True):
48
53
  params = {"model_class": self.model_class, "model_kwargs": self.model_kwargs}
@@ -346,7 +351,7 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
346
351
  max_num_samples=model_params["max_num_samples"],
347
352
  )
348
353
 
349
- with set_loggers_level(regex=r"^autogluon.tabular.*", level=logging.ERROR):
354
+ with set_loggers_level(regex=r"^autogluon\.(tabular|features).*", level=logging.ERROR):
350
355
  tabular_model = self._create_tabular_model(
351
356
  model_name=model_params["model_name"], model_hyperparameters=model_params["model_hyperparameters"]
352
357
  )
@@ -356,6 +361,7 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
356
361
  X_val=val_df.drop(columns=[MLF_TARGET, MLF_ITEMID]),
357
362
  y_val=val_df[MLF_TARGET],
358
363
  time_limit=(None if time_limit is None else time_limit - (time.time() - fit_start_time)),
364
+ verbosity=verbosity - 1,
359
365
  )
360
366
 
361
367
  # We directly insert the trained model into models_ since calling _mlf.fit_models does not support X_val, y_val
@@ -363,12 +369,12 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
363
369
 
364
370
  self._save_residuals_std(val_df)
365
371
 
366
- def get_tabular_model(self) -> AbstractTabularModel:
367
- """Get the unerlyin tabular regression model."""
372
+ def get_tabular_model(self) -> TabularModel:
373
+ """Get the underlying tabular regression model."""
368
374
  assert "mean" in self._mlf.models_, "Call `fit` before calling `get_tabular_model`"
369
375
  mean_estimator = self._mlf.models_["mean"]
370
376
  assert isinstance(mean_estimator, TabularModel)
371
- return mean_estimator.model
377
+ return mean_estimator
372
378
 
373
379
  def _save_residuals_std(self, val_df: pd.DataFrame) -> None:
374
380
  """Compute standard deviation of residuals for each item using the validation set.
@@ -531,7 +537,9 @@ class DirectTabularModel(AbstractMLForecastModel):
531
537
  """Apply a mask that mimics the situation at prediction time when target/covariates are unknown during the
532
538
  forecast horizon.
533
539
  """
534
- num_hidden = np.random.randint(0, self.prediction_length, size=len(df))
540
+ # Fix seed to make the model deterministic
541
+ rng = np.random.default_rng(seed=123)
542
+ num_hidden = rng.integers(0, self.prediction_length, size=len(df))
535
543
  lag_cols = [f"lag{lag}" for lag in self._target_lags]
536
544
  mask = num_hidden[:, None] < self._target_lags[None] # shape [len(num_hidden), len(_target_lags)]
537
545
  # use df.loc[:, lag_cols] instead of df[lag_cols] to avoid SettingWithCopyWarning
@@ -146,6 +146,7 @@ class GlobalCovariateRegressor(CovariateRegressor):
146
146
  # Has no effect since the model won't be saved to disk.
147
147
  # We provide path to avoid https://github.com/autogluon/autogluon/issues/4832
148
148
  path="",
149
+ name=self.model_type.__name__,
149
150
  )
150
151
  if time_limit is not None:
151
152
  time_limit_fit = self.fit_time_fraction * (time_limit - (time.monotonic() - start_time))
@@ -1,4 +1,4 @@
1
1
  """This is the autogluon version file."""
2
2
 
3
- __version__ = "1.3.2b20250710"
3
+ __version__ = "1.3.2b20250712"
4
4
  __lite__ = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.timeseries
3
- Version: 1.3.2b20250710
3
+ Version: 1.3.2b20250712
4
4
  Summary: Fast and Accurate ML in 3 Lines of Code
5
5
  Home-page: https://github.com/autogluon/autogluon
6
6
  Author: AutoGluon Community
@@ -55,10 +55,10 @@ Requires-Dist: fugue>=0.9.0
55
55
  Requires-Dist: tqdm<5,>=4.38
56
56
  Requires-Dist: orjson~=3.9
57
57
  Requires-Dist: tensorboard<3,>=2.9
58
- Requires-Dist: autogluon.core[raytune]==1.3.2b20250710
59
- Requires-Dist: autogluon.common==1.3.2b20250710
60
- Requires-Dist: autogluon.features==1.3.2b20250710
61
- Requires-Dist: autogluon.tabular[catboost,lightgbm,xgboost]==1.3.2b20250710
58
+ Requires-Dist: autogluon.core[raytune]==1.3.2b20250712
59
+ Requires-Dist: autogluon.common==1.3.2b20250712
60
+ Requires-Dist: autogluon.features==1.3.2b20250712
61
+ Requires-Dist: autogluon.tabular[catboost,lightgbm,xgboost]==1.3.2b20250712
62
62
  Provides-Extra: all
63
63
  Provides-Extra: tests
64
64
  Requires-Dist: pytest; extra == "tests"
@@ -1,12 +1,12 @@
1
- autogluon.timeseries-1.3.2b20250710-py3.9-nspkg.pth,sha256=cQGwpuGPqg1GXscIwt-7PmME1OnSpD-7ixkikJ31WAY,554
1
+ autogluon.timeseries-1.3.2b20250712-py3.9-nspkg.pth,sha256=cQGwpuGPqg1GXscIwt-7PmME1OnSpD-7ixkikJ31WAY,554
2
2
  autogluon/timeseries/__init__.py,sha256=_CrLLc1fkjen7UzWoO0Os8WZoHOgvZbHKy46I8v_4k4,304
3
3
  autogluon/timeseries/evaluator.py,sha256=l642tYfTHsl8WVIq_vV6qhgAFVFr9UuZD7gLra3A_Kc,250
4
4
  autogluon/timeseries/learner.py,sha256=pIn4YSOk0aqCWyBpIlwnAsFnG4h7PLXk8guFH3wFS-w,13923
5
5
  autogluon/timeseries/predictor.py,sha256=u4d7-xMs669g5xxqIYuvEyGQ0P6Y8IoToiyg9zUZoy4,88168
6
- autogluon/timeseries/regressor.py,sha256=oeShL68b50cX7WASj7YRiYaJ012QudUUTyZFBpMZMqU,11958
6
+ autogluon/timeseries/regressor.py,sha256=G0zecniv85wr8EXlXsbiqpKYHE5KeNALHRzPp_hO5qs,12001
7
7
  autogluon/timeseries/splitter.py,sha256=yzPca9p2bWV-_VJAptUyyzQsxu-uixAdpMoGQtDzMD4,3205
8
8
  autogluon/timeseries/trainer.py,sha256=-xdGZ4v8OTA3AzMjBJ4CwGYhmKBRsY0Q-dm6YioFOmc,57977
9
- autogluon/timeseries/version.py,sha256=7DTsh87cIM0xS67uB9g3eKGKiM6QqP2Gr5W3n-lwcfU,91
9
+ autogluon/timeseries/version.py,sha256=C6OW_vajErF7r9El7B0X_XkhCzzEn70hhuGbhroLKSU,91
10
10
  autogluon/timeseries/configs/__init__.py,sha256=BTtHIPCYeGjqgOcvqb8qPD4VNX-ICKOg6wnkew1cPOE,98
11
11
  autogluon/timeseries/configs/presets_configs.py,sha256=cLat8ecLlWrI-SC5KLBDCX2SbVXaucemy2pjxJAtSY0,2543
12
12
  autogluon/timeseries/dataset/__init__.py,sha256=UvnhAN5tjgxXTHoZMQDy64YMDj4Xxa68yY7NP4vAw0o,81
@@ -19,11 +19,11 @@ autogluon/timeseries/metrics/utils.py,sha256=HuDe1BNe8yJU4f_DKM913nNrUueoRaw6zhx
19
19
  autogluon/timeseries/models/__init__.py,sha256=nx61eXLCxWIb-eJXpYgCw3C7naNklh_FAaKImb8EdvI,1237
20
20
  autogluon/timeseries/models/presets.py,sha256=ejVCs1Uv6EwVn55uKYyb4ju0kFuuwlOaO0yVmwYbMgI,12314
21
21
  autogluon/timeseries/models/abstract/__init__.py,sha256=Htfkjjc3vo92RvyM8rIlQ0PLWt3jcrCKZES07UvCMV0,146
22
- autogluon/timeseries/models/abstract/abstract_timeseries_model.py,sha256=apt1AsGQF9lKrdSShIG3KsqNsZ7oEwUGd9mjhMN9S0M,33108
22
+ autogluon/timeseries/models/abstract/abstract_timeseries_model.py,sha256=cxAZoYeLT9KsUAHlWlCH9WVw7I_L65m8CMKZBMN7LIU,33112
23
23
  autogluon/timeseries/models/abstract/model_trial.py,sha256=ENPg_7nsdxIvaNM0o0UShZ3x8jFlRmwRc5m0fGPC0TM,3720
24
24
  autogluon/timeseries/models/abstract/tunable.py,sha256=SFl4vjkb6BfFFaRPVdftnnLYlIyCThutLHxiiAlV6tY,7168
25
25
  autogluon/timeseries/models/autogluon_tabular/__init__.py,sha256=E5fZsdFPgVdyCVyj5bGmn_lQFlCMn2NvuRLBMcCFvhM,205
26
- autogluon/timeseries/models/autogluon_tabular/mlforecast.py,sha256=3yaPAqnqTv5kxkYg_JmQR7Q5yiaAAGKdaMFtN_GC-Yk,37095
26
+ autogluon/timeseries/models/autogluon_tabular/mlforecast.py,sha256=CBQh23Li__Gmpsv1e5ucMjeBtLFcm2CJbpgqXVNOTNY,37614
27
27
  autogluon/timeseries/models/autogluon_tabular/per_step.py,sha256=qCC8ed4pqm6yoW743WJ2z1Nh6WV8-Z8EVqRwX9Lz6eE,20580
28
28
  autogluon/timeseries/models/autogluon_tabular/transforms.py,sha256=aI1QJLJaOB5Xy2WA0jo6Jh25MRVyyZ8ONrqlV96kpw0,2735
29
29
  autogluon/timeseries/models/autogluon_tabular/utils.py,sha256=Fn3Vu_Q0PCtEUbtNgLp1xIblg7dOdpFlF3W5kLHgruI,63
@@ -61,11 +61,11 @@ autogluon/timeseries/utils/datetime/base.py,sha256=3NdsH3NDq4cVAOSoy3XpaNixyNlbj
61
61
  autogluon/timeseries/utils/datetime/lags.py,sha256=dpndFOV-d-AqCTwKeQ5Dz-AfCJTeI27bxDC13QzY4y8,6003
62
62
  autogluon/timeseries/utils/datetime/seasonality.py,sha256=YK_2k8hvYIMW-sJPnjGWRtCnvIOthwA2hATB3nwVoD4,834
63
63
  autogluon/timeseries/utils/datetime/time_features.py,sha256=MjLi3zQ00uWWJtXH9oGX2GJkTbvjdSiuabSa4kcVuxE,2672
64
- autogluon.timeseries-1.3.2b20250710.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
65
- autogluon.timeseries-1.3.2b20250710.dist-info/METADATA,sha256=Y3kzbY2t9xUR5bnvnlZ2go5LioftRxA8mrmhuUFfdU4,12443
66
- autogluon.timeseries-1.3.2b20250710.dist-info/NOTICE,sha256=7nPQuj8Kp-uXsU0S5so3-2dNU5EctS5hDXvvzzehd7E,114
67
- autogluon.timeseries-1.3.2b20250710.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
68
- autogluon.timeseries-1.3.2b20250710.dist-info/namespace_packages.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
69
- autogluon.timeseries-1.3.2b20250710.dist-info/top_level.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
70
- autogluon.timeseries-1.3.2b20250710.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
71
- autogluon.timeseries-1.3.2b20250710.dist-info/RECORD,,
64
+ autogluon.timeseries-1.3.2b20250712.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
65
+ autogluon.timeseries-1.3.2b20250712.dist-info/METADATA,sha256=IgR6RZQbUF8j9rMAow5LpeHS1R0EdXQm62mEf1SXkV8,12443
66
+ autogluon.timeseries-1.3.2b20250712.dist-info/NOTICE,sha256=7nPQuj8Kp-uXsU0S5so3-2dNU5EctS5hDXvvzzehd7E,114
67
+ autogluon.timeseries-1.3.2b20250712.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
68
+ autogluon.timeseries-1.3.2b20250712.dist-info/namespace_packages.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
69
+ autogluon.timeseries-1.3.2b20250712.dist-info/top_level.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
70
+ autogluon.timeseries-1.3.2b20250712.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
71
+ autogluon.timeseries-1.3.2b20250712.dist-info/RECORD,,