autogluon.timeseries 1.0.1b20240301__py3-none-any.whl → 1.0.1b20240302__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.
Potentially problematic release.
This version of autogluon.timeseries might be problematic. Click here for more details.
- autogluon/timeseries/models/autogluon_tabular/mlforecast.py +0 -3
- autogluon/timeseries/predictor.py +1 -1
- autogluon/timeseries/utils/features.py +114 -80
- autogluon/timeseries/version.py +1 -1
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/METADATA +4 -4
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/RECORD +13 -13
- /autogluon.timeseries-1.0.1b20240301-py3.8-nspkg.pth → /autogluon.timeseries-1.0.1b20240302-py3.8-nspkg.pth +0 -0
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/LICENSE +0 -0
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/NOTICE +0 -0
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/WHEEL +0 -0
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/namespace_packages.txt +0 -0
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/top_level.txt +0 -0
- {autogluon.timeseries-1.0.1b20240301.dist-info → autogluon.timeseries-1.0.1b20240302.dist-info}/zip-safe +0 -0
|
@@ -231,9 +231,6 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
|
|
|
231
231
|
if static_features is not None:
|
|
232
232
|
df = pd.merge(df, static_features, how="left", on=ITEMID, suffixes=(None, "_static_feat"))
|
|
233
233
|
|
|
234
|
-
# Convert float64 to float32 to reduce memory usage
|
|
235
|
-
float64_cols = list(df.select_dtypes(include="float64"))
|
|
236
|
-
df[float64_cols] = df[float64_cols].astype("float32")
|
|
237
234
|
# We assume that df is sorted by 'unique_id' inside `TimeSeriesPredictor._check_and_prepare_data_frame`
|
|
238
235
|
return df.rename(columns=column_name_mapping)
|
|
239
236
|
|
|
@@ -293,7 +293,7 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
|
|
|
293
293
|
Preprocessed data in TimeSeriesDataFrame format.
|
|
294
294
|
"""
|
|
295
295
|
df = self._to_data_frame(data, name=name)
|
|
296
|
-
df = df.astype({self.target:
|
|
296
|
+
df = df.astype({self.target: "float32"})
|
|
297
297
|
# MultiIndex.is_monotonic_increasing checks if index is sorted by ["item_id", "timestamp"]
|
|
298
298
|
if not df.index.is_monotonic_increasing:
|
|
299
299
|
df = df.sort_index()
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import reprlib
|
|
3
3
|
from dataclasses import dataclass, field
|
|
4
|
-
from typing import List, Optional
|
|
4
|
+
from typing import List, Optional, Tuple
|
|
5
5
|
|
|
6
|
-
import numpy as np
|
|
7
6
|
import pandas as pd
|
|
8
7
|
|
|
9
8
|
from autogluon.common.features.types import R_FLOAT, R_INT
|
|
@@ -33,9 +32,9 @@ class CovariateMetadata:
|
|
|
33
32
|
class ContinuousAndCategoricalFeatureGenerator(PipelineFeatureGenerator):
|
|
34
33
|
"""Generates categorical and continuous features for time series models."""
|
|
35
34
|
|
|
36
|
-
def __init__(self, verbosity: int = 0, **kwargs):
|
|
35
|
+
def __init__(self, verbosity: int = 0, minimum_cat_count=2, float_dtype: str = "float32", **kwargs):
|
|
37
36
|
generators = [
|
|
38
|
-
CategoryFeatureGenerator(minimum_cat_count=
|
|
37
|
+
CategoryFeatureGenerator(minimum_cat_count=minimum_cat_count, fillna="mode"),
|
|
39
38
|
IdentityFeatureGenerator(infer_features_in_args={"valid_raw_types": [R_INT, R_FLOAT]}),
|
|
40
39
|
]
|
|
41
40
|
super().__init__(
|
|
@@ -47,34 +46,47 @@ class ContinuousAndCategoricalFeatureGenerator(PipelineFeatureGenerator):
|
|
|
47
46
|
verbosity=verbosity,
|
|
48
47
|
**kwargs,
|
|
49
48
|
)
|
|
49
|
+
self.float_dtype = float_dtype
|
|
50
|
+
|
|
51
|
+
def _convert_numerical_columns_to_float(self, df: pd.DataFrame) -> pd.DataFrame:
|
|
52
|
+
"""Convert the dtype of all numerical (float or int) columns to the given float dtype."""
|
|
53
|
+
numeric_columns = [col for col in df.columns if pd.api.types.is_numeric_dtype(df[col])]
|
|
54
|
+
return df.astype({col: self.float_dtype for col in numeric_columns})
|
|
55
|
+
|
|
56
|
+
def transform(self, X: pd.DataFrame, *args, **kwargs) -> pd.DataFrame:
|
|
57
|
+
if isinstance(X, TimeSeriesDataFrame):
|
|
58
|
+
X = pd.DataFrame(X)
|
|
59
|
+
return self._convert_numerical_columns_to_float(super().transform(X, *args, **kwargs))
|
|
60
|
+
|
|
61
|
+
def fit_transform(self, X: pd.DataFrame, *args, **kwargs) -> pd.DataFrame:
|
|
62
|
+
# PipelineFeatureGenerator does not use transform() inside fit_transform(), so we need to override both methods
|
|
63
|
+
if isinstance(X, TimeSeriesDataFrame):
|
|
64
|
+
X = pd.DataFrame(X)
|
|
65
|
+
return self._convert_numerical_columns_to_float(super().fit_transform(X, *args, **kwargs))
|
|
50
66
|
|
|
51
67
|
|
|
52
68
|
class TimeSeriesFeatureGenerator:
|
|
53
69
|
"""Takes care of preprocessing for static_features and past/known covariates.
|
|
54
70
|
|
|
55
|
-
|
|
56
|
-
dtypes.
|
|
71
|
+
All covariates & static features are converted into either float32 or categorical dtype.
|
|
57
72
|
"""
|
|
58
73
|
|
|
59
|
-
def __init__(self, target: str, known_covariates_names: List[str]):
|
|
74
|
+
def __init__(self, target: str, known_covariates_names: List[str], float_dtype: str = "float32"):
|
|
60
75
|
self.target = target
|
|
76
|
+
self.float_dtype = float_dtype
|
|
61
77
|
self._is_fit = False
|
|
62
78
|
self.known_covariates_names = list(known_covariates_names)
|
|
63
79
|
self.past_covariates_names = []
|
|
64
|
-
self.
|
|
80
|
+
self.known_covariates_pipeline = ContinuousAndCategoricalFeatureGenerator()
|
|
81
|
+
self.past_covariates_pipeline = ContinuousAndCategoricalFeatureGenerator()
|
|
82
|
+
# Cat features with cat_count=1 are fine in static_features since they are repeated for all time steps in a TS
|
|
83
|
+
self.static_feature_pipeline = ContinuousAndCategoricalFeatureGenerator(minimum_cat_count=1)
|
|
65
84
|
self.covariate_metadata: CovariateMetadata = None
|
|
66
85
|
|
|
67
86
|
@property
|
|
68
87
|
def required_column_names(self) -> List[str]:
|
|
69
88
|
return [self.target] + list(self.known_covariates_names) + list(self.past_covariates_names)
|
|
70
89
|
|
|
71
|
-
@staticmethod
|
|
72
|
-
def _convert_numerical_features_to_float(df: pd.DataFrame, float_dtype=np.float64) -> pd.DataFrame:
|
|
73
|
-
"""In-place convert the dtype of all numerical (float or int) columns to the given float dtype."""
|
|
74
|
-
numeric_columns = [col for col in df.columns if pd.api.types.is_numeric_dtype(df[col])]
|
|
75
|
-
df[numeric_columns] = df[numeric_columns].astype(float_dtype)
|
|
76
|
-
return df
|
|
77
|
-
|
|
78
90
|
def fit(self, data: TimeSeriesDataFrame) -> None:
|
|
79
91
|
assert not self._is_fit, f"{self.__class__.__name__} has already been fit"
|
|
80
92
|
|
|
@@ -83,70 +95,67 @@ class TimeSeriesFeatureGenerator:
|
|
|
83
95
|
if column != self.target and column not in self.known_covariates_names:
|
|
84
96
|
self.past_covariates_names.append(column)
|
|
85
97
|
|
|
86
|
-
|
|
87
|
-
|
|
98
|
+
self._check_required_columns_are_present(
|
|
99
|
+
data, required_column_names=self.required_column_names, data_frame_name="train_data"
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
logger.info("\nProvided data contains following columns:")
|
|
103
|
+
logger.info(f"\ttarget: '{self.target}'")
|
|
104
|
+
|
|
88
105
|
if len(self.known_covariates_names) > 0:
|
|
89
|
-
|
|
106
|
+
known_covariates_df = self.known_covariates_pipeline.fit_transform(data[self.known_covariates_names])
|
|
107
|
+
logger.info("\tknown_covariates:")
|
|
108
|
+
known_covariates_cat, known_covariates_real = self._detect_and_log_column_types(known_covariates_df)
|
|
109
|
+
self.known_covariates_names = self.known_covariates_pipeline.features_in
|
|
110
|
+
else:
|
|
111
|
+
known_covariates_cat = []
|
|
112
|
+
known_covariates_real = []
|
|
113
|
+
|
|
90
114
|
if len(self.past_covariates_names) > 0:
|
|
91
|
-
|
|
115
|
+
past_covariates_df = self.past_covariates_pipeline.fit_transform(data[self.past_covariates_names])
|
|
116
|
+
logger.info("\tpast_covariates:")
|
|
117
|
+
past_covariates_cat, past_covariates_real = self._detect_and_log_column_types(past_covariates_df)
|
|
118
|
+
self.past_covariates_names = self.past_covariates_pipeline.features_in
|
|
119
|
+
else:
|
|
120
|
+
past_covariates_cat = []
|
|
121
|
+
past_covariates_real = []
|
|
122
|
+
|
|
123
|
+
ignored_covariates = data.columns.difference(
|
|
124
|
+
[self.target] + self.known_covariates_names + self.past_covariates_names
|
|
125
|
+
)
|
|
92
126
|
|
|
93
|
-
static_features_cat = []
|
|
94
|
-
static_features_real = []
|
|
95
127
|
if data.static_features is not None:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
128
|
+
static_features_df = self.static_feature_pipeline.fit_transform(data.static_features)
|
|
129
|
+
logger.info("\tstatic_features:")
|
|
130
|
+
static_features_cat, static_features_real = self._detect_and_log_column_types(static_features_df)
|
|
131
|
+
ignored_static_features = data.static_features.columns.difference(self.static_feature_pipeline.features_in)
|
|
132
|
+
else:
|
|
133
|
+
static_features_cat = []
|
|
134
|
+
static_features_real = []
|
|
135
|
+
ignored_static_features = []
|
|
136
|
+
|
|
137
|
+
if len(ignored_covariates) > 0 or len(ignored_static_features) > 0:
|
|
138
|
+
logger.info("\nAutoGluon will ignore following non-numeric/non-informative columns:")
|
|
139
|
+
if len(ignored_covariates) > 0:
|
|
140
|
+
logger.info(f"\tignored covariates: {list(ignored_covariates)}")
|
|
141
|
+
if len(ignored_static_features) > 0:
|
|
142
|
+
logger.info(f"\tignored static_features: {list(ignored_static_features)}")
|
|
143
|
+
|
|
144
|
+
if len(data.columns) > 1 or data.static_features is not None:
|
|
113
145
|
logger.info(
|
|
114
|
-
"
|
|
146
|
+
"\nTo learn how to fix incorrectly inferred types, please see documentation for TimeSeriesPredictor.fit"
|
|
115
147
|
)
|
|
116
148
|
|
|
117
149
|
self.covariate_metadata = CovariateMetadata(
|
|
150
|
+
known_covariates_cat=known_covariates_cat,
|
|
151
|
+
known_covariates_real=known_covariates_real,
|
|
152
|
+
past_covariates_cat=past_covariates_cat,
|
|
153
|
+
past_covariates_real=past_covariates_real,
|
|
118
154
|
static_features_cat=static_features_cat,
|
|
119
155
|
static_features_real=static_features_real,
|
|
120
|
-
known_covariates_real=self.known_covariates_names,
|
|
121
|
-
past_covariates_real=self.past_covariates_names,
|
|
122
|
-
# TODO: Categorical time-varying covariates are not yet supported
|
|
123
|
-
known_covariates_cat=[],
|
|
124
|
-
past_covariates_cat=[],
|
|
125
156
|
)
|
|
126
157
|
self._is_fit = True
|
|
127
158
|
|
|
128
|
-
@staticmethod
|
|
129
|
-
def _check_and_prepare_covariates(
|
|
130
|
-
data: TimeSeriesDataFrame,
|
|
131
|
-
required_column_names: List[str],
|
|
132
|
-
data_frame_name: str,
|
|
133
|
-
) -> TimeSeriesDataFrame:
|
|
134
|
-
"""Select the required dataframe columns and convert them to float64 dtype."""
|
|
135
|
-
missing_columns = pd.Index(required_column_names).difference(data.columns)
|
|
136
|
-
if len(missing_columns) > 0:
|
|
137
|
-
raise ValueError(
|
|
138
|
-
f"{len(missing_columns)} columns are missing from {data_frame_name}: {reprlib.repr(missing_columns.to_list())}"
|
|
139
|
-
)
|
|
140
|
-
data = data[required_column_names]
|
|
141
|
-
try:
|
|
142
|
-
data = data.astype(np.float64)
|
|
143
|
-
except ValueError:
|
|
144
|
-
raise ValueError(
|
|
145
|
-
f"Columns in {data_frame_name} must all have numeric (float or int) dtypes, "
|
|
146
|
-
f"but in provided data they have dtypes {data.dtypes}"
|
|
147
|
-
)
|
|
148
|
-
return data
|
|
149
|
-
|
|
150
159
|
def transform(self, data: TimeSeriesDataFrame, data_frame_name: str = "data") -> TimeSeriesDataFrame:
|
|
151
160
|
"""Transform static features and past/known covariates.
|
|
152
161
|
|
|
@@ -156,24 +165,25 @@ class TimeSeriesFeatureGenerator:
|
|
|
156
165
|
If some columns are missing or are incompatible, an exception will be raised.
|
|
157
166
|
"""
|
|
158
167
|
assert self._is_fit, f"{self.__class__.__name__} has not been fit yet"
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
data = self._check_and_prepare_covariates(
|
|
163
|
-
data=data,
|
|
164
|
-
required_column_names=self.required_column_names,
|
|
165
|
-
data_frame_name=data_frame_name,
|
|
168
|
+
self._check_required_columns_are_present(
|
|
169
|
+
data, required_column_names=self.required_column_names, data_frame_name=data_frame_name
|
|
166
170
|
)
|
|
171
|
+
dfs = [data[[self.target]]]
|
|
172
|
+
|
|
173
|
+
if len(self.known_covariates_names) > 0:
|
|
174
|
+
dfs.append(self.known_covariates_pipeline.transform(data[self.known_covariates_names]))
|
|
175
|
+
|
|
176
|
+
if len(self.past_covariates_names) > 0:
|
|
177
|
+
dfs.append(self.past_covariates_pipeline.transform(data[self.past_covariates_names]))
|
|
167
178
|
|
|
168
179
|
if self.static_feature_pipeline.is_fit():
|
|
169
180
|
if data.static_features is None:
|
|
170
181
|
raise ValueError(f"Provided {data_frame_name} must contain static_features")
|
|
171
182
|
static_features = self.static_feature_pipeline.transform(data.static_features)
|
|
172
|
-
data.static_features = self._convert_numerical_features_to_float(static_features)
|
|
173
183
|
else:
|
|
174
|
-
|
|
184
|
+
static_features = None
|
|
175
185
|
|
|
176
|
-
return
|
|
186
|
+
return TimeSeriesDataFrame(pd.concat(dfs, axis=1), static_features=static_features)
|
|
177
187
|
|
|
178
188
|
def transform_future_known_covariates(
|
|
179
189
|
self, known_covariates: Optional[TimeSeriesDataFrame]
|
|
@@ -181,14 +191,38 @@ class TimeSeriesFeatureGenerator:
|
|
|
181
191
|
assert self._is_fit, f"{self.__class__.__name__} has not been fit yet"
|
|
182
192
|
if len(self.known_covariates_names) > 0:
|
|
183
193
|
assert known_covariates is not None, "known_covariates must be provided at prediction time"
|
|
184
|
-
|
|
185
|
-
known_covariates,
|
|
186
|
-
required_column_names=self.known_covariates_names,
|
|
187
|
-
data_frame_name="known_covariates",
|
|
194
|
+
self._check_required_columns_are_present(
|
|
195
|
+
known_covariates, required_column_names=self.known_covariates_names, data_frame_name="known_covariates"
|
|
188
196
|
)
|
|
197
|
+
return TimeSeriesDataFrame(self.known_covariates_pipeline.transform(known_covariates))
|
|
189
198
|
else:
|
|
190
199
|
return None
|
|
191
200
|
|
|
192
201
|
def fit_transform(self, data: TimeSeriesDataFrame, data_frame_name: str = "data") -> TimeSeriesDataFrame:
|
|
193
202
|
self.fit(data)
|
|
194
203
|
return self.transform(data, data_frame_name=data_frame_name)
|
|
204
|
+
|
|
205
|
+
@staticmethod
|
|
206
|
+
def _detect_and_log_column_types(transformed_df: pd.DataFrame) -> Tuple[List[str], List[str]]:
|
|
207
|
+
"""Log & return names of categorical and real-valued columns in the DataFrame."""
|
|
208
|
+
cat_column_names = []
|
|
209
|
+
real_column_names = []
|
|
210
|
+
for column_name, column_dtype in transformed_df.dtypes.items():
|
|
211
|
+
if isinstance(column_dtype, pd.CategoricalDtype):
|
|
212
|
+
cat_column_names.append(column_name)
|
|
213
|
+
elif pd.api.types.is_numeric_dtype(column_dtype):
|
|
214
|
+
real_column_names.append(column_name)
|
|
215
|
+
|
|
216
|
+
logger.info(f"\t\tcategorical: {reprlib.repr(cat_column_names)}")
|
|
217
|
+
logger.info(f"\t\tcontinuous (float): {reprlib.repr(real_column_names)}")
|
|
218
|
+
return cat_column_names, real_column_names
|
|
219
|
+
|
|
220
|
+
@staticmethod
|
|
221
|
+
def _check_required_columns_are_present(
|
|
222
|
+
data: TimeSeriesDataFrame, required_column_names: List[str], data_frame_name: str
|
|
223
|
+
) -> None:
|
|
224
|
+
missing_columns = pd.Index(required_column_names).difference(data.columns)
|
|
225
|
+
if len(missing_columns) > 0:
|
|
226
|
+
raise ValueError(
|
|
227
|
+
f"{len(missing_columns)} columns are missing from {data_frame_name}: {reprlib.repr(missing_columns.to_list())}"
|
|
228
|
+
)
|
autogluon/timeseries/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: autogluon.timeseries
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.1b20240302
|
|
4
4
|
Summary: AutoML for Image, Text, and Tabular Data
|
|
5
5
|
Home-page: https://github.com/autogluon/autogluon
|
|
6
6
|
Author: AutoGluon Community
|
|
@@ -50,9 +50,9 @@ Requires-Dist: utilsforecast <0.0.11,>=0.0.10
|
|
|
50
50
|
Requires-Dist: tqdm <5,>=4.38
|
|
51
51
|
Requires-Dist: orjson ~=3.9
|
|
52
52
|
Requires-Dist: tensorboard <3,>=2.9
|
|
53
|
-
Requires-Dist: autogluon.core[raytune] ==1.0.
|
|
54
|
-
Requires-Dist: autogluon.common ==1.0.
|
|
55
|
-
Requires-Dist: autogluon.tabular[catboost,lightgbm,xgboost] ==1.0.
|
|
53
|
+
Requires-Dist: autogluon.core[raytune] ==1.0.1b20240302
|
|
54
|
+
Requires-Dist: autogluon.common ==1.0.1b20240302
|
|
55
|
+
Requires-Dist: autogluon.tabular[catboost,lightgbm,xgboost] ==1.0.1b20240302
|
|
56
56
|
Provides-Extra: all
|
|
57
57
|
Provides-Extra: tests
|
|
58
58
|
Requires-Dist: pytest ; extra == 'tests'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
autogluon.timeseries-1.0.
|
|
1
|
+
autogluon.timeseries-1.0.1b20240302-py3.8-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=VGBFTuNebD5xF2RfimornX86DOw5dxqpPtXlrUpNSHo,9814
|
|
5
|
-
autogluon/timeseries/predictor.py,sha256=
|
|
5
|
+
autogluon/timeseries/predictor.py,sha256=FkjPpEdboQHBsEh7GxCQZn-mmkICtnNL3ZV3MoWwJbs,67770
|
|
6
6
|
autogluon/timeseries/splitter.py,sha256=eghGwAAN2_cxGk5aJBILgjGWtLzjxJcytMy49gg_q18,3061
|
|
7
|
-
autogluon/timeseries/version.py,sha256=
|
|
7
|
+
autogluon/timeseries/version.py,sha256=h8nntaJLbUW6cfAKCiHy5GiEzFjrk259_uFIYznVD7Q,90
|
|
8
8
|
autogluon/timeseries/configs/__init__.py,sha256=BTtHIPCYeGjqgOcvqb8qPD4VNX-ICKOg6wnkew1cPOE,98
|
|
9
9
|
autogluon/timeseries/configs/presets_configs.py,sha256=1u6tbOKJdIRULYDu41dlJwXRNswWsjBDF0aR2YhyMQs,479
|
|
10
10
|
autogluon/timeseries/dataset/__init__.py,sha256=UvnhAN5tjgxXTHoZMQDy64YMDj4Xxa68yY7NP4vAw0o,81
|
|
@@ -20,7 +20,7 @@ autogluon/timeseries/models/abstract/__init__.py,sha256=wvDsQAZIV0N3AwBeMaGItoQ8
|
|
|
20
20
|
autogluon/timeseries/models/abstract/abstract_timeseries_model.py,sha256=LSIc6rIwFs870MHpKUC24naMIcczFGY_--Ov-wyAq2w,21431
|
|
21
21
|
autogluon/timeseries/models/abstract/model_trial.py,sha256=_5Nrk4CrG3u35tTd3elekfdnQI2Pn3P9AGS5CE6nuyg,3749
|
|
22
22
|
autogluon/timeseries/models/autogluon_tabular/__init__.py,sha256=r9i6jWcyeLHYClkcMSKRVsfrkBUMxpDrTATNTBc_qgQ,136
|
|
23
|
-
autogluon/timeseries/models/autogluon_tabular/mlforecast.py,sha256=
|
|
23
|
+
autogluon/timeseries/models/autogluon_tabular/mlforecast.py,sha256=uydOXTIy74Exy3jQ90YoCF1L4rP7A0jtUcOreAqdn5Q,29598
|
|
24
24
|
autogluon/timeseries/models/autogluon_tabular/utils.py,sha256=4-gTrBtizxeMVQlsuscugPqw9unaXWXhS1TVVssfzYY,2125
|
|
25
25
|
autogluon/timeseries/models/ensemble/__init__.py,sha256=kFr11Gmt7lQJu9Rr8HuIPphQN5l1TsoorfbJm_O3a_s,128
|
|
26
26
|
autogluon/timeseries/models/ensemble/abstract_timeseries_ensemble.py,sha256=tifETwmiEGt-YtQ9eNK7ojJ3fBvtFMUJvisbfkIJ7gw,3393
|
|
@@ -40,7 +40,7 @@ autogluon/timeseries/trainer/__init__.py,sha256=lxiOT-Gc6BEnr_yWQqra85kEngeM_wtH
|
|
|
40
40
|
autogluon/timeseries/trainer/abstract_trainer.py,sha256=d8Qt3euZyKUGt_R-_f0sPlGZhZgLkG8tV8qsq48zZj0,49335
|
|
41
41
|
autogluon/timeseries/trainer/auto_trainer.py,sha256=ftjGd27V6dsfw3t7GY1YcoyKfj9Pl_UrU77T9u-kCQ0,3244
|
|
42
42
|
autogluon/timeseries/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
-
autogluon/timeseries/utils/features.py,sha256=
|
|
43
|
+
autogluon/timeseries/utils/features.py,sha256=Liq_Vn_BH43AqwjfuHGbiaEzCjRcWMQUy24taL5Upc0,10937
|
|
44
44
|
autogluon/timeseries/utils/forecast.py,sha256=Thjt6yTPSe3V4s5cQ9UbW3ysTJb1lkqxtZiCqgBSt3w,1776
|
|
45
45
|
autogluon/timeseries/utils/warning_filters.py,sha256=VoyTzHovxDFFbeSQXttjzmifZxKJShpKIAfCHGQGoUU,1426
|
|
46
46
|
autogluon/timeseries/utils/datetime/__init__.py,sha256=bTMR8jLh1LW55vHjbOr1zvWRMF_PqbvxpS-cUcNIDWI,173
|
|
@@ -48,11 +48,11 @@ autogluon/timeseries/utils/datetime/base.py,sha256=MsqIHY14m3QMjSwwtE7Uo1oNwepWU
|
|
|
48
48
|
autogluon/timeseries/utils/datetime/lags.py,sha256=kcU4liKbHj7KP2ajNU-KLZ8OYSU35EgT4kJjZNSw0Zg,5875
|
|
49
49
|
autogluon/timeseries/utils/datetime/seasonality.py,sha256=kgK_ukw2wCviEB7CZXRVC5HZpBJZu9IsRrvCJ9E_rOE,755
|
|
50
50
|
autogluon/timeseries/utils/datetime/time_features.py,sha256=pROkYyxETQ8rHKfPGhf2paB73C7rWJ2Ui0cCswLqbBg,2562
|
|
51
|
-
autogluon.timeseries-1.0.
|
|
52
|
-
autogluon.timeseries-1.0.
|
|
53
|
-
autogluon.timeseries-1.0.
|
|
54
|
-
autogluon.timeseries-1.0.
|
|
55
|
-
autogluon.timeseries-1.0.
|
|
56
|
-
autogluon.timeseries-1.0.
|
|
57
|
-
autogluon.timeseries-1.0.
|
|
58
|
-
autogluon.timeseries-1.0.
|
|
51
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
52
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/METADATA,sha256=5s8UXslOw3JPbV_cwFnw4RfEgNvt4h4vLs7BprE60o8,12081
|
|
53
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/NOTICE,sha256=7nPQuj8Kp-uXsU0S5so3-2dNU5EctS5hDXvvzzehd7E,114
|
|
54
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
55
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/namespace_packages.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
|
|
56
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/top_level.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
|
|
57
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
58
|
+
autogluon.timeseries-1.0.1b20240302.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|