in code/train.py [0:0]
def train(bucket, seasonality_mode, algo, daily_seasonality, changepoint_prior_scale, revision_method):
print('**************** Training Script ***********************')
# create train dataset
df = pd.read_csv(filepath_or_buffer=os.environ['SM_CHANNEL_TRAIN'] + "/train.csv", header=0, index_col=0)
hierarchy, data, region_states = prepare_data(df)
regions = df["region"].unique().tolist()
# create test dataset
df_test = pd.read_csv(filepath_or_buffer=os.environ['SM_CHANNEL_TEST'] + "/test.csv", header=0, index_col=0)
test_hierarchy, test_df, region_states = prepare_data(df_test)
print("************** Create Root Edges *********************")
print(hierarchy)
print('*************** Data Type for Hierarchy *************', type(hierarchy))
# determine estimators##################################
if algo == "Prophet":
print('************** Started Training Prophet Model ****************')
estimator = HTSRegressor(model='prophet',
revision_method=revision_method,
n_jobs=4,
daily_seasonality=daily_seasonality,
changepoint_prior_scale = changepoint_prior_scale,
seasonality_mode=seasonality_mode,
)
# train the model
print("************** Calling fit method ************************")
model = estimator.fit(data, hierarchy)
print("Prophet training is complete SUCCESS")
# evaluate the model on test data
evaluate(model, test_df, regions, region_states)
###################################################
mainpref = "scikit-hts/models/"
prefix = mainpref + "/"
print('************************ Saving Model *************************')
joblib.dump(estimator, os.path.join(os.environ['SM_MODEL_DIR'], "model.joblib"))
print('************************ Model Saved Successfully *************************')
return model