DateFlagsTransform¶
- class DateFlagsTransform(day_number_in_week: Optional[bool] = True, day_number_in_month: Optional[bool] = True, day_number_in_year: Optional[bool] = False, week_number_in_month: Optional[bool] = False, week_number_in_year: Optional[bool] = False, month_number_in_year: Optional[bool] = False, season_number: Optional[bool] = False, year_number: Optional[bool] = False, is_weekend: Optional[bool] = True, special_days_in_week: Sequence[int] = (), special_days_in_month: Sequence[int] = (), out_column: Optional[str] = None)[source]¶
Bases:
etna.transforms.base.IrreversibleTransform
,etna.transforms.base.FutureMixin
DateFlagsTransform is a class that implements extraction of the main date-based features from datetime column.
Notes
Small example of
week_number_in_month
andweek_number_in_year
featurestimestamp
day_number_in_week
week_number_in_month
week_number_in_year
2020-01-01
4
1
53
2020-01-02
5
1
53
2020-01-03
6
1
53
2020-01-04
0
2
1
…
2020-01-10
6
2
1
2020-01-11
0
3
2
Create instance of DateFlags.
- Parameters
day_number_in_week (Optional[bool]) – if True, add column with weekday info to feature dataframe in transform
day_number_in_month (Optional[bool]) – if True, add column with day info to feature dataframe in transform
day_number_in_year (Optional[bool]) – if True, add column with number of day in a year with leap year numeration (values from 1 to 366)
week_number_in_month (Optional[bool]) – if True, add column with week number (in month context) to feature dataframe in transform
week_number_in_year (Optional[bool]) – if True, add column with week number (in year context) to feature dataframe in transform
month_number_in_year (Optional[bool]) – if True, add column with month info to feature dataframe in transform
season_number (Optional[bool]) – if True, add column with season info to feature dataframe in transform
year_number (Optional[bool]) – if True, add column with year info to feature dataframe in transform
is_weekend (Optional[bool]) – if True: add column with weekends flags to feature dataframe in transform
special_days_in_week (Sequence[int]) – list of weekdays number (from [0, 6]) that should be interpreted as special ones, if given add column with flag that shows given date is a special day
special_days_in_month (Sequence[int]) – list of days number (from [1, 31]) that should be interpreted as special ones, if given add column with flag that shows given date is a special day
out_column (Optional[str]) –
base for the name of created columns;
if set the final name is ‘{out_column}_{feature_name}’;
if don’t set, name will be
transform.__repr__()
, repr will be made for transform that creates exactly this column
- Inherited-members
Methods
fit
(ts)Fit the transform.
fit_transform
(ts)Fit and transform TSDataset.
Return the list with regressors created by the transform.
inverse_transform
(ts)Inverse transform TSDataset.
load
(path)Load an object.
Get default grid for tuning hyperparameters.
save
(path)Save the object.
set_params
(**params)Return new object instance with modified parameters.
to_dict
()Collect all information about etna object in dict.
transform
(ts)Transform TSDataset inplace.
- get_regressors_info() List[str] [source]¶
Return the list with regressors created by the transform.
- Return type
List[str]
- params_to_tune() Dict[str, etna.distributions.distributions.BaseDistribution] [source]¶
Get default grid for tuning hyperparameters.
This grid tunes parameters:
day_number_in_week
,day_number_in_month
,day_number_in_year
,week_number_in_month
,week_number_in_year
,month_number_in_year
,season_number
,year_number
,is_weekend
. Other parameters are expected to be set by the user.There are no restrictions on all
False
values for the flags.- Returns
Grid to tune.
- Return type
Dict[str, etna.distributions.distributions.BaseDistribution]