Настройка гиперпараметров DeepAREstimator от gluonTS с помощью Ray

Я хочу создать модели прогнозирования с помощью DeepAREstimator из пакета gluonTS. Как я могу использовать Ray для настройки гиперпараметров? Вот пример кода.

      !pip install --upgrade mxnet-cu101==1.6.0.post0
!pip install --upgrade mxnet==1.6.0
!pip install gluonts


import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
from gluonts.model.deepar import DeepAREstimator
from gluonts.mx.trainer import Trainer
import numpy as np
from gluonts.dataset.common import ListDataset
from gluonts.dataset.field_names import FieldName


#Download data
!wget https://archive.ics.uci.edu/ml/machine-learning-databases/00321/LD2011_2014.txt.zip
!unzip LD2011_2014.txt.zip

df=pd.read_csv('LD2011_2014.txt', sep=';', index_col=0, parse_dates=True, decimal=',')
df_input=df.reset_index(drop=True).T.reset_index()
ts_code=df_input["index"].astype('category').cat.codes.values

#Split to train and test
df_train=df_input.iloc[:,1:134999].values
df_test=df_input.iloc[:,134999:].values

freq="15min"
start_train = pd.Timestamp("2011-01-01 00:15:00", freq=freq)
start_test = pd.Timestamp("2014-11-07 05:30:00", freq=freq)
prediction_lentgh=672
estimator = DeepAREstimator(freq=freq, 
                            context_length=672,
                            prediction_length=prediction_lentgh,
                            use_feat_static_cat=True,
                            cardinality=[1],
                            num_layers=2,
                            num_cells=32,
                            cell_type='lstm',
                            trainer=Trainer(epochs=5))
                            
train_ds = ListDataset([
    {
        FieldName.TARGET: target,
        FieldName.START: start_train,
        FieldName.FEAT_STATIC_CAT: fsc
    }
    for (target, fsc) in zip(df_train,
                             ts_code.reshape(-1,1))
], freq=freq)

test_ds = ListDataset([
    {
        FieldName.TARGET: target,
        FieldName.START: start_test,
        FieldName.FEAT_STATIC_CAT: fsc
    }
    for (target, fsc) in zip(df_test,
                            ts_code.reshape(-1,1))
], freq=freq)

predictor = estimator.train(training_data=train_ds)

1 ответ

Я не знаю о Рэе, но это видео дает некоторые подробности о том, как использовать GluonTs DeepAr в целом, это хорошее начало:https://www.youtube.com/watch?v=xcbj0RE3kfI&t=758s

Если вы не знаете, пожалуйста, отправьте это как комментарий.

Другие вопросы по тегам