/
main.py
73 lines (58 loc) · 2.53 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import numpy as np
import pandas as pd
import logging
from Model import WANNModel
from keras.datasets import boston_housing
from ModelGenerator import generate_wann_model
logging.basicConfig(filename="wann.log", level=logging.INFO)
if __name__ == "__main__":
# Cu - dataset
data = pd.read_excel('data.xlsx')
data = np.array(data)
input_data = data[:, :4]
in_scaled = (input_data - np.min(input_data)) / np.ptp(input_data)
output_data = data[:, 4:]
out_scaled = (output_data - np.min(output_data)) / np.ptp(output_data)
logging.info("Cu - generating model start")
logging.info("Cu - min connections optimization:")
result = generate_wann_model(in_scaled, out_scaled, tol=0.001, gen_num=40, niter=512,
sort_type="conn")
model = result
model.save('cu_model_conn')
logging.info("Cu - min nodes optimization:")
result = generate_wann_model(in_scaled, out_scaled, tol=0.001, gen_num=40, niter=512,
sort_type="nodes")
model = result
model.save('cu_model_nodes')
logging.info("Cu_vod - min connections and nodes optimization:")
result = generate_wann_model(in_scaled, out_scaled, tol=0.001, gen_num=40, niter=512,
sort_type="all")
model = result
model.save('cu_model_all')
# Boston dataset
(x_train, y_train), (x_test, y_test) = boston_housing.load_data()
x_scaled = (x_train - np.min(x_train)) / np.ptp(x_train)
y_scaled = (y_train - np.min(y_train)) / np.ptp(y_train)
y_temp = []
for i in y_scaled:
y_temp.append([i])
y_scaled = np.array(y_temp)
logging.info("Boston - generating model start")
logging.info("Boston - min connections optimization:")
result = generate_wann_model(x_scaled, y_scaled, tol=0.001, gen_num=40, niter=512,
sort_type="conn")
model = result
model.save('boston_model_conn')
logging.info("Boston - min nodes optimization:")
result = generate_wann_model(x_scaled, y_scaled, tol=0.001, gen_num=40, niter=512,
sort_type="nodes")
model = result
model.save('boston_model_nodes')
logging.info("Boston - min connections and nodes optimization:")
result = generate_wann_model(x_scaled, y_scaled, tol=0.001, gen_num=40, niter=512,
sort_type="all")
model = result
model.save('boston_model_all')
#
# model = WANNModel.load('cu_model_all.pkl')
# model.train_weight(input_data, output_data)