示例#1
0
def train_model(experiment_name, groups=1, time_window=pio.TimeWindow(-90, -30, 1, 15)):
    path = os.path.join(DATA_PATH, 'ts.csv')
    data, group_list = get_data(path, groups)
    fname = '{}_{}.csv'.format(experiment_name, '-'.join(group_list))
    data.to_csv(fname, index=False)
    project = pio.Project.from_id(PROJECT_ID)
    dataset = project.create_dataset(name=experiment_name,
                                     dataframe=data)

    experiment_version_config = pio.TrainingConfig(
        advanced_models=[pio.AdvancedModel.LinReg],
        normal_models=[pio.NormalModel.LinReg],
        features=[pio.Feature.Counts],
        profile=pio.Profile.Quick,
    )

    col_config = pio.ColumnConfig(target_column='target',
                                  time_column='time',
                                  # group_columns=group_list
                                  )

    experiment_version = project.fit_timeseries_regression(
        experiment_name,
        dataset,
        time_window=time_window,
        training_config=experiment_version_config,
        column_config=col_config,
    )
    return experiment_version
示例#2
0
def time_window_test(dws, dwe, fws, fwe):
    ts_label = '_'.join(str(s).replace('-', 'm') for s in (dws, dwe, fws, fwe))
    experiment_name_asked = 'ts_time{}_{}'.format(ts_label, TESTING_ID)
    experiment_version = train_model(experiment_name_asked,
                                     time_window=pio.TimeWindow(dws, dwe, fws, fwe))
    experiment_version.wait_until(lambda experimentv: len(experimentv.models) > 0)
    experiment_version.stop()
    return experiment_version
示例#3
0
def time_window_test(dws, dwe, fws, fwe):
    ts_label = '_'.join(str(s).replace('-', 'm') for s in (dws, dwe, fws, fwe))
    uc_name_asked = 'ts_time{}_{}'.format(ts_label, TESTING_ID)

    uc = train_model(uc_name_asked,
                     time_window=pio.TimeWindow(dws, dwe, fws, fwe))
    uc_name_returned = uc.name

    uc.wait_until(lambda usecase: len(usecase) > 0)
    uc.stop()
    return uc_name_returned
示例#4
0
def test_version():
    dws, dwe, fws, fwe = (-10, -5, 3, 4)
    ts_label = '_'.join(str(s).replace('-', 'm') for s in (dws, dwe, fws, fwe))
    experiment_name_asked = 'ts_time{}_{}'.format(ts_label, TESTING_ID)

    experiment_version = train_model(experiment_name_asked,
                                     time_window=pio.TimeWindow(dws, dwe, fws, fwe))

    experiment_version.wait_until(lambda experimentv: len(experimentv.models) > 0)
    experiment_version.stop()
    new_experiment_version = experiment_version.new_version()
    new_experiment_version.wait_until(lambda experimentv: len(experimentv.models) > 1)
    experiment_version.stop()
示例#5
0
def train_model(uc_name, groups=1, time_window=pio.TimeWindow(-90, -30, 1, 15)):
    path = os.path.join(DATA_PATH, 'ts.csv')
    data, group_list = get_data(path, groups)
    fname = '{}_{}.csv'.format(uc_name, '-'.join(group_list))
    data.to_csv(fname, index=False)
    dataset = pio.Dataset.new(name=uc_name,
                              dataframe=data)

    uc_config = pio.TrainingConfig(normal_models=[pio.Model.LinReg],
                                   lite_models=[pio.Model.LinReg],
                                   features=[pio.Feature.Counts],
                                   profile=pio.Profile.Quick)

    col_config = pio.ColumnConfig(target_column='target',
                                  time_column='time',
                                  # group_columns=group_list
                                  )

    uc = pio.TimeSeries.fit(uc_name,
                            dataset,
                            time_window=time_window,
                            training_config=uc_config,
                            column_config=col_config)
    return uc