From c64813781c1f764094248b70a9c0d9442a4bddcd Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Wed, 16 Feb 2022 20:41:56 -0500 Subject: [PATCH 01/13] Update to latest keras/tensorflow --- net/net.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/net.py b/net/net.py index e12033a..511285a 100644 --- a/net/net.py +++ b/net/net.py @@ -73,19 +73,19 @@ def __init__(self, X_train, y_train, n_hidden, n_epochs = 40, inputs = Input(shape=(X_train.shape[1],)) inter = Dropout(dropout)(inputs, training=True) - inter = Dense(n_hidden[0], activation='relu', W_regularizer=l2(reg))(inter) + inter = Dense(n_hidden[0], activation='relu', kernel_regularizer=l2(reg))(inter) for i in range(len(n_hidden) - 1): inter = Dropout(dropout)(inter, training=True) - inter = Dense(n_hidden[i+1], activation='relu', W_regularizer=l2(reg))(inter) + inter = Dense(n_hidden[i+1], activation='relu', kernel_regularizer=l2(reg))(inter) inter = Dropout(dropout)(inter, training=True) - outputs = Dense(y_train_normalized.shape[1], W_regularizer=l2(reg))(inter) + outputs = Dense(y_train_normalized.shape[1], kernel_regularizer=l2(reg))(inter) model = Model(inputs, outputs) model.compile(loss='mean_squared_error', optimizer='adam') # We iterate the learning process start_time = time.time() - model.fit(X_train, y_train_normalized, batch_size=batch_size, nb_epoch=n_epochs, verbose=0) + model.fit(X_train, y_train_normalized, batch_size=batch_size, epochs=n_epochs, verbose=0) self.model = model self.tau = tau self.running_time = time.time() - start_time From c7b8dee8732b07e8797b99bb8f3b437ab39cfcaa Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Wed, 16 Feb 2022 20:43:03 -0500 Subject: [PATCH 02/13] logsumexp import changed --- net/net.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/net.py b/net/net.py index 511285a..72a657b 100644 --- a/net/net.py +++ b/net/net.py @@ -6,7 +6,7 @@ warnings.filterwarnings("ignore") import math -from scipy.misc import logsumexp +from scipy.special import logsumexp import numpy as np from keras.regularizers import l2 From 9068767029cff4761a4fd266f3d0a542e82260a0 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Mon, 21 Feb 2022 10:11:26 -0500 Subject: [PATCH 03/13] Add half-moons --- UCI_Datasets/half_moons/data/data.txt | 100 ++++++++++++++++++ .../half_moons/data/dropout_rates.txt | 4 + .../half_moons/data/index_features.txt | 6 ++ UCI_Datasets/half_moons/data/index_target.txt | 1 + .../half_moons/data/split_data_train_test.py | 47 ++++++++ 5 files changed, 158 insertions(+) create mode 100644 UCI_Datasets/half_moons/data/data.txt create mode 100644 UCI_Datasets/half_moons/data/dropout_rates.txt create mode 100644 UCI_Datasets/half_moons/data/index_features.txt create mode 100644 UCI_Datasets/half_moons/data/index_target.txt create mode 100644 UCI_Datasets/half_moons/data/split_data_train_test.py diff --git a/UCI_Datasets/half_moons/data/data.txt b/UCI_Datasets/half_moons/data/data.txt new file mode 100644 index 0000000..410ae34 --- /dev/null +++ b/UCI_Datasets/half_moons/data/data.txt @@ -0,0 +1,100 @@ +-0.415207563317 1.03573465636 +0.0587809844215 0.304334313802 +1.10937860273 -0.509737826298 +1.54094828019 -0.42754961672 +0.929094975859 -0.532387788835 +-0.869324702793 0.547154818195 +1.39839427109 -0.509581914063 +-0.931784582 0.27211201662 +0.249302324829 0.930652984113 +0.473248234549 -0.344949306521 +-1.00225614772 0.499659112348 +1.94934307911 0.531400658824 +0.346957593786 0.914807488995 +0.571244447282 0.94476793805 +1.21082122748 -0.428288511794 +0.0866636917741 0.144226359787 +1.76772157216 -0.22036763199 +0.14091582702 -0.106748139004 +1.89963117159 0.0353968421144 +2.01487433843 0.298095733722 +2.03705130164 0.211455041105 +-0.118942867795 0.936380947854 +0.614301961501 -0.407707716445 +-0.660169590758 0.876831803059 +0.11578871616 0.217791597448 +1.68597998203 -0.0784243529809 +0.882238877864 0.484869918556 +-0.266501125357 0.933114218466 +-0.710406685562 0.654472620162 +0.32014844401 -0.390383385393 +-0.739363937177 0.703330933403 +-1.02487376048 0.0159318128719 +1.54243067361 -0.261706027103 +-0.0819445577251 0.982641753832 +-0.588717118216 0.858176796636 +0.632012468207 0.807521184922 +1.95221157458 0.043038503641 +0.210255923724 -0.0587090269182 +-0.98565477406 0.131424888954 +0.122191216338 1.05328598315 +0.934968795703 0.178334949215 +0.715978909529 0.618013164246 +1.11569244027 -0.460013313275 +0.835940691218 0.370844675185 +0.286246615735 -0.169043464703 +0.839055714487 0.650499141063 +1.00724594132 -0.0710843949073 +1.03335758509 0.154852085369 +0.0880699111598 0.546292572123 +0.762111887648 -0.41060793591 +0.783292630704 1.58729221766 +1.13241239795 2.22306046554 +-0.865323945348 1.79541475955 +-0.770610016691 1.91092867393 +-0.468358224517 2.41144355219 +-0.799736446132 2.18041037611 +-0.885874085236 2.12347229548 +0.932804429207 2.04639149946 +1.01734036002 2.45018376624 +-0.652718203952 2.67420550498 +0.918377500197 2.38535507761 +0.834841228855 1.85527564303 +1.08766439546 2.18730611069 +-0.652689690549 2.10324613686 +-0.633832432307 1.97212969803 +1.40429572987 2.18109482534 +-0.859128596935 2.5222854468 +-0.768429190678 2.61588414023 +-0.795601086328 2.3780670931 +0.747695539597 2.00140713452 +-0.999697565196 2.38651388149 +-0.605010417763 2.04803235884 +0.936114227431 2.04986308149 +1.27216984046 1.73402175763 +0.550016035256 1.61302164941 +-0.692863282087 2.08834890196 +0.954016348429 1.79809322552 +-0.890822563136 2.38804557963 +0.420008528173 2.07755858451 +1.40633702693 2.20725425975 +-0.832941677801 2.56633127642 +1.01238558503 2.01064777745 +1.56046839335 2.09598432117 +-0.805584701543 1.74576560816 +-0.691119747117 2.40385895514 +1.06060102447 2.02811641201 +0.777598963386 2.40436997653 +-0.722645563475 2.16141195065 +1.25016292468 1.59275815592 +0.992845747005 2.0786425156 +-0.591360414446 2.1420613661 +1.02836314213 1.97381878663 +1.00334825235 2.26000591302 +1.50911073403 2.03966765019 +-0.563078055751 2.00589712714 +-0.986469388502 2.75063979845 +-0.557481990805 2.3746392187 +1.16113172167 2.03500885361 +-0.824934801821 2.18744375238 +-1.22848026417 2.2659643002 \ No newline at end of file diff --git a/UCI_Datasets/half_moons/data/dropout_rates.txt b/UCI_Datasets/half_moons/data/dropout_rates.txt new file mode 100644 index 0000000..fcac110 --- /dev/null +++ b/UCI_Datasets/half_moons/data/dropout_rates.txt @@ -0,0 +1,4 @@ +0.005 +0.01 +0.05 +0.1 \ No newline at end of file diff --git a/UCI_Datasets/half_moons/data/index_features.txt b/UCI_Datasets/half_moons/data/index_features.txt new file mode 100644 index 0000000..e8371f0 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_features.txt @@ -0,0 +1,6 @@ +0 +1 +2 +3 +4 +5 diff --git a/UCI_Datasets/half_moons/data/index_target.txt b/UCI_Datasets/half_moons/data/index_target.txt new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_target.txt @@ -0,0 +1 @@ +6 diff --git a/UCI_Datasets/half_moons/data/split_data_train_test.py b/UCI_Datasets/half_moons/data/split_data_train_test.py new file mode 100644 index 0000000..5b52aab --- /dev/null +++ b/UCI_Datasets/half_moons/data/split_data_train_test.py @@ -0,0 +1,47 @@ + +import numpy as np + +# We set the random seed + +np.random.seed(1) + +# We load the data + +data = np.loadtxt('data.txt') +n = data.shape[ 0 ] + +# We generate the training test splits + +n_splits = 20 +for i in range(n_splits): + + permutation = np.random.choice(range(n), n, replace = False) + + end_train = round(n * 9.0 / 10) + end_test = n + + index_train = permutation[ 0 : end_train ] + index_test = permutation[ end_train : n ] + + np.savetxt("index_train_{}.txt".format(i), index_train, fmt = '%d') + np.savetxt("index_test_{}.txt".format(i), index_test, fmt = '%d') + + print i + +np.savetxt("n_splits.txt", np.array([ n_splits ]), fmt = '%d') + +# We store the index to the features and to the target + +index_features = np.array(range(data.shape[ 1 ] - 1), dtype = int) +index_target = np.array([ data.shape[ 1 ] - 1 ]) + +np.savetxt("index_features.txt", index_features, fmt = '%d') +np.savetxt("index_target.txt", index_target, fmt = '%d') + +# We store the number of hidden neurons to use + +np.savetxt("n_hidden.txt", np.array([ 50 ]), fmt = '%d') + +# We store the number of epochs to use + +np.savetxt("n_epochs.txt", np.array([ 40 ]), fmt = '%d') From 7665e3feaa2cbec760a883caa9b70371cc8f0429 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Mon, 21 Feb 2022 10:12:43 -0500 Subject: [PATCH 04/13] Add hyperparam txt files --- UCI_Datasets/half_moons/data/n_epochs.txt | 1 + UCI_Datasets/half_moons/data/n_hidden.txt | 1 + UCI_Datasets/half_moons/data/n_splits.txt | 1 + UCI_Datasets/half_moons/data/tau_values.txt | 3 +++ 4 files changed, 6 insertions(+) create mode 100644 UCI_Datasets/half_moons/data/n_epochs.txt create mode 100644 UCI_Datasets/half_moons/data/n_hidden.txt create mode 100644 UCI_Datasets/half_moons/data/n_splits.txt create mode 100644 UCI_Datasets/half_moons/data/tau_values.txt diff --git a/UCI_Datasets/half_moons/data/n_epochs.txt b/UCI_Datasets/half_moons/data/n_epochs.txt new file mode 100644 index 0000000..425151f --- /dev/null +++ b/UCI_Datasets/half_moons/data/n_epochs.txt @@ -0,0 +1 @@ +40 diff --git a/UCI_Datasets/half_moons/data/n_hidden.txt b/UCI_Datasets/half_moons/data/n_hidden.txt new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/UCI_Datasets/half_moons/data/n_hidden.txt @@ -0,0 +1 @@ +50 diff --git a/UCI_Datasets/half_moons/data/n_splits.txt b/UCI_Datasets/half_moons/data/n_splits.txt new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/UCI_Datasets/half_moons/data/n_splits.txt @@ -0,0 +1 @@ +20 diff --git a/UCI_Datasets/half_moons/data/tau_values.txt b/UCI_Datasets/half_moons/data/tau_values.txt new file mode 100644 index 0000000..9eb18e1 --- /dev/null +++ b/UCI_Datasets/half_moons/data/tau_values.txt @@ -0,0 +1,3 @@ +150 +200 +250 From 126db9b6ec3cfa88cd8152e309c1e726cc3044d9 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Mon, 21 Feb 2022 10:13:51 -0500 Subject: [PATCH 05/13] Half moons only has 1 feature --- UCI_Datasets/half_moons/data/index_features.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/UCI_Datasets/half_moons/data/index_features.txt b/UCI_Datasets/half_moons/data/index_features.txt index e8371f0..0d66ea1 100644 --- a/UCI_Datasets/half_moons/data/index_features.txt +++ b/UCI_Datasets/half_moons/data/index_features.txt @@ -1,6 +1,2 @@ 0 1 -2 -3 -4 -5 From a0d415b38fa1fc3ce7dc0904aaee996b7b2c8344 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Mon, 21 Feb 2022 10:14:37 -0500 Subject: [PATCH 06/13] Target is 1st index --- UCI_Datasets/half_moons/data/index_features.txt | 1 - UCI_Datasets/half_moons/data/index_target.txt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/UCI_Datasets/half_moons/data/index_features.txt b/UCI_Datasets/half_moons/data/index_features.txt index 0d66ea1..573541a 100644 --- a/UCI_Datasets/half_moons/data/index_features.txt +++ b/UCI_Datasets/half_moons/data/index_features.txt @@ -1,2 +1 @@ 0 -1 diff --git a/UCI_Datasets/half_moons/data/index_target.txt b/UCI_Datasets/half_moons/data/index_target.txt index 1e8b314..d00491f 100644 --- a/UCI_Datasets/half_moons/data/index_target.txt +++ b/UCI_Datasets/half_moons/data/index_target.txt @@ -1 +1 @@ -6 +1 From bd1089be2ab08ef98b837451346dd1ca9f2b30f2 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Mon, 21 Feb 2022 11:20:07 -0500 Subject: [PATCH 07/13] train test splits for half_moons --- UCI_Datasets/half_moons/data/index_test_0.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_1.txt | 10 +++ .../half_moons/data/index_test_10.txt | 10 +++ .../half_moons/data/index_test_11.txt | 10 +++ .../half_moons/data/index_test_12.txt | 10 +++ .../half_moons/data/index_test_13.txt | 10 +++ .../half_moons/data/index_test_14.txt | 10 +++ .../half_moons/data/index_test_15.txt | 10 +++ .../half_moons/data/index_test_16.txt | 10 +++ .../half_moons/data/index_test_17.txt | 10 +++ .../half_moons/data/index_test_18.txt | 10 +++ .../half_moons/data/index_test_19.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_2.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_3.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_4.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_5.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_6.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_7.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_8.txt | 10 +++ UCI_Datasets/half_moons/data/index_test_9.txt | 10 +++ .../half_moons/data/index_train_0.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_1.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_10.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_11.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_12.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_13.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_14.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_15.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_16.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_17.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_18.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_19.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_2.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_3.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_4.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_5.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_6.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_7.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_8.txt | 90 +++++++++++++++++++ .../half_moons/data/index_train_9.txt | 90 +++++++++++++++++++ .../half_moons/data/split_data_train_test.py | 2 +- 41 files changed, 2001 insertions(+), 1 deletion(-) create mode 100644 UCI_Datasets/half_moons/data/index_test_0.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_1.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_10.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_11.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_12.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_13.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_14.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_15.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_16.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_17.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_18.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_19.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_2.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_3.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_4.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_5.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_6.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_7.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_8.txt create mode 100644 UCI_Datasets/half_moons/data/index_test_9.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_0.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_1.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_10.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_11.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_12.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_13.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_14.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_15.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_16.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_17.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_18.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_19.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_2.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_3.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_4.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_5.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_6.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_7.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_8.txt create mode 100644 UCI_Datasets/half_moons/data/index_train_9.txt diff --git a/UCI_Datasets/half_moons/data/index_test_0.txt b/UCI_Datasets/half_moons/data/index_test_0.txt new file mode 100644 index 0000000..947a992 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_0.txt @@ -0,0 +1,10 @@ +1 +16 +64 +79 +5 +75 +9 +72 +12 +37 diff --git a/UCI_Datasets/half_moons/data/index_test_1.txt b/UCI_Datasets/half_moons/data/index_test_1.txt new file mode 100644 index 0000000..f733e26 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_1.txt @@ -0,0 +1,10 @@ +7 +75 +21 +91 +76 +2 +70 +85 +52 +6 diff --git a/UCI_Datasets/half_moons/data/index_test_10.txt b/UCI_Datasets/half_moons/data/index_test_10.txt new file mode 100644 index 0000000..84066ae --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_10.txt @@ -0,0 +1,10 @@ +10 +22 +51 +99 +58 +86 +64 +28 +95 +88 diff --git a/UCI_Datasets/half_moons/data/index_test_11.txt b/UCI_Datasets/half_moons/data/index_test_11.txt new file mode 100644 index 0000000..5e7711f --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_11.txt @@ -0,0 +1,10 @@ +52 +42 +48 +57 +41 +95 +18 +38 +64 +99 diff --git a/UCI_Datasets/half_moons/data/index_test_12.txt b/UCI_Datasets/half_moons/data/index_test_12.txt new file mode 100644 index 0000000..053dc2d --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_12.txt @@ -0,0 +1,10 @@ +45 +71 +40 +51 +27 +41 +59 +7 +61 +99 diff --git a/UCI_Datasets/half_moons/data/index_test_13.txt b/UCI_Datasets/half_moons/data/index_test_13.txt new file mode 100644 index 0000000..0a86987 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_13.txt @@ -0,0 +1,10 @@ +79 +58 +24 +77 +54 +59 +57 +20 +5 +42 diff --git a/UCI_Datasets/half_moons/data/index_test_14.txt b/UCI_Datasets/half_moons/data/index_test_14.txt new file mode 100644 index 0000000..e1666ef --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_14.txt @@ -0,0 +1,10 @@ +83 +49 +18 +68 +88 +20 +42 +55 +76 +90 diff --git a/UCI_Datasets/half_moons/data/index_test_15.txt b/UCI_Datasets/half_moons/data/index_test_15.txt new file mode 100644 index 0000000..5f4301d --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_15.txt @@ -0,0 +1,10 @@ +61 +33 +22 +34 +51 +25 +35 +41 +97 +15 diff --git a/UCI_Datasets/half_moons/data/index_test_16.txt b/UCI_Datasets/half_moons/data/index_test_16.txt new file mode 100644 index 0000000..6b5c805 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_16.txt @@ -0,0 +1,10 @@ +76 +99 +21 +73 +1 +88 +28 +80 +48 +0 diff --git a/UCI_Datasets/half_moons/data/index_test_17.txt b/UCI_Datasets/half_moons/data/index_test_17.txt new file mode 100644 index 0000000..e7c0e04 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_17.txt @@ -0,0 +1,10 @@ +63 +42 +38 +32 +93 +74 +46 +9 +69 +11 diff --git a/UCI_Datasets/half_moons/data/index_test_18.txt b/UCI_Datasets/half_moons/data/index_test_18.txt new file mode 100644 index 0000000..3bea00c --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_18.txt @@ -0,0 +1,10 @@ +35 +44 +56 +59 +78 +16 +99 +18 +92 +68 diff --git a/UCI_Datasets/half_moons/data/index_test_19.txt b/UCI_Datasets/half_moons/data/index_test_19.txt new file mode 100644 index 0000000..69a88b9 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_19.txt @@ -0,0 +1,10 @@ +36 +45 +87 +76 +73 +88 +47 +97 +84 +86 diff --git a/UCI_Datasets/half_moons/data/index_test_2.txt b/UCI_Datasets/half_moons/data/index_test_2.txt new file mode 100644 index 0000000..2a71547 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_2.txt @@ -0,0 +1,10 @@ +82 +55 +28 +32 +54 +48 +83 +84 +2 +33 diff --git a/UCI_Datasets/half_moons/data/index_test_3.txt b/UCI_Datasets/half_moons/data/index_test_3.txt new file mode 100644 index 0000000..fb25d8a --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_3.txt @@ -0,0 +1,10 @@ +12 +76 +54 +91 +22 +37 +44 +29 +85 +58 diff --git a/UCI_Datasets/half_moons/data/index_test_4.txt b/UCI_Datasets/half_moons/data/index_test_4.txt new file mode 100644 index 0000000..294fa1e --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_4.txt @@ -0,0 +1,10 @@ +87 +14 +6 +22 +11 +37 +92 +16 +58 +21 diff --git a/UCI_Datasets/half_moons/data/index_test_5.txt b/UCI_Datasets/half_moons/data/index_test_5.txt new file mode 100644 index 0000000..a414314 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_5.txt @@ -0,0 +1,10 @@ +95 +69 +40 +8 +91 +5 +81 +48 +38 +82 diff --git a/UCI_Datasets/half_moons/data/index_test_6.txt b/UCI_Datasets/half_moons/data/index_test_6.txt new file mode 100644 index 0000000..09de0c9 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_6.txt @@ -0,0 +1,10 @@ +0 +88 +17 +16 +44 +40 +82 +22 +42 +63 diff --git a/UCI_Datasets/half_moons/data/index_test_7.txt b/UCI_Datasets/half_moons/data/index_test_7.txt new file mode 100644 index 0000000..01a96d5 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_7.txt @@ -0,0 +1,10 @@ +28 +3 +13 +7 +31 +51 +65 +6 +33 +32 diff --git a/UCI_Datasets/half_moons/data/index_test_8.txt b/UCI_Datasets/half_moons/data/index_test_8.txt new file mode 100644 index 0000000..20c3dda --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_8.txt @@ -0,0 +1,10 @@ +89 +96 +57 +80 +65 +38 +52 +20 +90 +32 diff --git a/UCI_Datasets/half_moons/data/index_test_9.txt b/UCI_Datasets/half_moons/data/index_test_9.txt new file mode 100644 index 0000000..2397fe0 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_test_9.txt @@ -0,0 +1,10 @@ +3 +39 +42 +0 +48 +62 +77 +87 +71 +51 diff --git a/UCI_Datasets/half_moons/data/index_train_0.txt b/UCI_Datasets/half_moons/data/index_train_0.txt new file mode 100644 index 0000000..a1eed93 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_0.txt @@ -0,0 +1,90 @@ +80 +84 +33 +81 +93 +17 +36 +82 +69 +65 +92 +39 +56 +52 +51 +32 +31 +44 +78 +10 +2 +73 +97 +62 +19 +35 +94 +27 +46 +38 +67 +99 +54 +95 +88 +40 +48 +59 +23 +34 +86 +53 +77 +15 +83 +41 +45 +91 +26 +98 +43 +55 +24 +4 +58 +49 +21 +87 +3 +74 +30 +66 +70 +42 +47 +89 +8 +60 +0 +90 +57 +22 +61 +63 +7 +96 +13 +68 +85 +14 +29 +28 +11 +18 +20 +50 +25 +6 +71 +76 diff --git a/UCI_Datasets/half_moons/data/index_train_1.txt b/UCI_Datasets/half_moons/data/index_train_1.txt new file mode 100644 index 0000000..df25f71 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_1.txt @@ -0,0 +1,90 @@ +44 +96 +1 +35 +26 +11 +38 +82 +87 +3 +50 +0 +29 +16 +46 +61 +28 +51 +31 +8 +47 +4 +98 +56 +78 +58 +9 +83 +53 +27 +67 +34 +59 +97 +80 +14 +40 +19 +62 +92 +25 +63 +69 +49 +33 +89 +37 +79 +55 +88 +42 +17 +5 +15 +64 +48 +39 +74 +66 +99 +22 +18 +41 +71 +54 +86 +95 +73 +60 +65 +12 +32 +84 +24 +81 +23 +10 +13 +57 +68 +45 +90 +36 +30 +20 +43 +94 +93 +72 +77 diff --git a/UCI_Datasets/half_moons/data/index_train_10.txt b/UCI_Datasets/half_moons/data/index_train_10.txt new file mode 100644 index 0000000..42ba1a9 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_10.txt @@ -0,0 +1,90 @@ +54 +27 +23 +37 +75 +33 +41 +46 +52 +24 +90 +17 +40 +62 +92 +15 +47 +45 +96 +68 +3 +66 +91 +26 +77 +39 +1 +48 +72 +50 +63 +7 +32 +2 +29 +89 +5 +61 +25 +4 +83 +19 +57 +38 +49 +60 +0 +98 +82 +71 +56 +55 +44 +34 +70 +81 +97 +11 +35 +80 +13 +94 +16 +43 +69 +78 +76 +20 +14 +85 +21 +84 +79 +8 +59 +36 +93 +87 +42 +53 +65 +74 +73 +12 +18 +67 +30 +6 +9 +31 diff --git a/UCI_Datasets/half_moons/data/index_train_11.txt b/UCI_Datasets/half_moons/data/index_train_11.txt new file mode 100644 index 0000000..1dee7de --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_11.txt @@ -0,0 +1,90 @@ +54 +45 +28 +44 +15 +1 +93 +12 +88 +40 +53 +43 +75 +83 +87 +67 +7 +35 +16 +37 +9 +89 +14 +34 +33 +81 +5 +31 +78 +92 +47 +3 +2 +6 +94 +84 +74 +72 +24 +90 +11 +73 +58 +30 +71 +25 +10 +29 +39 +63 +76 +4 +46 +80 +55 +8 +32 +49 +79 +51 +56 +91 +13 +21 +17 +36 +19 +66 +86 +69 +68 +23 +97 +62 +59 +85 +96 +77 +65 +82 +20 +50 +26 +0 +27 +60 +61 +70 +98 +22 diff --git a/UCI_Datasets/half_moons/data/index_train_12.txt b/UCI_Datasets/half_moons/data/index_train_12.txt new file mode 100644 index 0000000..38c3a34 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_12.txt @@ -0,0 +1,90 @@ +70 +75 +5 +68 +36 +79 +72 +78 +57 +44 +28 +80 +17 +95 +87 +50 +6 +77 +52 +37 +49 +32 +74 +81 +38 +11 +13 +33 +1 +83 +25 +69 +53 +2 +20 +89 +66 +60 +39 +84 +43 +14 +93 +73 +16 +76 +92 +65 +47 +90 +64 +26 +86 +63 +24 +15 +62 +4 +91 +48 +55 +3 +96 +30 +34 +23 +98 +8 +97 +12 +31 +42 +10 +56 +22 +29 +35 +67 +18 +85 +94 +82 +19 +0 +54 +21 +58 +46 +88 +9 diff --git a/UCI_Datasets/half_moons/data/index_train_13.txt b/UCI_Datasets/half_moons/data/index_train_13.txt new file mode 100644 index 0000000..6f82fcd --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_13.txt @@ -0,0 +1,90 @@ +41 +9 +30 +89 +40 +49 +3 +22 +8 +16 +81 +25 +61 +29 +4 +37 +88 +0 +71 +52 +74 +95 +99 +62 +94 +13 +18 +50 +48 +44 +96 +97 +90 +38 +14 +72 +10 +85 +64 +60 +65 +98 +6 +84 +12 +28 +15 +31 +35 +7 +86 +76 +19 +75 +32 +2 +34 +11 +43 +33 +56 +67 +47 +21 +87 +45 +1 +17 +92 +26 +66 +39 +46 +93 +68 +69 +53 +23 +27 +70 +78 +55 +82 +83 +73 +63 +51 +91 +80 +36 diff --git a/UCI_Datasets/half_moons/data/index_train_14.txt b/UCI_Datasets/half_moons/data/index_train_14.txt new file mode 100644 index 0000000..09936f8 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_14.txt @@ -0,0 +1,90 @@ +82 +28 +69 +81 +56 +71 +85 +27 +37 +66 +34 +98 +75 +47 +26 +8 +62 +22 +84 +14 +65 +46 +25 +13 +1 +95 +79 +70 +21 +54 +23 +41 +19 +53 +87 +99 +94 +45 +96 +3 +67 +12 +89 +57 +6 +39 +91 +92 +78 +10 +58 +63 +40 +80 +29 +72 +48 +86 +43 +44 +11 +38 +60 +24 +73 +74 +9 +0 +33 +5 +51 +50 +32 +35 +31 +59 +36 +52 +30 +93 +77 +16 +4 +2 +97 +64 +7 +61 +17 +15 diff --git a/UCI_Datasets/half_moons/data/index_train_15.txt b/UCI_Datasets/half_moons/data/index_train_15.txt new file mode 100644 index 0000000..97d0f3d --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_15.txt @@ -0,0 +1,90 @@ +60 +13 +26 +12 +1 +28 +88 +86 +11 +43 +48 +75 +87 +55 +24 +82 +66 +50 +52 +90 +45 +80 +23 +17 +74 +68 +6 +69 +95 +19 +31 +63 +30 +93 +83 +39 +91 +70 +2 +99 +56 +81 +85 +84 +9 +20 +37 +44 +65 +0 +76 +72 +73 +54 +38 +59 +8 +16 +53 +29 +92 +79 +36 +98 +5 +4 +49 +96 +10 +18 +94 +14 +42 +71 +27 +47 +77 +62 +89 +40 +64 +58 +21 +46 +57 +67 +3 +32 +7 +78 diff --git a/UCI_Datasets/half_moons/data/index_train_16.txt b/UCI_Datasets/half_moons/data/index_train_16.txt new file mode 100644 index 0000000..c05d4be --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_16.txt @@ -0,0 +1,90 @@ +93 +16 +72 +75 +10 +4 +38 +71 +42 +62 +55 +5 +91 +14 +15 +60 +19 +39 +27 +79 +84 +2 +64 +51 +47 +18 +95 +11 +35 +68 +24 +94 +56 +9 +54 +59 +69 +8 +26 +78 +45 +50 +74 +98 +77 +7 +92 +36 +23 +61 +13 +87 +17 +66 +58 +41 +25 +31 +52 +63 +67 +85 +43 +20 +57 +96 +46 +29 +44 +89 +97 +6 +65 +90 +12 +86 +37 +70 +49 +34 +3 +22 +82 +33 +53 +30 +83 +81 +40 +32 diff --git a/UCI_Datasets/half_moons/data/index_train_17.txt b/UCI_Datasets/half_moons/data/index_train_17.txt new file mode 100644 index 0000000..43b0dad --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_17.txt @@ -0,0 +1,90 @@ +36 +47 +1 +64 +57 +97 +29 +6 +67 +92 +12 +66 +33 +82 +26 +15 +24 +91 +16 +84 +37 +53 +0 +94 +75 +19 +39 +89 +85 +44 +81 +61 +86 +65 +3 +70 +22 +78 +43 +71 +58 +8 +77 +48 +72 +28 +60 +55 +27 +62 +98 +17 +73 +2 +45 +52 +99 +80 +56 +50 +35 +41 +34 +20 +59 +54 +7 +4 +10 +30 +14 +51 +76 +21 +13 +96 +49 +68 +25 +83 +95 +79 +5 +88 +18 +31 +87 +90 +40 +23 diff --git a/UCI_Datasets/half_moons/data/index_train_18.txt b/UCI_Datasets/half_moons/data/index_train_18.txt new file mode 100644 index 0000000..dd56240 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_18.txt @@ -0,0 +1,90 @@ +48 +87 +17 +57 +22 +81 +4 +51 +94 +63 +20 +98 +49 +83 +65 +77 +23 +24 +11 +28 +12 +55 +76 +58 +15 +19 +97 +6 +50 +74 +90 +91 +66 +42 +84 +2 +47 +41 +93 +40 +14 +54 +7 +79 +71 +37 +13 +85 +96 +72 +60 +45 +43 +89 +70 +46 +52 +9 +36 +80 +5 +73 +31 +26 +21 +69 +38 +64 +3 +30 +0 +95 +88 +10 +29 +27 +82 +1 +86 +25 +33 +34 +8 +75 +62 +53 +67 +32 +61 +39 diff --git a/UCI_Datasets/half_moons/data/index_train_19.txt b/UCI_Datasets/half_moons/data/index_train_19.txt new file mode 100644 index 0000000..cfd9fe4 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_19.txt @@ -0,0 +1,90 @@ +9 +17 +59 +11 +2 +95 +68 +28 +60 +14 +21 +66 +61 +74 +18 +56 +80 +12 +23 +72 +96 +15 +35 +64 +69 +62 +79 +54 +13 +90 +94 +57 +81 +98 +41 +52 +75 +22 +20 +24 +30 +89 +5 +51 +44 +67 +33 +77 +25 +31 +70 +99 +42 +46 +85 +49 +53 +16 +27 +63 +10 +3 +65 +50 +93 +38 +7 +32 +40 +26 +78 +83 +71 +4 +19 +0 +82 +34 +8 +91 +55 +48 +29 +1 +58 +43 +6 +37 +39 +92 diff --git a/UCI_Datasets/half_moons/data/index_train_2.txt b/UCI_Datasets/half_moons/data/index_train_2.txt new file mode 100644 index 0000000..307738c --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_2.txt @@ -0,0 +1,90 @@ +95 +67 +96 +71 +1 +80 +99 +45 +52 +27 +97 +63 +91 +70 +43 +11 +46 +94 +21 +89 +61 +36 +57 +90 +58 +9 +12 +18 +29 +16 +51 +25 +6 +13 +69 +22 +88 +40 +35 +56 +76 +73 +0 +4 +17 +59 +66 +62 +98 +10 +42 +65 +23 +49 +75 +5 +39 +68 +38 +87 +37 +81 +78 +3 +72 +85 +34 +60 +47 +53 +7 +26 +19 +14 +30 +15 +44 +20 +24 +64 +41 +79 +50 +77 +86 +93 +8 +74 +92 +31 diff --git a/UCI_Datasets/half_moons/data/index_train_3.txt b/UCI_Datasets/half_moons/data/index_train_3.txt new file mode 100644 index 0000000..9477579 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_3.txt @@ -0,0 +1,90 @@ +40 +10 +96 +66 +89 +32 +95 +55 +25 +5 +0 +7 +92 +61 +60 +15 +99 +86 +72 +70 +80 +50 +49 +62 +65 +34 +8 +75 +63 +14 +57 +4 +46 +21 +53 +17 +35 +20 +83 +16 +77 +11 +51 +18 +68 +97 +45 +24 +41 +9 +31 +42 +28 +2 +67 +23 +36 +13 +6 +48 +47 +19 +82 +98 +90 +3 +74 +94 +64 +30 +78 +1 +79 +27 +52 +73 +81 +56 +88 +84 +33 +69 +38 +87 +43 +39 +71 +93 +26 +59 diff --git a/UCI_Datasets/half_moons/data/index_train_4.txt b/UCI_Datasets/half_moons/data/index_train_4.txt new file mode 100644 index 0000000..326710b --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_4.txt @@ -0,0 +1,90 @@ +89 +99 +45 +96 +72 +9 +74 +88 +1 +38 +20 +65 +53 +86 +44 +59 +47 +77 +31 +95 +85 +80 +54 +43 +56 +15 +34 +60 +64 +62 +66 +26 +3 +81 +79 +24 +4 +73 +13 +25 +98 +19 +67 +55 +76 +90 +69 +83 +42 +51 +57 +5 +71 +41 +82 +10 +33 +17 +12 +39 +84 +78 +2 +23 +68 +48 +40 +8 +30 +91 +61 +94 +29 +97 +7 +46 +50 +52 +28 +27 +18 +36 +70 +93 +0 +49 +32 +63 +35 +75 diff --git a/UCI_Datasets/half_moons/data/index_train_5.txt b/UCI_Datasets/half_moons/data/index_train_5.txt new file mode 100644 index 0000000..59b2d48 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_5.txt @@ -0,0 +1,90 @@ +0 +86 +4 +23 +24 +1 +62 +83 +66 +93 +55 +14 +21 +25 +76 +75 +16 +44 +15 +53 +11 +92 +80 +2 +47 +34 +35 +60 +6 +85 +13 +20 +41 +94 +31 +45 +90 +22 +96 +49 +98 +97 +65 +19 +70 +50 +89 +17 +12 +42 +84 +26 +57 +58 +74 +72 +39 +56 +61 +36 +68 +29 +59 +73 +79 +32 +10 +52 +18 +71 +64 +87 +28 +63 +54 +99 +3 +67 +9 +46 +43 +30 +77 +51 +27 +33 +88 +37 +78 +7 diff --git a/UCI_Datasets/half_moons/data/index_train_6.txt b/UCI_Datasets/half_moons/data/index_train_6.txt new file mode 100644 index 0000000..15e3576 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_6.txt @@ -0,0 +1,90 @@ +6 +59 +72 +30 +91 +43 +75 +76 +15 +61 +29 +46 +81 +69 +9 +92 +23 +93 +56 +37 +8 +87 +24 +85 +60 +86 +62 +10 +90 +3 +2 +19 +35 +73 +49 +31 +94 +55 +20 +98 +27 +53 +38 +13 +83 +65 +41 +25 +47 +51 +99 +28 +57 +79 +84 +70 +12 +50 +39 +54 +5 +4 +80 +66 +58 +33 +77 +7 +95 +64 +45 +78 +52 +74 +11 +18 +89 +67 +68 +21 +34 +97 +48 +1 +32 +26 +36 +14 +71 +96 diff --git a/UCI_Datasets/half_moons/data/index_train_7.txt b/UCI_Datasets/half_moons/data/index_train_7.txt new file mode 100644 index 0000000..49ab6f2 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_7.txt @@ -0,0 +1,90 @@ +44 +88 +74 +48 +59 +79 +25 +52 +45 +55 +85 +89 +95 +54 +78 +17 +19 +72 +24 +56 +75 +18 +80 +26 +12 +35 +69 +11 +92 +62 +96 +1 +86 +53 +99 +73 +8 +64 +27 +47 +60 +14 +91 +81 +16 +71 +76 +10 +2 +36 +90 +84 +67 +87 +63 +39 +42 +22 +23 +97 +5 +93 +77 +94 +68 +43 +37 +38 +98 +70 +21 +0 +9 +4 +50 +40 +20 +41 +46 +49 +57 +30 +34 +82 +58 +83 +61 +66 +29 +15 diff --git a/UCI_Datasets/half_moons/data/index_train_8.txt b/UCI_Datasets/half_moons/data/index_train_8.txt new file mode 100644 index 0000000..d54095c --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_8.txt @@ -0,0 +1,90 @@ +3 +60 +35 +33 +22 +66 +45 +68 +67 +75 +6 +87 +78 +16 +92 +2 +61 +56 +88 +54 +40 +63 +79 +5 +26 +53 +83 +24 +48 +10 +29 +34 +11 +82 +8 +28 +91 +98 +25 +69 +14 +97 +94 +86 +55 +0 +76 +58 +23 +13 +4 +9 +27 +44 +46 +59 +85 +71 +31 +62 +17 +49 +81 +72 +51 +74 +41 +43 +73 +70 +50 +7 +30 +99 +84 +36 +37 +15 +39 +93 +77 +18 +12 +95 +1 +21 +47 +42 +64 +19 diff --git a/UCI_Datasets/half_moons/data/index_train_9.txt b/UCI_Datasets/half_moons/data/index_train_9.txt new file mode 100644 index 0000000..b109e81 --- /dev/null +++ b/UCI_Datasets/half_moons/data/index_train_9.txt @@ -0,0 +1,90 @@ +64 +91 +12 +52 +16 +65 +50 +68 +33 +30 +14 +55 +78 +6 +92 +21 +72 +27 +24 +99 +70 +40 +69 +61 +45 +89 +84 +49 +23 +34 +81 +97 +22 +35 +95 +36 +41 +29 +10 +94 +58 +17 +19 +28 +25 +60 +82 +73 +15 +20 +63 +9 +47 +37 +93 +44 +18 +76 +46 +32 +2 +86 +7 +79 +96 +98 +80 +4 +38 +8 +56 +83 +13 +1 +54 +90 +11 +31 +67 +26 +5 +85 +66 +59 +75 +74 +88 +53 +43 +57 diff --git a/UCI_Datasets/half_moons/data/split_data_train_test.py b/UCI_Datasets/half_moons/data/split_data_train_test.py index 5b52aab..22f0f8c 100644 --- a/UCI_Datasets/half_moons/data/split_data_train_test.py +++ b/UCI_Datasets/half_moons/data/split_data_train_test.py @@ -26,7 +26,7 @@ np.savetxt("index_train_{}.txt".format(i), index_train, fmt = '%d') np.savetxt("index_test_{}.txt".format(i), index_test, fmt = '%d') - print i + print(i) np.savetxt("n_splits.txt", np.array([ n_splits ]), fmt = '%d') From 3e68e9aea66f8b4a5127ec70397bc968e77de04c Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Mon, 21 Feb 2022 11:21:38 -0500 Subject: [PATCH 08/13] needs to include predictors and response --- UCI_Datasets/half_moons/data/index_features.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/UCI_Datasets/half_moons/data/index_features.txt b/UCI_Datasets/half_moons/data/index_features.txt index 573541a..0d66ea1 100644 --- a/UCI_Datasets/half_moons/data/index_features.txt +++ b/UCI_Datasets/half_moons/data/index_features.txt @@ -1 +1,2 @@ 0 +1 From 6b4830ed6dbe591eb729009c22b1c91f55f79e23 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Tue, 22 Feb 2022 20:52:34 -0500 Subject: [PATCH 09/13] Fix halfmoons dataset --- UCI_Datasets/half_moons/data/data.txt | 200 +++++++++--------- .../half_moons/data/index_features.txt | 2 + UCI_Datasets/half_moons/data/index_target.txt | 2 +- 3 files changed, 103 insertions(+), 101 deletions(-) diff --git a/UCI_Datasets/half_moons/data/data.txt b/UCI_Datasets/half_moons/data/data.txt index 410ae34..04c7744 100644 --- a/UCI_Datasets/half_moons/data/data.txt +++ b/UCI_Datasets/half_moons/data/data.txt @@ -1,100 +1,100 @@ --0.415207563317 1.03573465636 -0.0587809844215 0.304334313802 -1.10937860273 -0.509737826298 -1.54094828019 -0.42754961672 -0.929094975859 -0.532387788835 --0.869324702793 0.547154818195 -1.39839427109 -0.509581914063 --0.931784582 0.27211201662 -0.249302324829 0.930652984113 -0.473248234549 -0.344949306521 --1.00225614772 0.499659112348 -1.94934307911 0.531400658824 -0.346957593786 0.914807488995 -0.571244447282 0.94476793805 -1.21082122748 -0.428288511794 -0.0866636917741 0.144226359787 -1.76772157216 -0.22036763199 -0.14091582702 -0.106748139004 -1.89963117159 0.0353968421144 -2.01487433843 0.298095733722 -2.03705130164 0.211455041105 --0.118942867795 0.936380947854 -0.614301961501 -0.407707716445 --0.660169590758 0.876831803059 -0.11578871616 0.217791597448 -1.68597998203 -0.0784243529809 -0.882238877864 0.484869918556 --0.266501125357 0.933114218466 --0.710406685562 0.654472620162 -0.32014844401 -0.390383385393 --0.739363937177 0.703330933403 --1.02487376048 0.0159318128719 -1.54243067361 -0.261706027103 --0.0819445577251 0.982641753832 --0.588717118216 0.858176796636 -0.632012468207 0.807521184922 -1.95221157458 0.043038503641 -0.210255923724 -0.0587090269182 --0.98565477406 0.131424888954 -0.122191216338 1.05328598315 -0.934968795703 0.178334949215 -0.715978909529 0.618013164246 -1.11569244027 -0.460013313275 -0.835940691218 0.370844675185 -0.286246615735 -0.169043464703 -0.839055714487 0.650499141063 -1.00724594132 -0.0710843949073 -1.03335758509 0.154852085369 -0.0880699111598 0.546292572123 -0.762111887648 -0.41060793591 -0.783292630704 1.58729221766 -1.13241239795 2.22306046554 --0.865323945348 1.79541475955 --0.770610016691 1.91092867393 --0.468358224517 2.41144355219 --0.799736446132 2.18041037611 --0.885874085236 2.12347229548 -0.932804429207 2.04639149946 -1.01734036002 2.45018376624 --0.652718203952 2.67420550498 -0.918377500197 2.38535507761 -0.834841228855 1.85527564303 -1.08766439546 2.18730611069 --0.652689690549 2.10324613686 --0.633832432307 1.97212969803 -1.40429572987 2.18109482534 --0.859128596935 2.5222854468 --0.768429190678 2.61588414023 --0.795601086328 2.3780670931 -0.747695539597 2.00140713452 --0.999697565196 2.38651388149 --0.605010417763 2.04803235884 -0.936114227431 2.04986308149 -1.27216984046 1.73402175763 -0.550016035256 1.61302164941 --0.692863282087 2.08834890196 -0.954016348429 1.79809322552 --0.890822563136 2.38804557963 -0.420008528173 2.07755858451 -1.40633702693 2.20725425975 --0.832941677801 2.56633127642 -1.01238558503 2.01064777745 -1.56046839335 2.09598432117 --0.805584701543 1.74576560816 --0.691119747117 2.40385895514 -1.06060102447 2.02811641201 -0.777598963386 2.40436997653 --0.722645563475 2.16141195065 -1.25016292468 1.59275815592 -0.992845747005 2.0786425156 --0.591360414446 2.1420613661 -1.02836314213 1.97381878663 -1.00334825235 2.26000591302 -1.50911073403 2.03966765019 --0.563078055751 2.00589712714 --0.986469388502 2.75063979845 --0.557481990805 2.3746392187 -1.16113172167 2.03500885361 --0.824934801821 2.18744375238 --1.22848026417 2.2659643002 \ No newline at end of file +1.7183493500977276 -0.1956825506034865 1 +0.6546349455786922 -0.43846842204976033 1 +1.8380881048918405 -0.04553490121054904 1 +0.48160743168947484 -0.3551427630053461 1 +0.7774790660436856 -0.4749279121818236 1 +0.595216656877606 -0.4144126230158124 1 +0.008209986176753836 0.372122838315494 1 +-0.3453650544213075 0.9384684220497604 0 +0.1595998950333793 0.9871817834144501 0 +-0.032051577571654985 0.9994862162006879 0 +0.07308324265397825 0.12473299512062597 1 +-1.0 1.2246467991473532e-16 0 +0.19858637813204327 -0.09811053049121587 1 +0.3276991097386831 -0.2402779970753155 1 +0.9917900138232462 0.127877161684506 0 +1.900968867902419 0.06611626088244171 1 +0.9679484224283447 -0.4994862162006879 1 +0.28452758663103267 0.9586678530366606 0 +1.032051577571655 -0.4994862162006879 1 +-0.5183925683105249 0.8551427630053462 0 +1.8713187041233892 0.009282447996061816 1 +1.2845275866310324 -0.4586678530366607 1 +1.0 0.0 0 +0.3765101981412664 -0.2818314824680297 1 +0.3453650544213078 0.9384684220497603 0 +-0.900968867902419 0.43388373911755823 0 +0.09903113209758085 0.06611626088244194 1 +0.7614459583691344 0.6482283953077884 0 +1.3453650544213076 -0.43846842204976044 1 +1.2225209339563143 -0.4749279121818236 1 +1.9490557470106686 0.18489178197637912 1 +0.9039769740923181 -0.49537911294919823 1 +0.03205157757165533 0.9994862162006879 0 +-0.15959989503337899 0.9871817834144502 0 +0.8014136218679567 0.5981105304912159 0 +0.5721166601221698 0.8201722545969559 0 +-0.28452758663103234 0.9586678530366607 0 +0.1619118951081593 -0.045534901210548595 1 +1.9269167573460217 0.12473299512062552 1 +0.6723008902613169 0.7402779970753155 0 +0.1286812958766106 0.009282447996062149 1 +1.5721166601221694 -0.3201722545969561 1 +1.8014136218679564 -0.0981105304912161 1 +0.40478334312239395 0.9144126230158124 0 +0.5183925683105252 0.8551427630053461 0 +1.0960230259076815 -0.49537911294919823 1 +0.46253829024083537 0.886599306373 0 +0.0 0.5 1 +0.09602302590768187 0.9953791129491982 0 +1.6723008902613166 -0.24027799707531572 1 +-0.5721166601221694 0.8201722545969561 0 +1.9672948630390295 0.2463454160904922 1 +-0.9269167573460216 0.3752670048793745 0 +-0.9672948630390293 0.2536545839095078 0 +1.9815591569910653 0.30884137129862743 1 +0.9815591569910653 0.1911586287013723 0 +-0.9979453927503363 0.06407021998071323 0 +1.6234898018587334 -0.2818314824680299 1 +0.8380881048918407 0.5455349012105486 0 +-0.22252093395631434 0.9749279121818236 0 +0.6234898018587336 0.7818314824680297 0 +-0.7614459583691342 0.6482283953077888 0 +2.0 0.4999999999999999 1 +0.03270513696097055 0.24634541609049265 1 +1.9979453927503363 0.43592978001928673 1 +-0.8380881048918404 0.545534901210549 0 +0.9979453927503363 0.06407021998071291 0 +0.9490557470106686 0.31510821802362066 0 +0.9269167573460217 0.3752670048793741 0 +0.5374617097591646 -0.386599306373 1 +-0.09602302590768155 0.9953791129491982 0 +0.8713187041233894 0.49071755200393785 0 +-0.4625382902408351 0.8865993063730001 0 +-0.9490557470106686 0.3151082180236208 0 +-0.9815591569910653 0.19115862870137254 0 +1.159599895033379 -0.4871817834144502 1 +-0.991790013823246 0.1278771616845065 0 +0.9009688679024191 0.4338837391175581 0 +0.8404001049666208 -0.48718178341445006 1 +-0.6723008902613165 0.7402779970753157 0 +-0.7183493500977275 0.6956825506034865 0 +1.991790013823246 0.37212283831549353 1 +0.4278833398778302 -0.32017225459695586 1 +0.9672948630390295 0.25365458390950735 0 +1.5183925683105248 -0.3551427630053462 1 +0.01844084300893467 0.30884137129862776 1 +-0.40478334312239367 0.9144126230158125 0 +-0.8713187041233892 0.49071755200393813 0 +0.22252093395631445 0.9749279121818236 0 +1.462538290240835 -0.3865993063730001 1 +0.05094425298933136 0.18489178197637934 1 +1.7614459583691342 -0.14822839530778875 1 +-0.8014136218679565 0.5981105304912161 0 +-0.6234898018587334 0.7818314824680299 0 +0.7154724133689674 -0.4586678530366606 1 +0.7183493500977276 0.6956825506034864 0 +0.0020546072496636647 0.43592978001928706 1 +0.2816506499022724 -0.19568255060348638 1 +1.4047833431223937 -0.4144126230158125 1 +0.23855404163086558 -0.14822839530778842 1 diff --git a/UCI_Datasets/half_moons/data/index_features.txt b/UCI_Datasets/half_moons/data/index_features.txt index 0d66ea1..736a5fe 100644 --- a/UCI_Datasets/half_moons/data/index_features.txt +++ b/UCI_Datasets/half_moons/data/index_features.txt @@ -1,2 +1,4 @@ 0 1 +2 + diff --git a/UCI_Datasets/half_moons/data/index_target.txt b/UCI_Datasets/half_moons/data/index_target.txt index d00491f..0cfbf08 100644 --- a/UCI_Datasets/half_moons/data/index_target.txt +++ b/UCI_Datasets/half_moons/data/index_target.txt @@ -1 +1 @@ -1 +2 From ab8630087d5b558acbd7f20d96e2261f23d57734 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Tue, 22 Feb 2022 20:53:03 -0500 Subject: [PATCH 10/13] fix half-moons dataset --- .gitignore | 1 + ...alidation_MC_rmse_500_xepochs_2_hidden_layers.txt | 12 ++++++++++++ .../validation_ll_500_xepochs_2_hidden_layers.txt | 12 ++++++++++++ .../validation_rmse_500_xepochs_2_hidden_layers.txt | 12 ++++++++++++ 4 files changed, 37 insertions(+) create mode 100644 .gitignore create mode 100644 UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..ba10e93 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt @@ -0,0 +1,12 @@ +Dropout_Rate: 0.005 Tau: 150.0 :: 0.020302583808449435 +Dropout_Rate: 0.005 Tau: 200.0 :: 0.012381431598448457 +Dropout_Rate: 0.005 Tau: 250.0 :: 0.01552236802541426 +Dropout_Rate: 0.01 Tau: 150.0 :: 0.014596989012790175 +Dropout_Rate: 0.01 Tau: 200.0 :: 0.02984572920102142 +Dropout_Rate: 0.01 Tau: 250.0 :: 0.02245443732581472 +Dropout_Rate: 0.05 Tau: 150.0 :: 0.06371455219281054 +Dropout_Rate: 0.05 Tau: 200.0 :: 0.05749739594879523 +Dropout_Rate: 0.05 Tau: 250.0 :: 0.06302110365326813 +Dropout_Rate: 0.1 Tau: 150.0 :: 0.10694096835744975 +Dropout_Rate: 0.1 Tau: 200.0 :: 0.11434806165949055 +Dropout_Rate: 0.1 Tau: 250.0 :: 0.10219957332615813 diff --git a/UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..cd16fb3 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt @@ -0,0 +1,12 @@ +Dropout_Rate: 0.005 Tau: 150.0 :: 1.5223489420926561 +Dropout_Rate: 0.005 Tau: 200.0 :: 1.6796321911537182 +Dropout_Rate: 0.005 Tau: 250.0 :: 1.7804510632612285 +Dropout_Rate: 0.01 Tau: 150.0 :: 1.5181021514338628 +Dropout_Rate: 0.01 Tau: 200.0 :: 1.5805271135250272 +Dropout_Rate: 0.01 Tau: 250.0 :: 1.721905040130748 +Dropout_Rate: 0.05 Tau: 150.0 :: 1.2491816130352817 +Dropout_Rate: 0.05 Tau: 200.0 :: 1.431670291952727 +Dropout_Rate: 0.05 Tau: 250.0 :: 1.498119501357424 +Dropout_Rate: 0.1 Tau: 150.0 :: 1.1482156471774665 +Dropout_Rate: 0.1 Tau: 200.0 :: 1.2210603762682137 +Dropout_Rate: 0.1 Tau: 250.0 :: 1.2225018311237585 diff --git a/UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..7ac48f8 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt @@ -0,0 +1,12 @@ +Dropout_Rate: 0.005 Tau: 150.0 :: 0.025360050896588937 +Dropout_Rate: 0.005 Tau: 200.0 :: 0.023371560227575392 +Dropout_Rate: 0.005 Tau: 250.0 :: 0.02137746382433393 +Dropout_Rate: 0.01 Tau: 150.0 :: 0.028130205300090597 +Dropout_Rate: 0.01 Tau: 200.0 :: 0.040751713346348924 +Dropout_Rate: 0.01 Tau: 250.0 :: 0.1266288052953056 +Dropout_Rate: 0.05 Tau: 150.0 :: 0.07647680722605579 +Dropout_Rate: 0.05 Tau: 200.0 :: 0.46581585985590335 +Dropout_Rate: 0.05 Tau: 250.0 :: 0.2513473101957725 +Dropout_Rate: 0.1 Tau: 150.0 :: 0.5040949095186307 +Dropout_Rate: 0.1 Tau: 200.0 :: 0.45122683019477683 +Dropout_Rate: 0.1 Tau: 250.0 :: 0.3364774465139611 From d98fc1adb56537a86495a480ce1cf8f4957a0d4f Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Fri, 25 Feb 2022 00:19:29 -0500 Subject: [PATCH 11/13] working on half-moons, ready for gpu --- .gitignore | 1 + .../results/log_1_xepochs_2_hidden_layers.txt | 3 ++ ...test_MC_rmse_1_xepochs_2_hidden_layers.txt | 2 + .../test_ll_1_xepochs_2_hidden_layers.txt | 2 + .../test_rmse_1_xepochs_2_hidden_layers.txt | 2 + .../test_tau_1_xepochs_2_hidden_layers.txt | 2 + ...tion_MC_rmse_1_xepochs_2_hidden_layers.txt | 24 ++++++++++ ...on_MC_rmse_500_xepochs_2_hidden_layers.txt | 12 ----- ...alidation_ll_1_xepochs_2_hidden_layers.txt | 24 ++++++++++ ...idation_ll_500_xepochs_2_hidden_layers.txt | 12 ----- ...idation_rmse_1_xepochs_2_hidden_layers.txt | 24 ++++++++++ ...ation_rmse_500_xepochs_2_hidden_layers.txt | 12 ----- experiment.py | 34 ++++++++------ net/net.py | 45 ++++++++++++------- 14 files changed, 135 insertions(+), 64 deletions(-) create mode 100644 UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt delete mode 100644 UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt delete mode 100644 UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt delete mode 100644 UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt diff --git a/.gitignore b/.gitignore index e43b0f9..6a4dae1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .DS_Store +__pycache__ diff --git a/UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..391cc97 --- /dev/null +++ b/UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,3 @@ +accuracies 0.400000 +- 0.100000 (stddev) +- 0.022361 (std error), median 0.400000 25p 0.350000 75p 0.450000 +MC accuracies 0.350000 +- 0.150000 (stddev) +- 0.033541 (std error), median 0.350000 25p 0.275000 75p 0.425000 +lls -0.345416 +- 0.009996 (stddev) +- 0.002235 (std error), median -0.345416 25p -0.350415 75p -0.340418 diff --git a/UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..200e4fb --- /dev/null +++ b/UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,2 @@ +0.5 +0.2 diff --git a/UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..4d951fc --- /dev/null +++ b/UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,2 @@ +-0.3354199230670929 +-0.35541276931762694 diff --git a/UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..63ed124 --- /dev/null +++ b/UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,2 @@ +0.3 +0.5 diff --git a/UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..d324df6 --- /dev/null +++ b/UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,2 @@ +250.0 +150.0 diff --git a/UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..093b678 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,24 @@ +Dropout_Rate: 0.005 Tau: 150.0 :: 0.5555555555555556 +Dropout_Rate: 0.005 Tau: 200.0 :: 0.7222222222222222 +Dropout_Rate: 0.005 Tau: 250.0 :: 0.4444444444444444 +Dropout_Rate: 0.01 Tau: 150.0 :: 0.16666666666666666 +Dropout_Rate: 0.01 Tau: 200.0 :: 0.5 +Dropout_Rate: 0.01 Tau: 250.0 :: 0.3888888888888889 +Dropout_Rate: 0.05 Tau: 150.0 :: 0.7222222222222222 +Dropout_Rate: 0.05 Tau: 200.0 :: 0.2222222222222222 +Dropout_Rate: 0.05 Tau: 250.0 :: 0.2777777777777778 +Dropout_Rate: 0.1 Tau: 150.0 :: 0.6111111111111112 +Dropout_Rate: 0.1 Tau: 200.0 :: 0.6666666666666666 +Dropout_Rate: 0.1 Tau: 250.0 :: 0.3333333333333333 +Dropout_Rate: 0.005 Tau: 150.0 :: 0.8888888888888888 +Dropout_Rate: 0.005 Tau: 200.0 :: 0.4444444444444444 +Dropout_Rate: 0.005 Tau: 250.0 :: 0.5555555555555556 +Dropout_Rate: 0.01 Tau: 150.0 :: 0.8888888888888888 +Dropout_Rate: 0.01 Tau: 200.0 :: 0.4444444444444444 +Dropout_Rate: 0.01 Tau: 250.0 :: 0.4444444444444444 +Dropout_Rate: 0.05 Tau: 150.0 :: 0.8333333333333334 +Dropout_Rate: 0.05 Tau: 200.0 :: 0.5 +Dropout_Rate: 0.05 Tau: 250.0 :: 0.4444444444444444 +Dropout_Rate: 0.1 Tau: 150.0 :: 0.5 +Dropout_Rate: 0.1 Tau: 200.0 :: 0.3888888888888889 +Dropout_Rate: 0.1 Tau: 250.0 :: 0.6111111111111112 diff --git a/UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt deleted file mode 100644 index ba10e93..0000000 --- a/UCI_Datasets/half_moons/results/validation_MC_rmse_500_xepochs_2_hidden_layers.txt +++ /dev/null @@ -1,12 +0,0 @@ -Dropout_Rate: 0.005 Tau: 150.0 :: 0.020302583808449435 -Dropout_Rate: 0.005 Tau: 200.0 :: 0.012381431598448457 -Dropout_Rate: 0.005 Tau: 250.0 :: 0.01552236802541426 -Dropout_Rate: 0.01 Tau: 150.0 :: 0.014596989012790175 -Dropout_Rate: 0.01 Tau: 200.0 :: 0.02984572920102142 -Dropout_Rate: 0.01 Tau: 250.0 :: 0.02245443732581472 -Dropout_Rate: 0.05 Tau: 150.0 :: 0.06371455219281054 -Dropout_Rate: 0.05 Tau: 200.0 :: 0.05749739594879523 -Dropout_Rate: 0.05 Tau: 250.0 :: 0.06302110365326813 -Dropout_Rate: 0.1 Tau: 150.0 :: 0.10694096835744975 -Dropout_Rate: 0.1 Tau: 200.0 :: 0.11434806165949055 -Dropout_Rate: 0.1 Tau: 250.0 :: 0.10219957332615813 diff --git a/UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..d59beb6 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,24 @@ +Dropout_Rate: 0.005 Tau: 150.0 :: -0.3478279577361213 +Dropout_Rate: 0.005 Tau: 200.0 :: -0.3479861699872547 +Dropout_Rate: 0.005 Tau: 250.0 :: -0.34439079960187274 +Dropout_Rate: 0.01 Tau: 150.0 :: -0.34680696659617954 +Dropout_Rate: 0.01 Tau: 200.0 :: -0.34987498157554203 +Dropout_Rate: 0.01 Tau: 250.0 :: -0.3472061935398314 +Dropout_Rate: 0.05 Tau: 150.0 :: -0.352764583296246 +Dropout_Rate: 0.05 Tau: 200.0 :: -0.3454495304160648 +Dropout_Rate: 0.05 Tau: 250.0 :: -0.34233977231714463 +Dropout_Rate: 0.1 Tau: 150.0 :: -0.3538612210088306 +Dropout_Rate: 0.1 Tau: 200.0 :: -0.35149616334173417 +Dropout_Rate: 0.1 Tau: 250.0 :: -0.33343183663156295 +Dropout_Rate: 0.005 Tau: 150.0 :: -0.35149478415648144 +Dropout_Rate: 0.005 Tau: 200.0 :: -0.3421296063396666 +Dropout_Rate: 0.005 Tau: 250.0 :: -0.3522784262895584 +Dropout_Rate: 0.01 Tau: 150.0 :: -0.34901999102698433 +Dropout_Rate: 0.01 Tau: 200.0 :: -0.34710174633396995 +Dropout_Rate: 0.01 Tau: 250.0 :: -0.34454383121596444 +Dropout_Rate: 0.05 Tau: 150.0 :: -0.35125664207670426 +Dropout_Rate: 0.05 Tau: 200.0 :: -0.34171050124698216 +Dropout_Rate: 0.05 Tau: 250.0 :: -0.34270887573560077 +Dropout_Rate: 0.1 Tau: 150.0 :: -0.3391147156556447 +Dropout_Rate: 0.1 Tau: 200.0 :: -0.35306252704726326 +Dropout_Rate: 0.1 Tau: 250.0 :: -0.35136018031173283 diff --git a/UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt deleted file mode 100644 index cd16fb3..0000000 --- a/UCI_Datasets/half_moons/results/validation_ll_500_xepochs_2_hidden_layers.txt +++ /dev/null @@ -1,12 +0,0 @@ -Dropout_Rate: 0.005 Tau: 150.0 :: 1.5223489420926561 -Dropout_Rate: 0.005 Tau: 200.0 :: 1.6796321911537182 -Dropout_Rate: 0.005 Tau: 250.0 :: 1.7804510632612285 -Dropout_Rate: 0.01 Tau: 150.0 :: 1.5181021514338628 -Dropout_Rate: 0.01 Tau: 200.0 :: 1.5805271135250272 -Dropout_Rate: 0.01 Tau: 250.0 :: 1.721905040130748 -Dropout_Rate: 0.05 Tau: 150.0 :: 1.2491816130352817 -Dropout_Rate: 0.05 Tau: 200.0 :: 1.431670291952727 -Dropout_Rate: 0.05 Tau: 250.0 :: 1.498119501357424 -Dropout_Rate: 0.1 Tau: 150.0 :: 1.1482156471774665 -Dropout_Rate: 0.1 Tau: 200.0 :: 1.2210603762682137 -Dropout_Rate: 0.1 Tau: 250.0 :: 1.2225018311237585 diff --git a/UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..3a8fba6 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,24 @@ +Dropout_Rate: 0.005 Tau: 150.0 :: 0.6111111111111112 +Dropout_Rate: 0.005 Tau: 200.0 :: 0.6666666666666666 +Dropout_Rate: 0.005 Tau: 250.0 :: 0.5555555555555556 +Dropout_Rate: 0.01 Tau: 150.0 :: 0.2777777777777778 +Dropout_Rate: 0.01 Tau: 200.0 :: 0.3888888888888889 +Dropout_Rate: 0.01 Tau: 250.0 :: 0.4444444444444444 +Dropout_Rate: 0.05 Tau: 150.0 :: 0.5555555555555556 +Dropout_Rate: 0.05 Tau: 200.0 :: 0.3888888888888889 +Dropout_Rate: 0.05 Tau: 250.0 :: 0.4444444444444444 +Dropout_Rate: 0.1 Tau: 150.0 :: 0.6666666666666666 +Dropout_Rate: 0.1 Tau: 200.0 :: 0.6111111111111112 +Dropout_Rate: 0.1 Tau: 250.0 :: 0.2222222222222222 +Dropout_Rate: 0.005 Tau: 150.0 :: 0.7777777777777778 +Dropout_Rate: 0.005 Tau: 200.0 :: 0.3333333333333333 +Dropout_Rate: 0.005 Tau: 250.0 :: 0.5 +Dropout_Rate: 0.01 Tau: 150.0 :: 0.7222222222222222 +Dropout_Rate: 0.01 Tau: 200.0 :: 0.4444444444444444 +Dropout_Rate: 0.01 Tau: 250.0 :: 0.4444444444444444 +Dropout_Rate: 0.05 Tau: 150.0 :: 0.6666666666666666 +Dropout_Rate: 0.05 Tau: 200.0 :: 0.3888888888888889 +Dropout_Rate: 0.05 Tau: 250.0 :: 0.3333333333333333 +Dropout_Rate: 0.1 Tau: 150.0 :: 0.3888888888888889 +Dropout_Rate: 0.1 Tau: 200.0 :: 0.5555555555555556 +Dropout_Rate: 0.1 Tau: 250.0 :: 0.5 diff --git a/UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt deleted file mode 100644 index 7ac48f8..0000000 --- a/UCI_Datasets/half_moons/results/validation_rmse_500_xepochs_2_hidden_layers.txt +++ /dev/null @@ -1,12 +0,0 @@ -Dropout_Rate: 0.005 Tau: 150.0 :: 0.025360050896588937 -Dropout_Rate: 0.005 Tau: 200.0 :: 0.023371560227575392 -Dropout_Rate: 0.005 Tau: 250.0 :: 0.02137746382433393 -Dropout_Rate: 0.01 Tau: 150.0 :: 0.028130205300090597 -Dropout_Rate: 0.01 Tau: 200.0 :: 0.040751713346348924 -Dropout_Rate: 0.01 Tau: 250.0 :: 0.1266288052953056 -Dropout_Rate: 0.05 Tau: 150.0 :: 0.07647680722605579 -Dropout_Rate: 0.05 Tau: 200.0 :: 0.46581585985590335 -Dropout_Rate: 0.05 Tau: 250.0 :: 0.2513473101957725 -Dropout_Rate: 0.1 Tau: 150.0 :: 0.5040949095186307 -Dropout_Rate: 0.1 Tau: 200.0 :: 0.45122683019477683 -Dropout_Rate: 0.1 Tau: 250.0 :: 0.3364774465139611 diff --git a/experiment.py b/experiment.py index 40f30be..d324bb5 100644 --- a/experiment.py +++ b/experiment.py @@ -112,8 +112,13 @@ def _get_index_train_test_path(split_num, train = True): n_splits = np.loadtxt(_N_SPLITS_FILE) print ("Done.") -errors, MC_errors, lls = [], [], [] -for split in range(int(n_splits)): +print(f"Parameters: {epochs_multiplier} {num_hidden_layers}") + +accuracies, MC_accuracies, lls = [], [], [] +# int(n_splits) +for split in range(2): + + print(f"Split: {split}") # We load the indexes of the training and test sets print ('Loading file: ' + _get_index_train_test_path(split, train=True)) @@ -156,10 +161,12 @@ def _get_index_train_test_path(split_num, train = True): network = net.net(X_train, y_train, ([ int(n_hidden) ] * num_hidden_layers), normalize = True, n_epochs = int(n_epochs * epochs_multiplier), tau = tau, dropout = dropout_rate) + print('DONE TRAINING') # We obtain the test RMSE and the test ll from the validation sets error, MC_error, ll = network.predict(X_validation, y_validation) + print('DONE PREDICTING') if (ll > best_ll): best_ll = ll best_network = network @@ -186,13 +193,14 @@ def _get_index_train_test_path(split_num, train = True): best_network = net.net(X_train_original, y_train_original, ([ int(n_hidden) ] * num_hidden_layers), normalize = True, n_epochs = int(n_epochs * epochs_multiplier), tau = best_tau, dropout = best_dropout) - error, MC_error, ll = best_network.predict(X_test, y_test) + accuracy, MC_accuracy, ll = best_network.predict(X_test, y_test) + print("DONE WITH BEST NETWORK") with open(_RESULTS_TEST_RMSE, "a") as myfile: - myfile.write(repr(error) + '\n') + myfile.write(repr(accuracy) + '\n') with open(_RESULTS_TEST_MC_RMSE, "a") as myfile: - myfile.write(repr(MC_error) + '\n') + myfile.write(repr(MC_accuracy) + '\n') with open(_RESULTS_TEST_LL, "a") as myfile: myfile.write(repr(ll) + '\n') @@ -201,17 +209,17 @@ def _get_index_train_test_path(split_num, train = True): myfile.write(repr(best_network.tau) + '\n') print ("Tests on split " + str(split) + " complete.") - errors += [error] - MC_errors += [MC_error] + accuracies += [accuracy] + MC_accuracies += [MC_accuracy] lls += [ll] with open(_RESULTS_TEST_LOG, "a") as myfile: - myfile.write('errors %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \n' % ( - np.mean(errors), np.std(errors), np.std(errors)/math.sqrt(n_splits), - np.percentile(errors, 50), np.percentile(errors, 25), np.percentile(errors, 75))) - myfile.write('MC errors %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \n' % ( - np.mean(MC_errors), np.std(MC_errors), np.std(MC_errors)/math.sqrt(n_splits), - np.percentile(MC_errors, 50), np.percentile(MC_errors, 25), np.percentile(MC_errors, 75))) + myfile.write('accuracies %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \n' % ( + np.mean(accuracies), np.std(accuracies), np.std(accuracies)/math.sqrt(n_splits), + np.percentile(accuracies, 50), np.percentile(accuracies, 25), np.percentile(accuracies, 75))) + myfile.write('MC accuracies %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \n' % ( + np.mean(MC_accuracies), np.std(MC_accuracies), np.std(MC_accuracies)/math.sqrt(n_splits), + np.percentile(MC_accuracies, 50), np.percentile(MC_accuracies, 25), np.percentile(MC_accuracies, 75))) myfile.write('lls %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \n' % ( np.mean(lls), np.std(lls), np.std(lls)/math.sqrt(n_splits), np.percentile(lls, 50), np.percentile(lls, 25), np.percentile(lls, 75))) diff --git a/net/net.py b/net/net.py index 72a657b..4bc4da7 100644 --- a/net/net.py +++ b/net/net.py @@ -13,7 +13,9 @@ from keras import Input from keras.layers import Dropout from keras.layers import Dense +from keras.layers import Softmax from keras import Model +import tensorflow as tf import time @@ -78,11 +80,12 @@ def __init__(self, X_train, y_train, n_hidden, n_epochs = 40, inter = Dropout(dropout)(inter, training=True) inter = Dense(n_hidden[i+1], activation='relu', kernel_regularizer=l2(reg))(inter) inter = Dropout(dropout)(inter, training=True) - outputs = Dense(y_train_normalized.shape[1], kernel_regularizer=l2(reg))(inter) + outputs = Dense(2, kernel_regularizer=l2(reg))(inter) + outputs = Softmax()(outputs) model = Model(inputs, outputs) - model.compile(loss='mean_squared_error', optimizer='adam') - + model.compile(loss='binary_crossentropy', optimizer='adam') + # print(model.summary()) # We iterate the learning process start_time = time.time() model.fit(X_train, y_train_normalized, batch_size=batch_size, epochs=n_epochs, verbose=0) @@ -119,21 +122,33 @@ def predict(self, X_test, y_test): # of the test data model = self.model - standard_pred = model.predict(X_test, batch_size=500, verbose=1) - standard_pred = standard_pred * self.std_y_train + self.mean_y_train - rmse_standard_pred = np.mean((y_test.squeeze() - standard_pred.squeeze())**2.)**0.5 - - T = 10000 + standard_pred_probs = model.predict(X_test, batch_size=500, verbose=1) + standard_pred = tf.math.argmax(standard_pred_probs, axis=1).numpy() + # standard_pred = standard_pred * self.std_y_train + self.mean_y_train + # rmse_standard_pred = np.mean((y_test.squeeze() - standard_pred.squeeze())**2.)**0.5 + accuracy_standard_pred = np.mean((y_test.squeeze() == standard_pred.squeeze())) + print(f'Standard Accuracy: {accuracy_standard_pred}') + + T = 100 Yt_hat = np.array([model.predict(X_test, batch_size=500, verbose=0) for _ in range(T)]) - Yt_hat = Yt_hat * self.std_y_train + self.mean_y_train - MC_pred = np.mean(Yt_hat, 0) - rmse = np.mean((y_test.squeeze() - MC_pred.squeeze())**2.)**0.5 + # Yt_hat = Yt_hat * self.std_y_train + self.mean_y_train + MC_pred = tf.math.argmax(np.mean(Yt_hat, axis=0), axis=1).numpy() + # print(MC_pred.shape) + mc_accuracy = np.mean((y_test.squeeze() == MC_pred.squeeze())) + print(f'MC Accuracy: {mc_accuracy}') # We compute the test log-likelihood - ll = (logsumexp(-0.5 * self.tau * (y_test[None] - Yt_hat)**2., 0) - np.log(T) - - 0.5*np.log(2*np.pi) + 0.5*np.log(self.tau)) - test_ll = np.mean(ll) + # ll = (logsumexp(-0.5 * self.tau * (y_test[None] - Yt_hat)**2., 0) - np.log(T) + # - 0.5*np.log(2*np.pi) + 0.5*np.log(self.tau)) + # test_ll = np.mean(ll) + # ll = np.sum(y_test[]) + + # double check this! + y_test = y_test.astype(int) + y_test_2d = np.hstack((y_test, 1-y_test)) + test_ll = np.mean(np.log(standard_pred_probs) * y_test_2d) # We are done! - return rmse_standard_pred, rmse, test_ll + print(f'Test LL: {test_ll}') + return accuracy_standard_pred, mc_accuracy, test_ll From 385ed07d220310e2ca9858f72a3ce676349345ee Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Sat, 26 Feb 2022 14:20:47 -0500 Subject: [PATCH 12/13] jupyter notebook of easy to run model --- .gitignore | 1 + KerasMCDropoutInteractive.ipynb | 524 ++++++++++++++++++ .../results/log_1_xepochs_2_hidden_layers.txt | 6 +- .../test_MC_acc_1_xepochs_2_hidden_layers.txt | 24 + ...test_MC_rmse_1_xepochs_2_hidden_layers.txt | 2 - .../test_acc_1_xepochs_2_hidden_layers.txt | 24 + .../test_ll_1_xepochs_2_hidden_layers.txt | 26 +- .../test_rmse_1_xepochs_2_hidden_layers.txt | 2 - .../test_tau_1_xepochs_2_hidden_layers.txt | 23 +- ...ion_MC_acc_100_xepochs_2_hidden_layers.txt | 3 + ...ation_MC_acc_1_xepochs_2_hidden_layers.txt | 308 ++++++++++ ...tion_MC_rmse_1_xepochs_2_hidden_layers.txt | 24 - ...dation_acc_100_xepochs_2_hidden_layers.txt | 3 + ...lidation_acc_1_xepochs_2_hidden_layers.txt | 308 ++++++++++ ...idation_ll_100_xepochs_2_hidden_layers.txt | 3 + ...alidation_ll_1_xepochs_2_hidden_layers.txt | 332 ++++++++++- ...idation_rmse_1_xepochs_2_hidden_layers.txt | 24 - 17 files changed, 1554 insertions(+), 83 deletions(-) create mode 100644 KerasMCDropoutInteractive.ipynb create mode 100644 UCI_Datasets/half_moons/results/test_MC_acc_1_xepochs_2_hidden_layers.txt delete mode 100644 UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/test_acc_1_xepochs_2_hidden_layers.txt delete mode 100644 UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_MC_acc_100_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_MC_acc_1_xepochs_2_hidden_layers.txt delete mode 100644 UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_acc_100_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_acc_1_xepochs_2_hidden_layers.txt create mode 100644 UCI_Datasets/half_moons/results/validation_ll_100_xepochs_2_hidden_layers.txt delete mode 100644 UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt diff --git a/.gitignore b/.gitignore index 6a4dae1..2dd0db8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +.ipynb_checkpoints .DS_Store __pycache__ diff --git a/KerasMCDropoutInteractive.ipynb b/KerasMCDropoutInteractive.ipynb new file mode 100644 index 0000000..2aef2b0 --- /dev/null +++ b/KerasMCDropoutInteractive.ipynb @@ -0,0 +1,524 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 52, + "id": "e5b9145e", + "metadata": {}, + "outputs": [], + "source": [ + "# Copyright 2016, Yarin Gal, All rights reserved.\n", + "# This code is based on the code by Jose Miguel Hernandez-Lobato used for his \n", + "# paper \"Probabilistic Backpropagation for Scalable Learning of Bayesian Neural Networks\".\n", + "\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", + "import math\n", + "from scipy.special import logsumexp\n", + "import numpy as np\n", + "\n", + "from keras.regularizers import l2\n", + "from keras import Input\n", + "from keras.layers import Dropout\n", + "from keras.layers import Dense\n", + "from keras.layers import Softmax\n", + "from keras import Model\n", + "import tensorflow as tf\n", + "\n", + "import time\n", + "\n", + "\n", + "class net:\n", + "\n", + " def __init__(self, X_train, y_train, n_hidden, n_epochs = 40,\n", + " normalize = False, tau = 1.0, dropout = 0.05):\n", + "\n", + " \"\"\"\n", + " Constructor for the class implementing a Bayesian neural network\n", + " trained with the probabilistic back propagation method.\n", + "\n", + " @param X_train Matrix with the features for the training data.\n", + " @param y_train Vector with the target variables for the\n", + " training data.\n", + " @param n_hidden Vector with the number of neurons for each\n", + " hidden layer.\n", + " @param n_epochs Numer of epochs for which to train the\n", + " network. The recommended value 40 should be\n", + " enough.\n", + " @param normalize Whether to normalize the input features. This\n", + " is recommended unles the input vector is for\n", + " example formed by binary features (a\n", + " fingerprint). In that case we do not recommend\n", + " to normalize the features.\n", + " @param tau Tau value used for regularization\n", + " @param dropout Dropout rate for all the dropout layers in the\n", + " network.\n", + " \"\"\"\n", + " # We normalize the training data to have zero mean and unit standard\n", + " # deviation in the training set if necessary\n", + "\n", + "# if normalize:\n", + "# self.std_X_train = np.std(X_train, 0)\n", + "# self.std_X_train[ self.std_X_train == 0 ] = 1\n", + "# self.mean_X_train = np.mean(X_train, 0)\n", + "# else:\n", + "# self.std_X_train = np.ones(X_train.shape[ 1 ])\n", + "# self.mean_X_train = np.zeros(X_train.shape[ 1 ])\n", + "\n", + "# X_train = (X_train - np.full(X_train.shape, self.mean_X_train)) / \\\n", + "# np.full(X_train.shape, self.std_X_train)\n", + "\n", + "# self.mean_y_train = np.mean(y_train)\n", + "# self.std_y_train = np.std(y_train)\n", + "\n", + "# y_train_normalized = (y_train - self.mean_y_train) / self.std_y_train\n", + "# y_train_normalized = np.array(y_train_normalized, ndmin = 2).T\n", + " \n", + " # We construct the network\n", + " N = X_train.shape[0]\n", + " batch_size = 128\n", + " lengthscale = 1e-2\n", + " reg = lengthscale**2 * (1 - dropout) / (2. * N * tau)\n", + "\n", + " inputs = Input(shape=(X_train.shape[1],))\n", + " inter = Dropout(dropout)(inputs, training=True)\n", + " inter = Dense(n_hidden[0], activation='relu', kernel_regularizer=l2(reg))(inter)\n", + " for i in range(1, len(n_hidden) - 1):\n", + " inter = Dropout(dropout)(inter, training=True)\n", + " inter = Dense(n_hidden[i], activation='relu', kernel_regularizer=l2(reg))(inter)\n", + " inter = Dropout(dropout)(inter, training=True)\n", + " outputs = Dense(2, kernel_regularizer=l2(reg))(inter)\n", + " outputs = Softmax()(outputs)\n", + " model = Model(inputs, outputs)\n", + "\n", + " model.compile(loss='binary_crossentropy', optimizer='adam')\n", + "# print(model.summary())\n", + " # We iterate the learning process\n", + " start_time = time.time()\n", + " model.fit(X_train, y_train, batch_size=batch_size, epochs=n_epochs, verbose=0)\n", + " self.model = model\n", + " self.tau = tau\n", + " self.running_time = time.time() - start_time\n", + "\n", + " # We are done!\n", + "\n", + " def predict(self, X_test, y_test):\n", + "\n", + " \"\"\"\n", + " Function for making predictions with the Bayesian neural network.\n", + "\n", + " @param X_test The matrix of features for the test data\n", + " \n", + " \n", + " @return m The predictive mean for the test target variables.\n", + " @return v The predictive variance for the test target\n", + " variables.\n", + " @return v_noise The estimated variance for the additive noise.\n", + "\n", + " \"\"\"\n", + " X_test = np.array(X_test, ndmin = 2)\n", + " y_test = np.array(y_test, ndmin = 2).T\n", + "\n", + " # We normalize the test set\n", + "\n", + "# X_test = (X_test - np.full(X_test.shape, self.mean_X_train)) / \\\n", + "# np.full(X_test.shape, self.std_X_train)\n", + "\n", + " # We compute the predictive mean and variance for the target variables\n", + " # of the test data\n", + "\n", + " model = self.model\n", + " standard_pred_probs = model.predict(X_test, batch_size=500, verbose=1)\n", + " standard_pred = tf.math.argmax(standard_pred_probs, axis=1).numpy()\n", + " # standard_pred = standard_pred * self.std_y_train + self.mean_y_train\n", + " # rmse_standard_pred = np.mean((y_test.squeeze() - standard_pred.squeeze())**2.)**0.5\n", + " accuracy_standard_pred = np.mean((y_test.squeeze() == standard_pred.squeeze()))\n", + " print(f'Standard Accuracy: {accuracy_standard_pred}')\n", + "\n", + " # Number of stochastic forward passes which will then be averaged\n", + " # originally 10_000 in the paper's code. Set to 100 here for speed.\n", + " T = 100\n", + " \n", + " Yt_hat = np.array([model.predict(X_test, batch_size=64, verbose=0) for _ in range(T)])\n", + " # Yt_hat = Yt_hat * self.std_y_train + self.mean_y_train\n", + " MC_pred = tf.math.argmax(np.mean(Yt_hat, axis=0), axis=1).numpy()\n", + " # print(MC_pred.shape)\n", + " mc_accuracy = np.mean((y_test.squeeze() == MC_pred.squeeze()))\n", + " print(f'MC Accuracy: {mc_accuracy}')\n", + "\n", + " # We compute the test log-likelihood\n", + " # ll = (logsumexp(-0.5 * self.tau * (y_test[None] - Yt_hat)**2., 0) - np.log(T) \n", + " # - 0.5*np.log(2*np.pi) + 0.5*np.log(self.tau))\n", + " # test_ll = np.mean(ll)\n", + " # ll = np.sum(y_test[])\n", + " \n", + " # double check this!\n", + " y_test = y_test.astype(int)\n", + " y_test_2d = np.hstack((y_test, 1-y_test))\n", + " test_ll = -np.mean(np.log(standard_pred_probs) * y_test_2d)\n", + "\n", + " # We are done!\n", + " print(f'Test LL: {test_ll}')\n", + " return accuracy_standard_pred, mc_accuracy, test_ll\n" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "7a64b916", + "metadata": {}, + "outputs": [], + "source": [ + "# Copyright 2016, Yarin Gal, All rights reserved.\n", + "# This code is based on the code by Jose Miguel Hernandez-Lobato used for his \n", + "# paper \"Probabilistic Backpropagation for Scalable Learning of Bayesian Neural Networks\".\n", + "\n", + "# This file contains code to train dropout networks on the UCI datasets using the following algorithm:\n", + "# 1. Create 20 random splits of the training-test dataset.\n", + "# 2. For each split:\n", + "# 3. Create a validation (val) set taking 20% of the training set.\n", + "# 4. Get best hyperparameters: dropout_rate and tau by training on (train-val) set and testing on val set.\n", + "# 5. Train a network on the entire training set with the best pair of hyperparameters.\n", + "# 6. Get the performance (MC RMSE and log-likelihood) on the test set.\n", + "# 7. Report the averaged performance (Monte Carlo RMSE and log-likelihood) on all 20 splits.\n", + "\n", + "import math\n", + "import numpy as np\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "# We fix the random seed\n", + "\n", + "np.random.seed(1)\n", + "\n", + "def write_to_file(filename, txt, dropout_rate, tau):\n", + " with open(filename, \"a\") as myfile:\n", + " myfile.write('Dropout_Rate: ' + repr(dropout_rate) + ' Tau: ' + repr(tau) + ' :: ')\n", + " myfile.write(repr(txt) + '\\n')\n", + "\n", + " \n", + "def run_half_moons_experiment(X, y, hidden_layers, n_epochs, epoch_multiplier, dropout_rates, taus, normalize):\n", + " num_training_examples = int(0.8 * X.shape[0])\n", + " X_validation = X[num_training_examples:, :]\n", + " y_validation = y[num_training_examples:]\n", + " X_train = X[0:num_training_examples, :]\n", + " y_train = y[0:num_training_examples]\n", + " \n", + " # Printing the size of the training, validation and test sets\n", + " print('Number of training examples: ' + str(X_train.shape[0]))\n", + " print('Number of validation examples: ' + str(X_validation.shape[0]))\n", + " print('Number of test examples: ' + str(X_test.shape[0]))\n", + " print('Number of train_original examples: ' + str(X.shape[0]))\n", + " print(f'Dropout rates: {dropout_rates}')\n", + " print(f'Taus: {taus}')\n", + " \n", + " # We perform grid-search to select the best hyperparameters based on the highest log-likelihood value\n", + " best_network = None\n", + " best_ll = -float('inf')\n", + " best_tau = None\n", + " best_dropout = None\n", + " for dropout_rate in dropout_rates:\n", + " for tau in taus:\n", + " print ('Grid search step: Tau: ' + str(tau) + ' Dropout rate: ' + str(dropout_rate))\n", + " network = net(X_train, y_train, hidden_layers,\n", + " normalize = normalize,\n", + " n_epochs = int(n_epochs * epochs_multiplier),\n", + " tau = tau,\n", + " dropout = dropout_rate\n", + " )\n", + " print('DONE TRAINING')\n", + "\n", + " # We obtain the test accuracy and the test ll from the validation sets\n", + " accuracy, MC_accuracy, ll = network.predict(X_validation, y_validation)\n", + " print('DONE PREDICTING')\n", + " if (ll > best_ll):\n", + " best_ll = ll\n", + " best_network = network\n", + " best_tau = tau\n", + " best_dropout = dropout_rate\n", + " print ('Best log_likelihood changed to: ' + str(best_ll))\n", + " print ('Best tau changed to: ' + str(best_tau))\n", + " print ('Best dropout rate changed to: ' + str(best_dropout))\n", + " \n", + " # Storing validation results\n", + " write_to_file(_RESULTS_VALIDATION_ACC, accuracy, dropout_rate, tau)\n", + " write_to_file(_RESULTS_VALIDATION_MC_ACC, MC_accuracy, dropout_rate, tau)\n", + " write_to_file(_RESULTS_VALIDATION_LL, ll, dropout_rate, tau)\n", + " \n", + "\n", + " # Storing test results\n", + " best_network = net(X_train, y_train, hidden_layers,\n", + " normalize = True, n_epochs = int(n_epochs * epochs_multiplier), tau = best_tau,\n", + " dropout = best_dropout)\n", + " \n", + " return best_network" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "cd455da1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Removing existing result files...\n", + "Result files removed.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "rm: ./UCI_Datasets/half_moons/results/validation_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", + "rm: ./UCI_Datasets/half_moons/results/validation_MC_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", + "rm: ./UCI_Datasets/half_moons/results/test_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", + "rm: ./UCI_Datasets/half_moons/results/test_MC_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", + "rm: ./UCI_Datasets/half_moons/results/log_100_xepochs_2_hidden_layers.txt: No such file or directory\n" + ] + } + ], + "source": [ + "data_directory = 'half_moons'\n", + "\n", + "# We delete previous results\n", + "\n", + "from subprocess import call\n", + "\n", + "epochs_multiplier = 1\n", + "num_hidden_layers = 2\n", + "n_splits = 20\n", + "hidden_layers = [50] * num_hidden_layers\n", + "n_epochs = 50\n", + "epochs_multiplier = 100\n", + "dropout_rates = [0.005, 0.01, 0.05, 0.1]\n", + "taus = [0.25, 0.5, 0.75]\n", + "\n", + "_RESULTS_VALIDATION_LL = \"./UCI_Datasets/\" + data_directory + \"/results/validation_ll_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_VALIDATION_RMSE = \"./UCI_Datasets/\" + data_directory + \"/results/validation_rmse_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_VALIDATION_MC_RMSE = \"./UCI_Datasets/\" + data_directory + \"/results/validation_MC_rmse_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_VALIDATION_ACC = \"./UCI_Datasets/\" + data_directory + \"/results/validation_acc_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_VALIDATION_MC_ACC = \"./UCI_Datasets/\" + data_directory + \"/results/validation_MC_acc_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "\n", + "_RESULTS_TEST_LL = \"./UCI_Datasets/\" + data_directory + \"/results/test_ll_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_TEST_TAU = \"./UCI_Datasets/\" + data_directory + \"/results/test_tau_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_TEST_RMSE = \"./UCI_Datasets/\" + data_directory + \"/results/test_rmse_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_TEST_MC_RMSE = \"./UCI_Datasets/\" + data_directory + \"/results/test_MC_rmse_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_TEST_LOG = \"./UCI_Datasets/\" + data_directory + \"/results/log_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_TEST_ACC = \"./UCI_Datasets/\" + data_directory + \"/results/test_acc_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "_RESULTS_TEST_MC_ACC = \"./UCI_Datasets/\" + data_directory + \"/results/test_MC_acc_\" + str(epochs_multiplier) + \"_xepochs_\" + str(num_hidden_layers) + \"_hidden_layers.txt\"\n", + "\n", + "_DATA_DIRECTORY_PATH = \"./UCI_Datasets/\" + data_directory + \"/data/\"\n", + "_DROPOUT_RATES_FILE = _DATA_DIRECTORY_PATH + \"dropout_rates.txt\"\n", + "_TAU_VALUES_FILE = _DATA_DIRECTORY_PATH + \"tau_values.txt\"\n", + "_DATA_FILE = _DATA_DIRECTORY_PATH + \"data.txt\"\n", + "_HIDDEN_UNITS_FILE = _DATA_DIRECTORY_PATH + \"n_hidden.txt\"\n", + "_EPOCHS_FILE = _DATA_DIRECTORY_PATH + \"n_epochs.txt\"\n", + "_INDEX_FEATURES_FILE = _DATA_DIRECTORY_PATH + \"index_features.txt\"\n", + "_INDEX_TARGET_FILE = _DATA_DIRECTORY_PATH + \"index_target.txt\"\n", + "_N_SPLITS_FILE = _DATA_DIRECTORY_PATH + \"n_splits.txt\"\n", + "\n", + "print (\"Removing existing result files...\")\n", + "call([\"rm\", _RESULTS_VALIDATION_LL])\n", + "call([\"rm\", _RESULTS_VALIDATION_RMSE])\n", + "call([\"rm\", _RESULTS_VALIDATION_MC_RMSE])\n", + "call([\"rm\", _RESULTS_VALIDATION_ACC])\n", + "call([\"rm\", _RESULTS_VALIDATION_MC_ACC])\n", + "call([\"rm\", _RESULTS_TEST_LL])\n", + "call([\"rm\", _RESULTS_TEST_TAU])\n", + "call([\"rm\", _RESULTS_TEST_RMSE])\n", + "call([\"rm\", _RESULTS_TEST_MC_RMSE])\n", + "call([\"rm\", _RESULTS_TEST_ACC])\n", + "call([\"rm\", _RESULTS_TEST_MC_ACC])\n", + "call([\"rm\", _RESULTS_TEST_LOG])\n", + "print (\"Result files removed.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "6c3165e4", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1\n", + " 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 1\n", + " 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1\n", + " 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0\n", + " 1 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0\n", + " 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1\n", + " 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 1\n", + " 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0\n", + " 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1\n", + " 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1\n", + " 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0\n", + " 1 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0\n", + " 0 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0\n", + " 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1]\n", + "0.515\n", + "0.44\n", + "Number of training examples: 320\n", + "Number of validation examples: 80\n", + "Number of test examples: 100\n", + "Number of train_original examples: 400\n", + "Dropout rates: [0.005, 0.01, 0.05, 0.1]\n", + "Taus: [0.25, 0.5, 0.75]\n", + "Grid search step: Tau: 0.25 Dropout rate: 0.005\n", + "Model: \"model_489\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " input_490 (InputLayer) [(None, 2)] 0 \n", + " \n", + " dropout_1819 (Dropout) (None, 2) 0 \n", + " \n", + " dense_1819 (Dense) (None, 500) 1500 \n", + " \n", + " dropout_1820 (Dropout) (None, 500) 0 \n", + " \n", + " dense_1820 (Dense) (None, 2) 1002 \n", + " \n", + " softmax_489 (Softmax) (None, 2) 0 \n", + " \n", + "=================================================================\n", + "Total params: 2,502\n", + "Trainable params: 2,502\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n", + "None\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "KeyboardInterrupt\n", + "\n" + ] + } + ], + "source": [ + "from sklearn.datasets import make_moons\n", + "import matplotlib.pyplot as plt\n", + "\n", + "X, y = make_moons(500, noise=0.1)\n", + "plt.scatter(X[:, 0], X[:, 1], c=y)\n", + "plt.show()\n", + "\n", + "from sklearn.preprocessing import LabelEncoder\n", + "\n", + "# encode class values as integers\n", + "encoder = LabelEncoder()\n", + "encoder.fit(y)\n", + "encoded_Y = encoder.transform(y)\n", + "print(encoded_Y)\n", + "\n", + "accuracies, MC_accuracies, lls = [], [], []\n", + "for i in range(n_splits):\n", + " X_train, X_test, y_train, y_test = train_test_split(X, encoded_Y, train_size=0.8, random_state=100)\n", + " print(y_train.mean())\n", + " print(y_test.mean())\n", + " \n", + " # tune on train and validation sets, returning best trained neural network\n", + " best_network_trained = run_half_moons_experiment(X_train,\n", + " y_train,\n", + " hidden_layers,\n", + " n_epochs,\n", + " epochs_multiplier,\n", + " dropout_rates,\n", + " taus,\n", + " normalize=False\n", + " )\n", + " \n", + " # predict on held out test set\n", + " accuracy, MC_accuracy, ll = best_network_trained.predict(X_test, y_test)\n", + " \n", + " with open(_RESULTS_TEST_ACC, \"a\") as myfile:\n", + " myfile.write(repr(accuracy) + '\\n')\n", + "\n", + " with open(_RESULTS_TEST_MC_ACC, \"a\") as myfile:\n", + " myfile.write(repr(MC_accuracy) + '\\n')\n", + "\n", + " with open(_RESULTS_TEST_LL, \"a\") as myfile:\n", + " myfile.write(repr(ll) + '\\n')\n", + "\n", + " with open(_RESULTS_TEST_TAU, \"a\") as myfile:\n", + " myfile.write(repr(best_network_trained.tau) + '\\n')\n", + "\n", + " print (\"Tests on split \" + str(i) + \" complete.\")\n", + " \n", + " accuracies.append(accuracy)\n", + " MC_accuracies.append(MC_accuracy)\n", + " lls.append(ll)\n", + "\n", + "with open(_RESULTS_TEST_LOG, \"a\") as myfile:\n", + " myfile.write('accuracies %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \\n' % (\n", + " np.mean(accuracies), np.std(accuracies), np.std(accuracies)/math.sqrt(n_splits),\n", + " np.percentile(accuracies, 50), np.percentile(accuracies, 25), np.percentile(accuracies, 75)))\n", + " myfile.write('MC accuracies %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \\n' % (\n", + " np.mean(MC_accuracies), np.std(MC_accuracies), np.std(MC_accuracies)/math.sqrt(n_splits),\n", + " np.percentile(MC_accuracies, 50), np.percentile(MC_accuracies, 25), np.percentile(MC_accuracies, 75)))\n", + " myfile.write('lls %f +- %f (stddev) +- %f (std error), median %f 25p %f 75p %f \\n' % (\n", + " np.mean(lls), np.std(lls), np.std(lls)/math.sqrt(n_splits), \n", + " np.percentile(lls, 50), np.percentile(lls, 25), np.percentile(lls, 75)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fcff6bac", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d9fd2d9", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt index 391cc97..44572ea 100644 --- a/UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt +++ b/UCI_Datasets/half_moons/results/log_1_xepochs_2_hidden_layers.txt @@ -1,3 +1,3 @@ -accuracies 0.400000 +- 0.100000 (stddev) +- 0.022361 (std error), median 0.400000 25p 0.350000 75p 0.450000 -MC accuracies 0.350000 +- 0.150000 (stddev) +- 0.033541 (std error), median 0.350000 25p 0.275000 75p 0.425000 -lls -0.345416 +- 0.009996 (stddev) +- 0.002235 (std error), median -0.345416 25p -0.350415 75p -0.340418 +accuracies 0.501000 +- 0.067963 (stddev) +- 0.015197 (std error), median 0.485000 25p 0.460000 75p 0.537500 +MC accuracies 0.503500 +- 0.104989 (stddev) +- 0.023476 (std error), median 0.505000 25p 0.420000 75p 0.590000 +lls -0.346656 +- 0.000387 (stddev) +- 0.000087 (std error), median -0.346576 25p -0.346748 75p -0.346436 diff --git a/UCI_Datasets/half_moons/results/test_MC_acc_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_MC_acc_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..1985fe6 --- /dev/null +++ b/UCI_Datasets/half_moons/results/test_MC_acc_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,24 @@ +0.63 +0.57 +0.52 +0.5 +0.59 +0.48 +0.64 +0.72 +0.36 +0.49 +0.39 +0.39 +0.53 +0.64 +0.33 +0.52 +0.6 +0.59 +0.53 +0.45 +0.56 +0.47 +0.36 +0.43 diff --git a/UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt deleted file mode 100644 index 200e4fb..0000000 --- a/UCI_Datasets/half_moons/results/test_MC_rmse_1_xepochs_2_hidden_layers.txt +++ /dev/null @@ -1,2 +0,0 @@ -0.5 -0.2 diff --git a/UCI_Datasets/half_moons/results/test_acc_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_acc_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..14e0973 --- /dev/null +++ b/UCI_Datasets/half_moons/results/test_acc_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,24 @@ +0.44 +0.58 +0.55 +0.45 +0.52 +0.52 +0.61 +0.48 +0.33 +0.51 +0.46 +0.45 +0.45 +0.44 +0.46 +0.56 +0.6 +0.58 +0.46 +0.47 +0.62 +0.48 +0.49 +0.53 diff --git a/UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt index 4d951fc..5d133a0 100644 --- a/UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt +++ b/UCI_Datasets/half_moons/results/test_ll_1_xepochs_2_hidden_layers.txt @@ -1,2 +1,24 @@ --0.3354199230670929 --0.35541276931762694 +-0.3464298915863037 +-0.34659339129924777 +-0.34676177114248274 +-0.3456023409962654 +-0.34644147217273713 +-0.3464530447125435 +-0.3473271337151527 +-0.3460888424515724 +-0.34611385345458984 +-0.34660767555236816 +-0.3465374258160591 +-0.3462721824645996 +-0.3465443634986877 +-0.3463971373438835 +-0.34641920268535614 +-0.34674194097518923 +-0.34702659517526624 +-0.3473024022579193 +-0.3466244202852249 +-0.3466678449511528 +-0.3476290738582611 +-0.346765795648098 +-0.34650048732757566 +-0.3466621682047844 diff --git a/UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt deleted file mode 100644 index 63ed124..0000000 --- a/UCI_Datasets/half_moons/results/test_rmse_1_xepochs_2_hidden_layers.txt +++ /dev/null @@ -1,2 +0,0 @@ -0.3 -0.5 diff --git a/UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt index d324df6..79eec85 100644 --- a/UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt +++ b/UCI_Datasets/half_moons/results/test_tau_1_xepochs_2_hidden_layers.txt @@ -1,2 +1,21 @@ -250.0 -150.0 +0.75 +0.25 +0.25 +0.25 +0.25 +0.75 +0.5 +0.75 +0.75 +0.5 +0.5 +0.5 +0.25 +0.75 +0.75 +0.25 +0.75 +0.25 +0.25 +0.75 +0.5 diff --git a/UCI_Datasets/half_moons/results/validation_MC_acc_100_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_MC_acc_100_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..d7ef8d5 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_MC_acc_100_xepochs_2_hidden_layers.txt @@ -0,0 +1,3 @@ +Dropout_Rate: 0.005 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.4375 diff --git a/UCI_Datasets/half_moons/results/validation_MC_acc_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_MC_acc_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..ac03ad2 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_MC_acc_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,308 @@ +Dropout_Rate: 0 Tau: 1 :: 0.5875 +Dropout_Rate: 0 Tau: 25 :: 0.525 +Dropout_Rate: 0 Tau: 50 :: 0.6 +Dropout_Rate: 0 Tau: 100 :: 0.4 +Dropout_Rate: 0 Tau: 125 :: 0.4875 +Dropout_Rate: 0 Tau: 150 :: 0.575 +Dropout_Rate: 0 Tau: 250 :: 0.5125 +Dropout_Rate: 0.005 Tau: 1 :: 0.7125 +Dropout_Rate: 0.005 Tau: 25 :: 0.6 +Dropout_Rate: 0.005 Tau: 50 :: 0.4 +Dropout_Rate: 0.005 Tau: 100 :: 0.5875 +Dropout_Rate: 0.005 Tau: 125 :: 0.5375 +Dropout_Rate: 0.005 Tau: 150 :: 0.525 +Dropout_Rate: 0.005 Tau: 250 :: 0.5 +Dropout_Rate: 0.05 Tau: 1 :: 0.6125 +Dropout_Rate: 0.05 Tau: 25 :: 0.275 +Dropout_Rate: 0.05 Tau: 50 :: 0.475 +Dropout_Rate: 0.05 Tau: 100 :: 0.375 +Dropout_Rate: 0.05 Tau: 125 :: 0.55 +Dropout_Rate: 0.05 Tau: 150 :: 0.525 +Dropout_Rate: 0.05 Tau: 250 :: 0.5875 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.6375 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.6375 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.3875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.575 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.35 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.35 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.35 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.6375 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.6 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.3875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.625 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.3375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4125 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.625 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.7125 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.6375 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.3875 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5875 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.6 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5875 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.3625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.4375 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.55 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.6375 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.35 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.3 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5875 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.35 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.2875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.3 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.2875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.6125 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.675 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.25 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.3875 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.7 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.3 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4125 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.225 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.3625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.3875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.3625 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.675 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.35 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.3875 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.35 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4125 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.6375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.6375 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.45 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.6125 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.3875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.75 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.3375 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.6125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.4375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.6125 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4125 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.575 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.35 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.4125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.725 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.65 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.3375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5875 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.575 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.3625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.3625 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.55 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.65 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4125 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.775 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.325 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.6 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.4 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.3625 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.6 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4125 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.6 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.6125 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.65 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.575 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.35 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.575 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.625 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4375 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.65 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.65 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.7625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.6625 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.3875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.6625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.325 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.35 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.7125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.3875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4375 diff --git a/UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt deleted file mode 100644 index 093b678..0000000 --- a/UCI_Datasets/half_moons/results/validation_MC_rmse_1_xepochs_2_hidden_layers.txt +++ /dev/null @@ -1,24 +0,0 @@ -Dropout_Rate: 0.005 Tau: 150.0 :: 0.5555555555555556 -Dropout_Rate: 0.005 Tau: 200.0 :: 0.7222222222222222 -Dropout_Rate: 0.005 Tau: 250.0 :: 0.4444444444444444 -Dropout_Rate: 0.01 Tau: 150.0 :: 0.16666666666666666 -Dropout_Rate: 0.01 Tau: 200.0 :: 0.5 -Dropout_Rate: 0.01 Tau: 250.0 :: 0.3888888888888889 -Dropout_Rate: 0.05 Tau: 150.0 :: 0.7222222222222222 -Dropout_Rate: 0.05 Tau: 200.0 :: 0.2222222222222222 -Dropout_Rate: 0.05 Tau: 250.0 :: 0.2777777777777778 -Dropout_Rate: 0.1 Tau: 150.0 :: 0.6111111111111112 -Dropout_Rate: 0.1 Tau: 200.0 :: 0.6666666666666666 -Dropout_Rate: 0.1 Tau: 250.0 :: 0.3333333333333333 -Dropout_Rate: 0.005 Tau: 150.0 :: 0.8888888888888888 -Dropout_Rate: 0.005 Tau: 200.0 :: 0.4444444444444444 -Dropout_Rate: 0.005 Tau: 250.0 :: 0.5555555555555556 -Dropout_Rate: 0.01 Tau: 150.0 :: 0.8888888888888888 -Dropout_Rate: 0.01 Tau: 200.0 :: 0.4444444444444444 -Dropout_Rate: 0.01 Tau: 250.0 :: 0.4444444444444444 -Dropout_Rate: 0.05 Tau: 150.0 :: 0.8333333333333334 -Dropout_Rate: 0.05 Tau: 200.0 :: 0.5 -Dropout_Rate: 0.05 Tau: 250.0 :: 0.4444444444444444 -Dropout_Rate: 0.1 Tau: 150.0 :: 0.5 -Dropout_Rate: 0.1 Tau: 200.0 :: 0.3888888888888889 -Dropout_Rate: 0.1 Tau: 250.0 :: 0.6111111111111112 diff --git a/UCI_Datasets/half_moons/results/validation_acc_100_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_acc_100_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..d7ef8d5 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_acc_100_xepochs_2_hidden_layers.txt @@ -0,0 +1,3 @@ +Dropout_Rate: 0.005 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.4375 diff --git a/UCI_Datasets/half_moons/results/validation_acc_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_acc_1_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..d832763 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_acc_1_xepochs_2_hidden_layers.txt @@ -0,0 +1,308 @@ +Dropout_Rate: 0 Tau: 1 :: 0.5875 +Dropout_Rate: 0 Tau: 25 :: 0.525 +Dropout_Rate: 0 Tau: 50 :: 0.6 +Dropout_Rate: 0 Tau: 100 :: 0.4 +Dropout_Rate: 0 Tau: 125 :: 0.4875 +Dropout_Rate: 0 Tau: 150 :: 0.575 +Dropout_Rate: 0 Tau: 250 :: 0.5125 +Dropout_Rate: 0.005 Tau: 1 :: 0.725 +Dropout_Rate: 0.005 Tau: 25 :: 0.5125 +Dropout_Rate: 0.005 Tau: 50 :: 0.4375 +Dropout_Rate: 0.005 Tau: 100 :: 0.55 +Dropout_Rate: 0.005 Tau: 125 :: 0.625 +Dropout_Rate: 0.005 Tau: 150 :: 0.525 +Dropout_Rate: 0.005 Tau: 250 :: 0.475 +Dropout_Rate: 0.05 Tau: 1 :: 0.4875 +Dropout_Rate: 0.05 Tau: 25 :: 0.4 +Dropout_Rate: 0.05 Tau: 50 :: 0.5875 +Dropout_Rate: 0.05 Tau: 100 :: 0.4125 +Dropout_Rate: 0.05 Tau: 125 :: 0.4875 +Dropout_Rate: 0.05 Tau: 150 :: 0.4625 +Dropout_Rate: 0.05 Tau: 250 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.675 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.6625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5875 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.35 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.35 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.3875 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.3625 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.6375 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.35 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4125 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.375 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5375 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.675 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.6 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.375 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.3875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.375 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.7 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4375 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.3 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.575 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.55 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.575 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.2375 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.3875 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.3875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.3875 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.4375 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.4125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4125 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.575 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.575 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.6875 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4375 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5875 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.775 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5625 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.6875 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.3875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.575 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5625 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.4125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.3875 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.6 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.575 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4125 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.6125 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.4125 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.6125 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.625 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.575 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.45 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.475 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.65 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5125 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.425 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.3625 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5875 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5375 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.475 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.5875 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.5375 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.525 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.5375 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.5125 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5625 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.5 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.525 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4125 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.55 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.45 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.7 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.4875 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.6375 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.575 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.375 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.5125 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.3875 +Dropout_Rate: 0.005 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.01 Tau: 0.25 :: 0.5 +Dropout_Rate: 0.01 Tau: 0.5 :: 0.5625 +Dropout_Rate: 0.01 Tau: 0.75 :: 0.55 +Dropout_Rate: 0.05 Tau: 0.25 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.5 :: 0.4625 +Dropout_Rate: 0.05 Tau: 0.75 :: 0.4625 +Dropout_Rate: 0.1 Tau: 0.25 :: 0.45 +Dropout_Rate: 0.1 Tau: 0.5 :: 0.425 +Dropout_Rate: 0.1 Tau: 0.75 :: 0.4875 diff --git a/UCI_Datasets/half_moons/results/validation_ll_100_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_ll_100_xepochs_2_hidden_layers.txt new file mode 100644 index 0000000..387b387 --- /dev/null +++ b/UCI_Datasets/half_moons/results/validation_ll_100_xepochs_2_hidden_layers.txt @@ -0,0 +1,3 @@ +Dropout_Rate: 0.005 Tau: 0.25 :: 0.3465735912322998 +Dropout_Rate: 0.005 Tau: 0.5 :: 0.346571946144104 +Dropout_Rate: 0.005 Tau: 0.25 :: 0.3465733639895916 diff --git a/UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt index d59beb6..26f65f7 100644 --- a/UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt +++ b/UCI_Datasets/half_moons/results/validation_ll_1_xepochs_2_hidden_layers.txt @@ -1,24 +1,308 @@ -Dropout_Rate: 0.005 Tau: 150.0 :: -0.3478279577361213 -Dropout_Rate: 0.005 Tau: 200.0 :: -0.3479861699872547 -Dropout_Rate: 0.005 Tau: 250.0 :: -0.34439079960187274 -Dropout_Rate: 0.01 Tau: 150.0 :: -0.34680696659617954 -Dropout_Rate: 0.01 Tau: 200.0 :: -0.34987498157554203 -Dropout_Rate: 0.01 Tau: 250.0 :: -0.3472061935398314 -Dropout_Rate: 0.05 Tau: 150.0 :: -0.352764583296246 -Dropout_Rate: 0.05 Tau: 200.0 :: -0.3454495304160648 -Dropout_Rate: 0.05 Tau: 250.0 :: -0.34233977231714463 -Dropout_Rate: 0.1 Tau: 150.0 :: -0.3538612210088306 -Dropout_Rate: 0.1 Tau: 200.0 :: -0.35149616334173417 -Dropout_Rate: 0.1 Tau: 250.0 :: -0.33343183663156295 -Dropout_Rate: 0.005 Tau: 150.0 :: -0.35149478415648144 -Dropout_Rate: 0.005 Tau: 200.0 :: -0.3421296063396666 -Dropout_Rate: 0.005 Tau: 250.0 :: -0.3522784262895584 -Dropout_Rate: 0.01 Tau: 150.0 :: -0.34901999102698433 -Dropout_Rate: 0.01 Tau: 200.0 :: -0.34710174633396995 -Dropout_Rate: 0.01 Tau: 250.0 :: -0.34454383121596444 -Dropout_Rate: 0.05 Tau: 150.0 :: -0.35125664207670426 -Dropout_Rate: 0.05 Tau: 200.0 :: -0.34171050124698216 -Dropout_Rate: 0.05 Tau: 250.0 :: -0.34270887573560077 -Dropout_Rate: 0.1 Tau: 150.0 :: -0.3391147156556447 -Dropout_Rate: 0.1 Tau: 200.0 :: -0.35306252704726326 -Dropout_Rate: 0.1 Tau: 250.0 :: -0.35136018031173283 +Dropout_Rate: 0 Tau: 1 :: -0.3466836057603359 +Dropout_Rate: 0 Tau: 25 :: -0.346605121716857 +Dropout_Rate: 0 Tau: 50 :: -0.34658363871276376 +Dropout_Rate: 0 Tau: 100 :: -0.3465467721223831 +Dropout_Rate: 0 Tau: 125 :: -0.34647271521389483 +Dropout_Rate: 0 Tau: 150 :: -0.34661598578095437 +Dropout_Rate: 0 Tau: 250 :: -0.34653557240962984 +Dropout_Rate: 0.005 Tau: 1 :: -0.34717724472284317 +Dropout_Rate: 0.005 Tau: 25 :: -0.34672541357576847 +Dropout_Rate: 0.005 Tau: 50 :: -0.34628817699849607 +Dropout_Rate: 0.005 Tau: 100 :: -0.3473296403884888 +Dropout_Rate: 0.005 Tau: 125 :: -0.34714771024882796 +Dropout_Rate: 0.005 Tau: 150 :: -0.3463339384645224 +Dropout_Rate: 0.005 Tau: 250 :: -0.34685495011508466 +Dropout_Rate: 0.05 Tau: 1 :: -0.34665039703249934 +Dropout_Rate: 0.05 Tau: 25 :: -0.3462770849466324 +Dropout_Rate: 0.05 Tau: 50 :: -0.3467899922281504 +Dropout_Rate: 0.05 Tau: 100 :: -0.3464151293039322 +Dropout_Rate: 0.05 Tau: 125 :: -0.34650530107319355 +Dropout_Rate: 0.05 Tau: 150 :: -0.3463297415524721 +Dropout_Rate: 0.05 Tau: 250 :: -0.34680024683475497 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34699486047029493 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3463199879974127 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34690054357051847 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.346193103864789 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3464956134557724 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3467700034379959 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34692928194999695 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3458757184445858 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3462131340056658 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3472572948783636 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3467133704572916 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3465996216982603 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34642413035035136 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34615080431103706 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3467773586511612 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3467583481222391 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3460072297602892 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3470633927732706 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34665543846786023 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34611622989177704 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34671687744557855 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3461932383477688 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.347238477319479 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.346513881161809 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3461102910339832 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34617616720497607 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3467296525835991 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.346453608199954 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34645775593817235 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3464324861764908 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34641936905682086 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3463302865624428 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34694451093673706 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3465205654501915 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34582316167652605 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3469465795904398 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.346104783564806 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3469864074140787 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34581903368234634 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34623598158359525 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3471024978905916 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3468089412897825 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34696037583053113 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3465699031949043 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3460914984345436 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34702632687985896 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3457239862531424 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3464178916066885 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3464764501899481 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.346565131098032 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3468821968883276 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3467242386192083 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34727925918996333 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3469079375267029 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3468026205897331 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34659505598247053 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3464108228683472 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3467845108360052 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3466466303914785 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3458918254822493 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34664883874356744 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34662418700754644 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3465169046074152 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34649418070912363 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34595331698656084 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3467000737786293 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34610548950731757 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34711107350885867 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3469919640570879 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3469326075166464 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3469910632818937 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34618609510362147 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3463544636964798 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3466890797019005 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34655297100543975 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3465709798038006 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3465559482574463 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.346388516202569 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34734711684286596 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3462859369814396 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34707540161907674 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34665617607533933 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3465985286980867 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3460391853004694 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34656115509569646 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3469294313341379 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34646120145916937 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3467305120080709 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3470541924238205 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.345957126095891 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34694809168577195 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3463377468287945 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3457860566675663 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34627183750271795 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34634662941098215 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3466090589761734 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3465397901833057 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3464791029691696 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34642426706850526 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3462828084826469 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34616789035499096 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3465654544532299 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3467980854213238 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3467655897140503 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3471120990812778 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34685371071100235 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3466965574771166 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34712737128138543 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3454545486718416 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34665803201496603 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3456067755818367 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3463506203144789 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34641386941075325 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3466039802879095 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34660629406571386 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34578905552625655 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34663726277649404 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3467108953744173 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34634965285658836 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34641935788094996 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34651664905250074 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34623385630548 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3465264491736889 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3465410638600588 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3466545145958662 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34651716724038123 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3471034325659275 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3461551729589701 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34626157097518445 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34630154743790625 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3466997124254704 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34661211892962457 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34678608514368536 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34615298360586166 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3463785041123629 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3466461103409529 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3467607721686363 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3471034713089466 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3463727418333292 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3464520011097193 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34681324288249016 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3470913216471672 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3467838019132614 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34663039110600946 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.346434934809804 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3467945884913206 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.346267818659544 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34645369462668896 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34658289328217506 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34647830985486505 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34623763859272005 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3468649756163359 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34671794474124906 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34664780646562576 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3464776571840048 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3466873299330473 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3465245392173529 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34692115150392056 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3468290250748396 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34686060026288035 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3466766491532326 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3461505424231291 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3460772879421711 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34620724357664584 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34646394550800325 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3468620330095291 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3466245044022799 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3470295317471027 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34638204611837864 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3468045022338629 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3464427195489407 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3464981704950333 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3463736534118652 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34657030142843726 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.346526300907135 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34703086614608764 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34713640324771405 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3462482884526253 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3464803613722324 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34631955772638323 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3468379482626915 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.347236206009984 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34673136584460734 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.346717880666256 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3463709570467472 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3462802428752184 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34648931585252285 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34663389101624487 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34606084525585173 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34622066356241704 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34644843377172946 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3462905392050743 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34683530405163765 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3465385515242815 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34662299379706385 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3464580923318863 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34577418118715286 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34679550789296626 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3461578439921141 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3463717639446259 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3468873679637909 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34612959884107114 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34653776288032534 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3467176154255867 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3467625372111797 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34702627807855607 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3467619515955448 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34663346633315084 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3462414491921663 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3467740651220083 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34671177305281164 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3466541189700365 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3464986845850945 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.346916738525033 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.345203161239624 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34669242016971114 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34698508903384206 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34653791710734366 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3465434968471527 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34646271243691446 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3461048223078251 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34625414833426477 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3465048748999834 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34599420577287676 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34599030390381813 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3467887230217457 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34673017300665376 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34630779139697554 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3464944824576378 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.34660492949187754 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34733968526124953 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3467565529048443 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34658047184348106 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34695841148495676 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3467958550900221 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3465621072798967 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3464288357645273 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.346516503021121 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34609606564044954 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3466106869280338 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.3464171174913645 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3464305207133293 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3465668585151434 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34629966244101523 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.34643234945833684 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3466232355684042 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34709969274699687 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.3466952074319124 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34619239494204523 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3462679602205753 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34680564850568774 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3466111931949854 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34648084230721 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3463556457310915 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.346172408759594 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34641889072954657 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3463332485407591 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34600970074534415 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34639174304902554 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34709956869482994 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3472308967262506 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.34687735326588154 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34633342288434504 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.34670224562287333 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34656532295048237 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3472887210547924 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.34672834649682044 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.34686562344431876 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3472907543182373 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.3463377974927425 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.3467037495225668 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34680660627782345 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.34663738310337067 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3465137243270874 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.34622916355729105 +Dropout_Rate: 0.005 Tau: 0.25 :: -0.3463946424424648 +Dropout_Rate: 0.005 Tau: 0.5 :: -0.34642546325922013 +Dropout_Rate: 0.005 Tau: 0.75 :: -0.3466039888560772 +Dropout_Rate: 0.01 Tau: 0.25 :: -0.3466950587928295 +Dropout_Rate: 0.01 Tau: 0.5 :: -0.3465811923146248 +Dropout_Rate: 0.01 Tau: 0.75 :: -0.3469836264848709 +Dropout_Rate: 0.05 Tau: 0.25 :: -0.34639448039233683 +Dropout_Rate: 0.05 Tau: 0.5 :: -0.34667249731719496 +Dropout_Rate: 0.05 Tau: 0.75 :: -0.34644710160791875 +Dropout_Rate: 0.1 Tau: 0.25 :: -0.3467780970036983 +Dropout_Rate: 0.1 Tau: 0.5 :: -0.3459491074085236 +Dropout_Rate: 0.1 Tau: 0.75 :: -0.3463404431939125 diff --git a/UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt b/UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt deleted file mode 100644 index 3a8fba6..0000000 --- a/UCI_Datasets/half_moons/results/validation_rmse_1_xepochs_2_hidden_layers.txt +++ /dev/null @@ -1,24 +0,0 @@ -Dropout_Rate: 0.005 Tau: 150.0 :: 0.6111111111111112 -Dropout_Rate: 0.005 Tau: 200.0 :: 0.6666666666666666 -Dropout_Rate: 0.005 Tau: 250.0 :: 0.5555555555555556 -Dropout_Rate: 0.01 Tau: 150.0 :: 0.2777777777777778 -Dropout_Rate: 0.01 Tau: 200.0 :: 0.3888888888888889 -Dropout_Rate: 0.01 Tau: 250.0 :: 0.4444444444444444 -Dropout_Rate: 0.05 Tau: 150.0 :: 0.5555555555555556 -Dropout_Rate: 0.05 Tau: 200.0 :: 0.3888888888888889 -Dropout_Rate: 0.05 Tau: 250.0 :: 0.4444444444444444 -Dropout_Rate: 0.1 Tau: 150.0 :: 0.6666666666666666 -Dropout_Rate: 0.1 Tau: 200.0 :: 0.6111111111111112 -Dropout_Rate: 0.1 Tau: 250.0 :: 0.2222222222222222 -Dropout_Rate: 0.005 Tau: 150.0 :: 0.7777777777777778 -Dropout_Rate: 0.005 Tau: 200.0 :: 0.3333333333333333 -Dropout_Rate: 0.005 Tau: 250.0 :: 0.5 -Dropout_Rate: 0.01 Tau: 150.0 :: 0.7222222222222222 -Dropout_Rate: 0.01 Tau: 200.0 :: 0.4444444444444444 -Dropout_Rate: 0.01 Tau: 250.0 :: 0.4444444444444444 -Dropout_Rate: 0.05 Tau: 150.0 :: 0.6666666666666666 -Dropout_Rate: 0.05 Tau: 200.0 :: 0.3888888888888889 -Dropout_Rate: 0.05 Tau: 250.0 :: 0.3333333333333333 -Dropout_Rate: 0.1 Tau: 150.0 :: 0.3888888888888889 -Dropout_Rate: 0.1 Tau: 200.0 :: 0.5555555555555556 -Dropout_Rate: 0.1 Tau: 250.0 :: 0.5 From 207bf18379564f13763b06202e4d52fb29f10454 Mon Sep 17 00:00:00 2001 From: Harrison Termotto Date: Sat, 26 Feb 2022 14:22:18 -0500 Subject: [PATCH 13/13] clear notebook output --- KerasMCDropoutInteractive.ipynb | 117 ++++---------------------------- 1 file changed, 12 insertions(+), 105 deletions(-) diff --git a/KerasMCDropoutInteractive.ipynb b/KerasMCDropoutInteractive.ipynb index 2aef2b0..af6bb01 100644 --- a/KerasMCDropoutInteractive.ipynb +++ b/KerasMCDropoutInteractive.ipynb @@ -2,8 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 52, - "id": "e5b9145e", + "execution_count": null, + "id": "68adf7d2", "metadata": {}, "outputs": [], "source": [ @@ -165,8 +165,8 @@ }, { "cell_type": "code", - "execution_count": 53, - "id": "7a64b916", + "execution_count": null, + "id": "ed3c7981", "metadata": {}, "outputs": [], "source": [ @@ -256,30 +256,10 @@ }, { "cell_type": "code", - "execution_count": 56, - "id": "cd455da1", + "execution_count": null, + "id": "22b35607", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing existing result files...\n", - "Result files removed.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "rm: ./UCI_Datasets/half_moons/results/validation_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", - "rm: ./UCI_Datasets/half_moons/results/validation_MC_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", - "rm: ./UCI_Datasets/half_moons/results/test_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", - "rm: ./UCI_Datasets/half_moons/results/test_MC_rmse_100_xepochs_2_hidden_layers.txt: No such file or directory\n", - "rm: ./UCI_Datasets/half_moons/results/log_100_xepochs_2_hidden_layers.txt: No such file or directory\n" - ] - } - ], + "outputs": [], "source": [ "data_directory = 'half_moons'\n", "\n", @@ -338,85 +318,12 @@ }, { "cell_type": "code", - "execution_count": 60, - "id": "6c3165e4", + "execution_count": null, + "id": "ab60b8ce", "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1\n", - " 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 1\n", - " 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1\n", - " 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0\n", - " 1 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0\n", - " 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1\n", - " 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 1\n", - " 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0\n", - " 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1\n", - " 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1\n", - " 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0\n", - " 1 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0\n", - " 0 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0\n", - " 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1]\n", - "0.515\n", - "0.44\n", - "Number of training examples: 320\n", - "Number of validation examples: 80\n", - "Number of test examples: 100\n", - "Number of train_original examples: 400\n", - "Dropout rates: [0.005, 0.01, 0.05, 0.1]\n", - "Taus: [0.25, 0.5, 0.75]\n", - "Grid search step: Tau: 0.25 Dropout rate: 0.005\n", - "Model: \"model_489\"\n", - "_________________________________________________________________\n", - " Layer (type) Output Shape Param # \n", - "=================================================================\n", - " input_490 (InputLayer) [(None, 2)] 0 \n", - " \n", - " dropout_1819 (Dropout) (None, 2) 0 \n", - " \n", - " dense_1819 (Dense) (None, 500) 1500 \n", - " \n", - " dropout_1820 (Dropout) (None, 500) 0 \n", - " \n", - " dense_1820 (Dense) (None, 2) 1002 \n", - " \n", - " softmax_489 (Softmax) (None, 2) 0 \n", - " \n", - "=================================================================\n", - "Total params: 2,502\n", - "Trainable params: 2,502\n", - "Non-trainable params: 0\n", - "_________________________________________________________________\n", - "None\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "KeyboardInterrupt\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "from sklearn.datasets import make_moons\n", "import matplotlib.pyplot as plt\n", @@ -486,7 +393,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fcff6bac", + "id": "5994e778", "metadata": {}, "outputs": [], "source": [] @@ -494,7 +401,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3d9fd2d9", + "id": "682074ef", "metadata": {}, "outputs": [], "source": []