Newer
Older
adaptive-nback / benchmarks / nb_gm_004_bm.py
Morteza Ansarinia on 28 Feb 2019 1015 bytes add benchmark code and results for nb_gm_004
import time
import numpy as np
import pandas as pd

import benchmarks.common as common
from generators.nb_gm_004 import SequenceGenerator

if __name__ == '__main__':

    res = []

    for s in range(common.sample_size):
        trials = np.random.randint(common.trials_range[0], common.trials_range[1])
        targets = int(trials / 3)
        lures = int(targets / 6)  # tl_ratio = 2.0
        n = np.random.randint(2, 8)
        gen = SequenceGenerator(common.choices, n)
        st = time.time()
        seq = gen.generate(trials, targets, lures)
        st = time.time() - st
        t, lu = common.count_targets_and_lures(seq, n)
        skewed = common.skewness(seq, common.choices)
        res.append(['nb_gm_004', n, trials, st, t, lu, skewed, ''.join(seq)])
        print(f"sequence #{s+1} generated")
    res_df = pd.DataFrame(res, columns=['alg', 'n', 'trials', 'time', 'targets', 'lures', 'skewed', 'sequence'])
    res_df.to_csv('benchmarks/results/nb_gm_004_profile.csv', sep=',', encoding='utf-8')