Skip to content

Commit c418129

Browse files
committed
Fix all other algorithm script files
1 parent 899f0fe commit c418129

File tree

10 files changed

+324
-385
lines changed

10 files changed

+324
-385
lines changed

abfols_elm_script.py

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,60 @@
1+
#!/usr/bin/env python
2+
# ------------------------------------------------------------------------------------------------------%
3+
# Created by "Thieu Nguyen" at 00:51, 29/03/2020 %
4+
# %
5+
# Email: nguyenthieu2102@gmail.com %
6+
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 %
7+
# Github: https://github.com/thieunguyen5991 %
8+
# -------------------------------------------------------------------------------------------------------%
9+
10+
from os.path import splitext, basename, realpath
111
from sklearn.model_selection import ParameterGrid
212
from model.main.hybrid_elm import ABfoLSElm
3-
from utils.IOUtil import read_dataset_file
413
from utils.SettingPaper import abfols_elm_paras_final as param_grid
5-
from utils.SettingPaper import traffic_eu, traffic_uk, worldcup
14+
from utils.SettingPaper import *
15+
from utils.IOUtil import load_dataset
616

7-
rv_data = [traffic_eu, traffic_uk, worldcup]
8-
data_file = ["it_eu_5m", "it_uk_5m", "worldcup98_5m"]
9-
test_type = "stability" ### normal: for normal test, stability: for n_times test
10-
run_times = None
17+
if SP_RUN_TIMES == 1:
18+
all_model_file_name = SP_LOG_FILENAME
19+
else: # If runs with more than 1, like stability test --> name of the models ==> such as: rnn1hl.csv
20+
all_model_file_name = str(splitext(basename(realpath(__file__)))[0])
1121

12-
if test_type == "normal": ### For normal test
13-
run_times = 1
14-
pathsave = "paper/results/final/"
15-
all_model_file_name = "elm_log_models"
16-
elif test_type == "stability": ### For stability test (n times run with the same parameters)
17-
run_times = 15
18-
pathsave = "paper/results/stability/"
19-
all_model_file_name = "stability_abfols_elm"
20-
else:
21-
pass
2222

2323
def train_model(item):
2424
root_base_paras = {
2525
"dataset": dataset,
2626
"feature_size": feature_size,
27-
"data_idx": (0.7, 0.15, 0.15),
27+
"data_idx": SP_DATA_SPLIT_INDEX_2,
2828
"sliding": item["sliding"],
29-
"multi_output": requirement_variables[2],
30-
"output_idx": requirement_variables[3],
31-
"method_statistic": 0, # 0: sliding window, 1: mean, 2: min-mean-max, 3: min-median-max
29+
"multi_output": multi_output,
30+
"output_idx": output_index,
31+
"method_statistic": SP_PREPROCESSING_METHOD,
3232
"log_filename": all_model_file_name,
33-
"path_save_result": pathsave + requirement_variables[4],
34-
"test_type": test_type,
35-
"draw": True,
36-
"print_train": 0 # 0: nothing, 1 : full detail, 2: short version
33+
"n_runs": SP_RUN_TIMES, # 1 or others
34+
"path_save_result": SP_PATH_SAVE_BASE + SP_DATA_FILENAME[loop] + "/",
35+
"draw": SP_DRAW,
36+
"print_train": SP_PRINT_TRAIN, # 0: nothing, 1 : full detail, 2: short version
3737
}
38+
paras_name = "hs_{}-ep_{}-act_{}-Ci_{}-Ped_{}-Ns_{}-N_minmax_{}".format(item["hidden_size"], item["epoch"], item["activation"],
39+
item["Ci"], item["Ped"], item["Ns"], item["N_minmax"])
3840
root_hybrid_paras = {
39-
"hidden_size": item["hidden_size"], "activation": item["activation"], "epoch": item["epoch"],
40-
"train_valid_rate": item["train_valid_rate"], "domain_range": item["domain_range"]
41+
"hidden_size": item["hidden_size"], "activation": item["activation"], "epoch": item["epoch"], "domain_range": item["domain_range"],
42+
"paras_name": paras_name
4143
}
4244
abfols_paras = {
43-
"epoch": item["epoch"], "pop_size": item["pop_size"], "Ci": item["Ci"], "Ped": item["Ped"], "Ns": item["Ns"],
44-
"N_minmax": item["N_minmax"]
45+
"epoch": item["epoch"], "pop_size": item["pop_size"], "Ci": item["Ci"], "Ped": item["Ped"], "Ns": item["Ns"], "N_minmax": item["N_minmax"]
4546
}
4647
md = ABfoLSElm(root_base_paras=root_base_paras, root_hybrid_paras=root_hybrid_paras, abfols_paras=abfols_paras)
4748
md._running__()
4849

49-
for _ in range(run_times):
50-
for loop in range(len(rv_data)):
51-
requirement_variables = rv_data[loop]
52-
filename = requirement_variables[0] + data_file[loop] + ".csv"
53-
dataset = read_dataset_file(filename, requirement_variables[1])
54-
feature_size = len(requirement_variables[1])
50+
51+
for _ in range(SP_RUN_TIMES):
52+
for loop in range(len(SP_DATA_FILENAME)):
53+
filename = SP_LOAD_DATA_FROM + SP_DATA_FILENAME[loop]
54+
dataset = load_dataset(filename, cols=SP_DATA_COLS[loop])
55+
feature_size = len(SP_DATA_COLS[loop])
56+
multi_output = SP_DATA_MULTI_OUTPUT[loop]
57+
output_index = SP_OUTPUT_INDEX[loop]
5558
# Create combination of params.
5659
for item in list(ParameterGrid(param_grid)):
5760
train_model(item)
58-
59-
60-
61-
62-
63-

de_elm_script.py

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,61 @@
1+
#!/usr/bin/env python
2+
# ------------------------------------------------------------------------------------------------------%
3+
# Created by "Thieu Nguyen" at 00:51, 29/03/2020 %
4+
# %
5+
# Email: nguyenthieu2102@gmail.com %
6+
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 %
7+
# Github: https://github.com/thieunguyen5991 %
8+
# -------------------------------------------------------------------------------------------------------%
9+
10+
from os.path import splitext, basename, realpath
111
from sklearn.model_selection import ParameterGrid
212
from model.main.hybrid_elm import DeElm
3-
from utils.IOUtil import read_dataset_file
413
from utils.SettingPaper import de_elm_paras_final as param_grid
5-
from utils.SettingPaper import traffic_eu, traffic_uk, worldcup
6-
7-
rv_data = [traffic_eu, traffic_uk, worldcup]
8-
data_file = ["it_eu_5m", "it_uk_5m", "worldcup98_5m"]
9-
test_type = "stability" ### normal: for normal test, stability: for n_times test
10-
run_times = None
14+
from utils.SettingPaper import *
15+
from utils.IOUtil import load_dataset
1116

12-
if test_type == "normal": ### For normal test
13-
run_times = 1
14-
pathsave = "paper/results/final/"
15-
all_model_file_name = "elm_log_models"
16-
elif test_type == "stability": ### For stability test (n times run with the same parameters)
17-
run_times = 15
18-
pathsave = "paper/results/stability/"
19-
all_model_file_name = "stability_de_elm"
20-
else:
21-
pass
17+
if SP_RUN_TIMES == 1:
18+
all_model_file_name = SP_LOG_FILENAME
19+
else: # If runs with more than 1, like stability test --> name of the models ==> such as: rnn1hl.csv
20+
all_model_file_name = str(splitext(basename(realpath(__file__)))[0])
2221

2322

2423
def train_model(item):
2524
root_base_paras = {
2625
"dataset": dataset,
2726
"feature_size": feature_size,
28-
"data_idx": (0.7, 0.15, 0.15),
27+
"data_idx": SP_DATA_SPLIT_INDEX_2,
2928
"sliding": item["sliding"],
30-
"multi_output": requirement_variables[2],
31-
"output_idx": requirement_variables[3],
32-
"method_statistic": 0, # 0: sliding window, 1: mean, 2: min-mean-max, 3: min-median-max
29+
"multi_output": multi_output,
30+
"output_idx": output_index,
31+
"method_statistic": SP_PREPROCESSING_METHOD,
3332
"log_filename": all_model_file_name,
34-
"path_save_result": pathsave + requirement_variables[4],
35-
"test_type": test_type,
36-
"draw": True,
37-
"print_train": 0 # 0: nothing, 1 : full detail, 2: short version
33+
"n_runs": SP_RUN_TIMES, # 1 or others
34+
"path_save_result": SP_PATH_SAVE_BASE + SP_DATA_FILENAME[loop] + "/",
35+
"draw": SP_DRAW,
36+
"print_train": SP_PRINT_TRAIN, # 0: nothing, 1 : full detail, 2: short version
3837
}
38+
paras_name = "hs_{}-ep_{}-act_{}-wf_{}-cr_{}".format(item["hidden_size"], item["epoch"], item["activation"], item["wf"], item["cr"])
3939
root_hybrid_paras = {
40-
"hidden_size": item["hidden_size"], "activation": item["activation"], "epoch": item["epoch"],
41-
"train_valid_rate": item["train_valid_rate"], "domain_range": item["domain_range"]
40+
"hidden_size": item["hidden_size"], "activation": item["activation"], "epoch": item["epoch"], "domain_range": item["domain_range"],
41+
"paras_name": paras_name
4242
}
4343
de_paras = {
44-
"epoch": item["epoch"], "pop_size": item["pop_size"], "Wf": item["Wf"], "Cr": item["Cr"]
44+
"epoch": item["epoch"], "pop_size": item["pop_size"], "wf": item["wf"], "cr": item["cr"]
4545
}
4646
md = DeElm(root_base_paras=root_base_paras, root_hybrid_paras=root_hybrid_paras, de_paras=de_paras)
4747
md._running__()
4848

4949

50-
for _ in range(run_times):
51-
for loop in range(len(rv_data)):
52-
requirement_variables = rv_data[loop]
53-
filename = requirement_variables[0] + data_file[loop] + ".csv"
54-
dataset = read_dataset_file(filename, requirement_variables[1])
55-
feature_size = len(requirement_variables[1])
50+
for _ in range(SP_RUN_TIMES):
51+
for loop in range(len(SP_DATA_FILENAME)):
52+
filename = SP_LOAD_DATA_FROM + SP_DATA_FILENAME[loop]
53+
dataset = load_dataset(filename, cols=SP_DATA_COLS[loop])
54+
feature_size = len(SP_DATA_COLS[loop])
55+
multi_output = SP_DATA_MULTI_OUTPUT[loop]
56+
output_index = SP_OUTPUT_INDEX[loop]
5657
# Create combination of params.
5758
for item in list(ParameterGrid(param_grid)):
5859
train_model(item)
60+
61+

elm_script.py

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,55 @@
1+
#!/usr/bin/env python
2+
# ------------------------------------------------------------------------------------------------------%
3+
# Created by "Thieu Nguyen" at 00:51, 29/03/2020 %
4+
# %
5+
# Email: nguyenthieu2102@gmail.com %
6+
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 %
7+
# Github: https://github.com/thieunguyen5991 %
8+
# -------------------------------------------------------------------------------------------------------%
9+
10+
from os.path import splitext, basename, realpath
111
from sklearn.model_selection import ParameterGrid
212
from model.main.traditional_elm import Elm
3-
from utils.IOUtil import read_dataset_file
13+
from utils.SettingPaper import *
14+
from utils.IOUtil import load_dataset
415
from utils.SettingPaper import elm_paras_final as param_grid
5-
from utils.SettingPaper import traffic_eu, traffic_uk, worldcup
6-
7-
rv_data = [traffic_eu, traffic_uk, worldcup]
8-
data_file = ["it_eu_5m", "it_uk_5m", "worldcup98_5m"]
9-
test_type = "stability" ### normal: for normal test, stability: for n_times test
10-
run_times = None
1116

12-
if test_type == "normal": ### For normal test
13-
run_times = 1
14-
pathsave = "paper/results/final/"
15-
all_model_file_name = "nn_log_models"
16-
elif test_type == "stability": ### For stability test (n times run with the same parameters)
17-
run_times = 15
18-
pathsave = "paper/results/stability/"
19-
all_model_file_name = "stability_elm"
20-
else:
21-
pass
17+
if SP_RUN_TIMES == 1:
18+
all_model_file_name = SP_LOG_FILENAME
19+
else: # If runs with more than 1, like stability test --> name of the models ==> such as: rnn1hl.csv
20+
all_model_file_name = str(splitext(basename(realpath(__file__)))[0])
2221

2322

2423
def train_model(item):
2524
root_base_paras = {
2625
"dataset": dataset,
2726
"feature_size": feature_size,
28-
"data_idx": (0.8, 0, 0.2),
27+
"data_idx": SP_DATA_SPLIT_INDEX,
2928
"sliding": item["sliding"],
30-
"multi_output": requirement_variables[2],
31-
"output_idx": requirement_variables[3],
32-
"method_statistic": 0, # 0: sliding window, 1: mean, 2: min-mean-max, 3: min-median-max
29+
"multi_output": multi_output,
30+
"output_idx": output_index,
31+
"method_statistic": SP_PREPROCESSING_METHOD,
3332
"log_filename": all_model_file_name,
34-
"path_save_result": pathsave + requirement_variables[4],
35-
"test_type": test_type,
36-
"draw": True,
37-
"print_train": 0 # 0: nothing, 1 : full detail, 2: short version
33+
"n_runs": SP_RUN_TIMES, # 1 or others
34+
"path_save_result": SP_PATH_SAVE_BASE + SP_DATA_FILENAME[loop] + "/",
35+
"draw": SP_DRAW,
36+
"print_train": SP_PRINT_TRAIN, # 0: nothing, 1 : full detail, 2: short version
3837
}
38+
paras_name = "hs_{}-act_{}".format(item["hidden_size"], item["activation"])
3939
root_elm_paras = {
40-
"hidden_size": item["hidden_size"], "activation": item["activation"]
40+
"hidden_size": item["hidden_size"], "activation": item["activation"], "paras_name": paras_name
4141
}
4242
md = Elm(root_base_paras=root_base_paras, root_elm_paras=root_elm_paras)
4343
md._running__()
4444

4545

46-
for _ in range(run_times):
47-
for loop in range(len(rv_data)):
48-
requirement_variables = rv_data[loop]
49-
filename = requirement_variables[0] + data_file[loop] + ".csv"
50-
dataset = read_dataset_file(filename, requirement_variables[1])
51-
feature_size = len(requirement_variables[1])
46+
for _ in range(SP_RUN_TIMES):
47+
for loop in range(len(SP_DATA_FILENAME)):
48+
filename = SP_LOAD_DATA_FROM + SP_DATA_FILENAME[loop]
49+
dataset = load_dataset(filename, cols=SP_DATA_COLS[loop])
50+
feature_size = len(SP_DATA_COLS[loop])
51+
multi_output = SP_DATA_MULTI_OUTPUT[loop]
52+
output_index = SP_OUTPUT_INDEX[loop]
5253
# Create combination of params.
5354
for item in list(ParameterGrid(param_grid)):
5455
train_model(item)

ga_elm_script.py

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,60 @@
1+
#!/usr/bin/env python
2+
# ------------------------------------------------------------------------------------------------------%
3+
# Created by "Thieu Nguyen" at 00:51, 29/03/2020 %
4+
# %
5+
# Email: nguyenthieu2102@gmail.com %
6+
# Homepage: https://www.researchgate.net/profile/Thieu_Nguyen6 %
7+
# Github: https://github.com/thieunguyen5991 %
8+
# -------------------------------------------------------------------------------------------------------%
9+
10+
from os.path import splitext, basename, realpath
111
from sklearn.model_selection import ParameterGrid
212
from model.main.hybrid_elm import GaElm
3-
from utils.IOUtil import read_dataset_file
13+
from utils.SettingPaper import *
14+
from utils.IOUtil import load_dataset
415
from utils.SettingPaper import ga_elm_paras_final as param_grid
5-
from utils.SettingPaper import traffic_eu, traffic_uk, worldcup
6-
7-
rv_data = [traffic_eu, traffic_uk, worldcup]
8-
data_file = ["it_eu_5m", "it_uk_5m", "worldcup98_5m"]
9-
test_type = "stability" ### normal: for normal test, stability: for n_times test
10-
run_times = None
1116

12-
if test_type == "normal": ### For normal test
13-
run_times = 1
14-
pathsave = "paper/results/final/"
15-
all_model_file_name = "elm_log_models"
16-
elif test_type == "stability": ### For stability test (n times run with the same parameters)
17-
run_times = 15
18-
pathsave = "paper/results/stability/"
19-
all_model_file_name = "stability_ga_elm"
20-
else:
21-
pass
17+
if SP_RUN_TIMES == 1:
18+
all_model_file_name = SP_LOG_FILENAME
19+
else: # If runs with more than 1, like stability test --> name of the models ==> such as: rnn1hl.csv
20+
all_model_file_name = str(splitext(basename(realpath(__file__)))[0])
2221

2322

2423
def train_model(item):
2524
root_base_paras = {
2625
"dataset": dataset,
2726
"feature_size": feature_size,
28-
"data_idx": (0.7, 0.15, 0.15),
27+
"data_idx": SP_DATA_SPLIT_INDEX_2,
2928
"sliding": item["sliding"],
30-
"multi_output": requirement_variables[2],
31-
"output_idx": requirement_variables[3],
32-
"method_statistic": 0, # 0: sliding window, 1: mean, 2: min-mean-max, 3: min-median-max
29+
"multi_output": multi_output,
30+
"output_idx": output_index,
31+
"method_statistic": SP_PREPROCESSING_METHOD,
3332
"log_filename": all_model_file_name,
34-
"path_save_result": pathsave + requirement_variables[4],
35-
"test_type": test_type,
36-
"draw": True,
37-
"print_train": 0 # 0: nothing, 1 : full detail, 2: short version
33+
"n_runs": SP_RUN_TIMES, # 1 or others
34+
"path_save_result": SP_PATH_SAVE_BASE + SP_DATA_FILENAME[loop] + "/",
35+
"draw": SP_DRAW,
36+
"print_train": SP_PRINT_TRAIN, # 0: nothing, 1 : full detail, 2: short version
3837
}
38+
paras_name = "hs_{}-ep_{}-act_{}-pc_{}-pm_{}".format(item["hidden_size"], item["epoch"], item["activation"], item["pc"], item["pm"])
3939
root_hybrid_paras = {
40-
"hidden_size": item["hidden_size"], "activation": item["activation"], "epoch": item["epoch"],
41-
"train_valid_rate": item["train_valid_rate"], "domain_range": item["domain_range"]
40+
"hidden_size": item["hidden_size"], "activation": item["activation"], "epoch": item["epoch"], "domain_range": item["domain_range"],
41+
"paras_name": paras_name
4242
}
4343
ga_paras = {
4444
"epoch": item["epoch"], "pop_size": item["pop_size"], "pc": item["pc"], "pm": item["pm"]
4545
}
46+
4647
md = GaElm(root_base_paras=root_base_paras, root_hybrid_paras=root_hybrid_paras, ga_paras=ga_paras)
4748
md._running__()
4849

4950

50-
for _ in range(run_times):
51-
for loop in range(len(rv_data)):
52-
requirement_variables = rv_data[loop]
53-
filename = requirement_variables[0] + data_file[loop] + ".csv"
54-
dataset = read_dataset_file(filename, requirement_variables[1])
55-
feature_size = len(requirement_variables[1])
51+
for _ in range(SP_RUN_TIMES):
52+
for loop in range(len(SP_DATA_FILENAME)):
53+
filename = SP_LOAD_DATA_FROM + SP_DATA_FILENAME[loop]
54+
dataset = load_dataset(filename, cols=SP_DATA_COLS[loop])
55+
feature_size = len(SP_DATA_COLS[loop])
56+
multi_output = SP_DATA_MULTI_OUTPUT[loop]
57+
output_index = SP_OUTPUT_INDEX[loop]
5658
# Create combination of params.
5759
for item in list(ParameterGrid(param_grid)):
5860
train_model(item)
59-

model/main/hybrid_elm.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ def __init__(self, root_base_paras=None, root_hybrid_paras=None, pso_paras=None)
4747
RootHybridElm.__init__(self, root_base_paras, root_hybrid_paras)
4848
self.epoch = pso_paras["epoch"]
4949
self.pop_size = pso_paras["pop_size"]
50-
self.c1 = pso_paras["c1"]
51-
self.c2 = pso_paras["c2"]
52-
self.w_min = pso_paras["w_min"]
53-
self.w_max = pso_paras["w_max"]
50+
self.c1 = pso_paras["c_minmax"][0]
51+
self.c2 = pso_paras["c_minmax"][1]
52+
self.w_min = pso_paras["w_minmax"][0]
53+
self.w_max = pso_paras["w_minmax"][1]
5454
self.filename = "PSO_ELM-sliding_{}-{}".format(root_base_paras["sliding"], root_hybrid_paras["paras_name"])
5555

5656
def _training__(self):

0 commit comments

Comments
 (0)