diff --git a/__pycache__/run.cpython-37.pyc b/__pycache__/run.cpython-37.pyc
index b38cf0e..7194580 100644
Binary files a/__pycache__/run.cpython-37.pyc and b/__pycache__/run.cpython-37.pyc differ
diff --git a/cachedir/joblib/run/randomSearch/02358b134734520a2f9f2e6a6700b6b2/metadata.json b/cachedir/joblib/run/randomSearch/02358b134734520a2f9f2e6a6700b6b2/metadata.json
new file mode 100644
index 0000000..8b11aa6
--- /dev/null
+++ b/cachedir/joblib/run/randomSearch/02358b134734520a2f9f2e6a6700b6b2/metadata.json
@@ -0,0 +1 @@
+{"duration": 60.5380380153656, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "LogisticRegression(C=82, max_iter=300, penalty='none', random_state=42,\n solver='newton-cg')", "params": "{'C': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'max_iter': [50, 100, 150, 200, 250, 300, 350, 400, 450], 'solver': ['lbfgs', 'newton-cg', 'sag', 'saga'], 'penalty': ['l2', 'none']}", "eachAlgor": "'LR'", "AlgorithmsIDsEnd": "100"}}
\ No newline at end of file
diff --git a/cachedir/joblib/run/randomSearch/f19c35077031eadb3ad003833af1cb49/metadata.json b/cachedir/joblib/run/randomSearch/0fd67e8b2d136edf1b48240f5b9a01be/metadata.json
similarity index 63%
rename from cachedir/joblib/run/randomSearch/f19c35077031eadb3ad003833af1cb49/metadata.json
rename to cachedir/joblib/run/randomSearch/0fd67e8b2d136edf1b48240f5b9a01be/metadata.json
index b6bba45..b3515e6 100644
--- a/cachedir/joblib/run/randomSearch/f19c35077031eadb3ad003833af1cb49/metadata.json
+++ b/cachedir/joblib/run/randomSearch/0fd67e8b2d136edf1b48240f5b9a01be/metadata.json
@@ -1 +1 @@
-{"duration": 140.90401196479797, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "MLPClassifier(activation='identity', alpha=0.0008100000000000001,\n hidden_layer_sizes=(98, 2), max_iter=100, random_state=42,\n solver='sgd', tol=0.0008100000000000001)", "params": "{'hidden_layer_sizes': [(60, 3), (61, 1), (62, 1), (63, 3), (64, 2), (65, 1), (66, 1), (67, 1), (68, 3), (69, 1), (70, 3), (71, 3), (72, 3), (73, 1), (74, 3), (75, 2), (76, 1), (77, 1), (78, 1), (79, 1), (80, 1), (81, 3), (82, 3), (83, 1), (84, 3), (85, 1), (86, 3), (87, 3), (88, 3), (89, 3), (90, 2), (91, 1), (92, 2), (93, 3), (94, 2), (95, 1), (96, 1), (97, 3), (98, 2), (99, 2), (100, 2), (101, 1), (102, 1), (103, 2), (104, 1), (105, 1), (106, 2), (107, 1), (108, 2), (109, 2), (110, 3), (111, 2), (112, 1), (113, 3), (114, 2), (115, 3), (116, 1), (117, 2), (118, 1), (119, 3)], 'alpha': [1e-05, 0.00021, 0.00041000000000000005, 0.0006100000000000001, 0.0008100000000000001], 'tol': [1e-05, 0.00041000000000000005, 0.0008100000000000001], 'max_iter': [100], 'activation': ['relu', 'identity', 'logistic', 'tanh'], 'solver': ['adam', 'sgd']}", "eachAlgor": "'MLP'", "AlgorithmsIDsEnd": "200"}}
\ No newline at end of file
+{"duration": 187.45918798446655, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "MLPClassifier(activation='tanh', alpha=1e-05, hidden_layer_sizes=(94, 2),\n max_iter=100, random_state=42, tol=0.0008100000000000001)", "params": "{'hidden_layer_sizes': [(60, 3), (61, 1), (62, 1), (63, 3), (64, 2), (65, 1), (66, 1), (67, 1), (68, 3), (69, 1), (70, 3), (71, 3), (72, 3), (73, 1), (74, 3), (75, 2), (76, 1), (77, 1), (78, 1), (79, 1), (80, 1), (81, 3), (82, 3), (83, 1), (84, 3), (85, 1), (86, 3), (87, 3), (88, 3), (89, 3), (90, 2), (91, 1), (92, 2), (93, 3), (94, 2), (95, 1), (96, 1), (97, 3), (98, 2), (99, 2), (100, 2), (101, 1), (102, 1), (103, 2), (104, 1), (105, 1), (106, 2), (107, 1), (108, 2), (109, 2), (110, 3), (111, 2), (112, 1), (113, 3), (114, 2), (115, 3), (116, 1), (117, 2), (118, 1), (119, 3)], 'alpha': [1e-05, 0.00021, 0.00041000000000000005, 0.0006100000000000001, 0.0008100000000000001], 'tol': [1e-05, 0.00041000000000000005, 0.0008100000000000001], 'max_iter': [100], 'activation': ['relu', 'identity', 'logistic', 'tanh'], 'solver': ['adam', 'sgd']}", "eachAlgor": "'MLP'", "AlgorithmsIDsEnd": "200"}}
\ No newline at end of file
diff --git a/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl b/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl
index 4e8bc71..26cb102 100644
Binary files a/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl and b/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl differ
diff --git a/cachedir/joblib/run/randomSearch/40507c65ce68390237e1932f4fdedf5b/metadata.json b/cachedir/joblib/run/randomSearch/45f1c3542a49390ff9a4ef7017811b01/metadata.json
similarity index 75%
rename from cachedir/joblib/run/randomSearch/40507c65ce68390237e1932f4fdedf5b/metadata.json
rename to cachedir/joblib/run/randomSearch/45f1c3542a49390ff9a4ef7017811b01/metadata.json
index f9aa529..8ff22fe 100644
--- a/cachedir/joblib/run/randomSearch/40507c65ce68390237e1932f4fdedf5b/metadata.json
+++ b/cachedir/joblib/run/randomSearch/45f1c3542a49390ff9a4ef7017811b01/metadata.json
@@ -1 +1 @@
-{"duration": 150.79905891418457, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "GradientBoostingClassifier(criterion='mse', learning_rate=0.01, n_estimators=89,\n random_state=42)", "params": "{'n_estimators': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'learning_rate': [0.01, 0.12], 'criterion': ['friedman_mse', 'mse', 'mae']}", "eachAlgor": "'GradB'", "AlgorithmsIDsEnd": "400"}}
\ No newline at end of file
+{"duration": 166.53135991096497, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "GradientBoostingClassifier(learning_rate=0.01, n_estimators=70, random_state=42)", "params": "{'n_estimators': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'learning_rate': [0.01, 0.12], 'criterion': ['friedman_mse', 'mse', 'mae']}", "eachAlgor": "'GradB'", "AlgorithmsIDsEnd": "400"}}
\ No newline at end of file
diff --git a/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl b/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl
index 7902219..610a712 100644
Binary files a/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl and b/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl differ
diff --git a/cachedir/joblib/run/randomSearch/4d139f4fa0148dfbbd33e88c44d1076c/metadata.json b/cachedir/joblib/run/randomSearch/80458ad60b9e9e8bf5a0a61326cda85d/metadata.json
similarity index 72%
rename from cachedir/joblib/run/randomSearch/4d139f4fa0148dfbbd33e88c44d1076c/metadata.json
rename to cachedir/joblib/run/randomSearch/80458ad60b9e9e8bf5a0a61326cda85d/metadata.json
index 39725b8..db4a928 100644
--- a/cachedir/joblib/run/randomSearch/4d139f4fa0148dfbbd33e88c44d1076c/metadata.json
+++ b/cachedir/joblib/run/randomSearch/80458ad60b9e9e8bf5a0a61326cda85d/metadata.json
@@ -1 +1 @@
-{"duration": 15.544848203659058, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "KNeighborsClassifier(algorithm='brute', metric='euclidean', n_neighbors=14,\n weights='distance')", "params": "{'n_neighbors': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}", "eachAlgor": "'KNN'", "AlgorithmsIDsEnd": "0"}}
\ No newline at end of file
+{"duration": 21.348681926727295, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "KNeighborsClassifier(algorithm='kd_tree', n_neighbors=77)", "params": "{'n_neighbors': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}", "eachAlgor": "'KNN'", "AlgorithmsIDsEnd": "500"}}
\ No newline at end of file
diff --git a/cachedir/joblib/run/randomSearch/9048f73c37aedd04922355de19ec1bde/metadata.json b/cachedir/joblib/run/randomSearch/9048f73c37aedd04922355de19ec1bde/metadata.json
deleted file mode 100644
index a201a5e..0000000
--- a/cachedir/joblib/run/randomSearch/9048f73c37aedd04922355de19ec1bde/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"duration": 46.68945908546448, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "LogisticRegression(C=62, max_iter=400, random_state=42, solver='sag')", "params": "{'C': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'max_iter': [50, 100, 150, 200, 250, 300, 350, 400, 450], 'solver': ['lbfgs', 'newton-cg', 'sag', 'saga'], 'penalty': ['l2', 'none']}", "eachAlgor": "'LR'", "AlgorithmsIDsEnd": "100"}}
\ No newline at end of file
diff --git a/cachedir/joblib/run/randomSearch/ad5ab98d963e85601767dd199e2b41b3/metadata.json b/cachedir/joblib/run/randomSearch/a2aa0c0018aabe2a6a5237dcbb542f1d/metadata.json
similarity index 92%
rename from cachedir/joblib/run/randomSearch/ad5ab98d963e85601767dd199e2b41b3/metadata.json
rename to cachedir/joblib/run/randomSearch/a2aa0c0018aabe2a6a5237dcbb542f1d/metadata.json
index bcbb3e5..185e24c 100644
--- a/cachedir/joblib/run/randomSearch/ad5ab98d963e85601767dd199e2b41b3/metadata.json
+++ b/cachedir/joblib/run/randomSearch/a2aa0c0018aabe2a6a5237dcbb542f1d/metadata.json
@@ -1 +1 @@
-{"duration": 126.85907101631165, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "RandomForestClassifier(criterion='entropy', n_estimators=66, random_state=42)", "params": "{'n_estimators': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'criterion': ['gini', 'entropy']}", "eachAlgor": "'RF'", "AlgorithmsIDsEnd": "300"}}
\ No newline at end of file
+{"duration": 144.77490973472595, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "RandomForestClassifier(criterion='entropy', n_estimators=56, random_state=42)", "params": "{'n_estimators': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'criterion': ['gini', 'entropy']}", "eachAlgor": "'RF'", "AlgorithmsIDsEnd": "300"}}
\ No newline at end of file
diff --git a/cachedir/joblib/run/randomSearch/b2eaebae0c8bac1326b354c9349fb8fc/output.pkl b/cachedir/joblib/run/randomSearch/b2eaebae0c8bac1326b354c9349fb8fc/output.pkl
index 250e4fd..4fd0293 100644
Binary files a/cachedir/joblib/run/randomSearch/b2eaebae0c8bac1326b354c9349fb8fc/output.pkl and b/cachedir/joblib/run/randomSearch/b2eaebae0c8bac1326b354c9349fb8fc/output.pkl differ
diff --git a/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl b/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl
index b9f8fd5..19246c5 100644
Binary files a/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl and b/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl differ
diff --git a/cachedir/joblib/run/randomSearch/c140450f90e8f2220dc694fcbea916e8/output.pkl b/cachedir/joblib/run/randomSearch/c140450f90e8f2220dc694fcbea916e8/output.pkl
new file mode 100644
index 0000000..a4ed893
Binary files /dev/null and b/cachedir/joblib/run/randomSearch/c140450f90e8f2220dc694fcbea916e8/output.pkl differ
diff --git a/cachedir/joblib/run/randomSearch/ec7b79af178a4597718aa6998e3ffb77/metadata.json b/cachedir/joblib/run/randomSearch/ec7b79af178a4597718aa6998e3ffb77/metadata.json
new file mode 100644
index 0000000..214dd61
--- /dev/null
+++ b/cachedir/joblib/run/randomSearch/ec7b79af178a4597718aa6998e3ffb77/metadata.json
@@ -0,0 +1 @@
+{"duration": 20.462234020233154, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]", "clf": "KNeighborsClassifier(algorithm='kd_tree', metric='euclidean', n_neighbors=57,\n weights='distance')", "params": "{'n_neighbors': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}", "eachAlgor": "'KNN'", "AlgorithmsIDsEnd": "0"}}
\ No newline at end of file
diff --git a/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl b/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl
index 6d89129..990eaf7 100644
Binary files a/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl and b/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl differ
diff --git a/cachedir/joblib/run/randomSearch/func_code.py b/cachedir/joblib/run/randomSearch/func_code.py
index cd147b1..730a383 100644
--- a/cachedir/joblib/run/randomSearch/func_code.py
+++ b/cachedir/joblib/run/randomSearch/func_code.py
@@ -1,4 +1,4 @@
-# first line: 581
+# first line: 595
@memory.cache
def randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd):
diff --git a/frontend/src/components/ActiveScatter.vue b/frontend/src/components/ActiveScatter.vue
deleted file mode 100644
index e69de29..0000000
diff --git a/frontend/src/components/AlgorithmHyperParam.vue b/frontend/src/components/AlgorithmHyperParam.vue
deleted file mode 100644
index f577a96..0000000
--- a/frontend/src/components/AlgorithmHyperParam.vue
+++ /dev/null
@@ -1,351 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/src/components/Algorithms.vue b/frontend/src/components/Algorithms.vue
deleted file mode 100644
index 3759f75..0000000
--- a/frontend/src/components/Algorithms.vue
+++ /dev/null
@@ -1,1113 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/src/components/Ensemble.vue b/frontend/src/components/Ensemble.vue
index 49b7ed4..fdd7dab 100644
--- a/frontend/src/components/Ensemble.vue
+++ b/frontend/src/components/Ensemble.vue
@@ -8,8 +8,8 @@
Actions:
@@ -43,7 +43,8 @@ export default {
ScatterPlotResults: '',
representationDef: 'mdsCM',
storeEnsembleLoc: [],
- valueActive: 'Compute performance for active ensemble'
+ valueActive: 'Compute performance for active ensemble',
+ pushModelsTempCMSame: [],
}
},
methods: {
@@ -76,7 +77,7 @@ export default {
var MDSData= JSON.parse(this.ScatterPlotResults[9])
var TSNEData = JSON.parse(this.ScatterPlotResults[10])
var UMAPData = JSON.parse(this.ScatterPlotResults[11])
-
+ console.log(modelId)
var mergedStoreEnsembleLoc = [].concat.apply([], this.storeEnsembleLoc)
var mergedStoreEnsembleLocFormatted = []
for (let i = 0; i < mergedStoreEnsembleLoc.length; i++) {
@@ -99,15 +100,25 @@ export default {
this.clean(parameters[i])
stringParameters.push(JSON.stringify(parameters[i]).replace(/,/gi, '
'))
}
- // fix that!
+
var classifiersInfoProcessing = []
for (let i = 0; i < modelId.length; i++) {
- if (i < 100) {
+ let tempSplit = modelId[i].split(/([0-9]+)/)
+ if (tempSplit[0] == 'KNN') {
classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: k-nearest neighbor' + '
Parameters: ' + stringParameters[i]
}
- else {
+ else if (tempSplit[0] == 'LR') {
classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: logistic regression' + '
Parameters: ' + stringParameters[i]
}
+ else if (tempSplit[0] == 'MLP') {
+ classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: multilayer perceptron' + '
Parameters: ' + stringParameters[i]
+ }
+ else if (tempSplit[0] == 'RF') {
+ classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: random forest' + '
Parameters: ' + stringParameters[i]
+ }
+ else {
+ classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: gradient boosting' + '
Parameters: ' + stringParameters[i]
+ }
}
var DataGeneral, maxX, minX, maxY, minY, layout
@@ -133,7 +144,7 @@ export default {
marker: {
line: { color: 'rgb(0, 0, 0)', width: 3 },
color: colorsforScatterPlot,
- size: 12,
+ size: 16,
colorscale: 'Viridis',
colorbar: {
title: '# Performance (%) #',
@@ -197,7 +208,7 @@ export default {
marker: {
line: { color: 'rgb(0, 0, 0)', width: 3 },
color: colorsforScatterPlot,
- size: 12,
+ size: 16,
colorscale: 'Viridis',
colorbar: {
title: '# Performance (%) #',
@@ -249,7 +260,7 @@ export default {
marker: {
line: { color: 'rgb(0, 0, 0)', width: 3 },
color: colorsforScatterPlot,
- size: 12,
+ size: 16,
colorscale: 'Viridis',
colorbar: {
title: '# Performance (%) #',
@@ -319,11 +330,17 @@ export default {
}
})
},
+ RemoveEnsemble () {
+ EventBus.$emit('RemoveFromEnsemble', this.pushModelsTempCMSame)
+ },
sendUpdateActiveScatter () {
EventBus.$emit('sendToServerSelectedScatter')
}
},
mounted() {
+
+ EventBus.$on('SendSelectedPointsUpdateIndicatorCM', data => { this.pushModelsTempCMSame = data })
+
EventBus.$on('SendStoredEnsemble', data => { this.storeEnsembleLoc = data })
EventBus.$on('emittedEventCallingCrossoverMutation', data => {
diff --git a/frontend/src/components/History.vue b/frontend/src/components/History.vue
index c3027a9..0011d52 100644
--- a/frontend/src/components/History.vue
+++ b/frontend/src/components/History.vue
@@ -18,7 +18,10 @@ export default {
data () {
return {
WH: [],
- RandomSearLoc : 100
+ RandomSearLoc : 100,
+ step: 2,
+ values: [0,0,0,0,0,0,50,50,50,50,50,0,50,50,50,50,50,0],
+ loop: 0
}
},
methods: {
@@ -27,13 +30,16 @@ export default {
svg.selectAll("*").remove();
},
SankeyView () {
+ var valuesLoc = this.values
+ var localStep = this.step
+ var numberofModels = 6
var units = "Models";
var initialModels = this.RandomSearLoc * 5
var months = [{month:"RandSear",value:initialModels,loss:null},
{month:"Crossover",value:250,loss:null},
{month:"Mutate",value:250,loss:null}];
//this is the svg canvas attributes: (not buidlign abything just seeting up varaibels)
- var margin = {top: 40, right: 40, bottom: 40, left: 100}, //comma is the equivalent of var :
+ var margin = {top: 10, right: 40, bottom: 10, left: 100}, //comma is the equivalent of var :
width = 1200 - margin.left - margin.right,
height = 350 - margin.top - margin.bottom;
@@ -44,9 +50,9 @@ export default {
format = function(d) { return formatNumber(d) + " " + units; }
var color = d3.scale.category20b()
- var startingAxis = this.RandomSearLoc * 6
+ var startingAxis = this.RandomSearLoc
var axisScale = d3.scale.linear()
- .domain([startingAxis,0])
+ .domain([startingAxis*6,0])
.range([0, height]);
//Create the Axis
@@ -55,6 +61,8 @@ export default {
.orient("left")
.ticks(10);
+
+
// var lossScale = d3.scale.linear()
// .domain([.95,1,1.05])
// .range(["red","black","green"]);
@@ -66,6 +74,17 @@ export default {
.append("g") //group everything on the vancas together. will edit down on ln38 below
.attr("transform",
"translate(" + margin.left + "," + margin.top + ") scale(1,-1) translate(" + 0 + "," + -height + ")");
+ // Fix that!
+ d3.select("svg")
+ .append("text")
+ .text("Player Count")
+ .attr("x",30)
+ .attr("y",17)
+ .attr("font-family","Pontano Sans")
+ .attr("font-size",18.5)
+ .attr("fill","black")
+ .attr("transform", function(d){
+ return "translate(" + 0 + "," + 0 + ") rotate(-90 150 150)";});
// Set the sankey diagram properties
var sankey = d3Sankey() //calling the function
@@ -112,39 +131,39 @@ export default {
// load the data
var graph = {
"nodes":[
- {"name":"GradB","node":0,"month":"RandSear","color":"#e41a1c"},
- {"name":"RF","node":1,"month":"RandSear","color":"#377eb8"},
- {"name":"MLP","node":2,"month":"RandSear","color":"#4daf4a"},
- {"name":"LR","node":3,"month":"RandSear","color":"#984ea3"},
- {"name":"KNN","node":4,"month":"RandSear","color":"#ff7f00"},
- {"name":"Random search","node":5,"month":"RandSear","color":"#ffffff"},
- {"name":"GradB","node":6,"month":"Crossover","color":"#e41a1c"},
- {"name":"RF","node":7,"month":"Crossover","color":"#377eb8"},
- {"name":"MLP","node":8,"month":"Crossover","color":"#4daf4a"},
- {"name":"LR","node":9,"month":"Crossover","color":"#984ea3"},
- {"name":"KNN","node":10,"month":"Crossover","color":"#ff7f00"},
- {"name":"Mutate","node":11,"month":"Crossover","color":"#ffffff"},
- {"name":"GradB","node":12,"month":"Mutate","color":"#e41a1c"},
- {"name":"RF","node":13,"month":"Mutate","color":"#377eb8"},
- {"name":"MLP","node":14,"month":"Mutate","color":"#4daf4a"},
- {"name":"LR","node":15,"month":"Mutate","color":"#984ea3"},
- {"name":"KNN","node":16,"month":"Mutate","color":"#ff7f00"},
- {"name":"Crossover","node":17,"month":"Crossover","color":"#ffffff"},
+ {"name":"GradB","node":0,"month":"RandSear","color":"#e41a1c","dh":height/numberofModels},
+ {"name":"RF","node":1,"month":"RandSear","color":"#377eb8","dh":height/numberofModels},
+ {"name":"MLP","node":2,"month":"RandSear","color":"#4daf4a","dh":height/numberofModels},
+ {"name":"LR","node":3,"month":"RandSear","color":"#984ea3","dh":height/numberofModels},
+ {"name":"KNN","node":4,"month":"RandSear","color":"#ff7f00","dh":height/numberofModels},
+ {"name":"Random search","node":5,"month":"RandSear","color":"#ffffff","dh":height/numberofModels},
+ {"name":"GradB","node":6,"month":"Crossover","color":"#e41a1c","dh":height/(numberofModels*localStep)},
+ {"name":"RF","node":7,"month":"Crossover","color":"#377eb8","dh":height/(numberofModels*localStep)},
+ {"name":"MLP","node":8,"month":"Crossover","color":"#4daf4a","dh":height/(numberofModels*localStep)},
+ {"name":"LR","node":9,"month":"Crossover","color":"#984ea3","dh":height/(numberofModels*localStep)},
+ {"name":"KNN","node":10,"month":"Crossover","color":"#ff7f00","dh":height/(numberofModels*localStep)},
+ {"name":"Mutate","node":11,"month":"Crossover","color":"#ffffff","dh":height/(numberofModels*localStep)},
+ {"name":"GradB","node":12,"month":"Mutate","color":"#e41a1c","dh":height/(numberofModels*localStep)},
+ {"name":"RF","node":13,"month":"Mutate","color":"#377eb8","dh":height/(numberofModels*localStep)},
+ {"name":"MLP","node":14,"month":"Mutate","color":"#4daf4a","dh":height/(numberofModels*localStep)},
+ {"name":"LR","node":15,"month":"Mutate","color":"#984ea3","dh":height/(numberofModels*localStep)},
+ {"name":"KNN","node":16,"month":"Mutate","color":"#ff7f00","dh":height/(numberofModels*localStep)},
+ {"name":"Crossover","node":17,"month":"Crossover","color":"#ffffff","dh":height/(numberofModels*localStep)},
],
"links":[
- {"source":5,"target":11,"value":50},
- {"source":5,"target":17,"value":50},
- {"source":0,"target":6,"value":50},
- {"source":0,"target":12,"value":50},
- {"source":1,"target":7,"value":50},
- {"source":1,"target":13,"value":50},
- {"source":2,"target":8,"value":50},
- {"source":2,"target":14,"value":50},
- {"source":3,"target":9,"value":50},
- {"source":3,"target":15,"value":50},
- {"source":4,"target":10,"value":50},
- {"source":4,"target":16,"value":50},
+ {"source":5,"target":11,"value":50,"dh":height/(numberofModels*localStep)*(250/(valuesLoc[6]+valuesLoc[7]+valuesLoc[8]+valuesLoc[9]+valuesLoc[10]))},
+ {"source":5,"target":17,"value":50,"dh":height/(numberofModels*localStep)*(250/(valuesLoc[12]+valuesLoc[13]+valuesLoc[14]+valuesLoc[15]+valuesLoc[16]))},
+ {"source":0,"target":6,"value":valuesLoc[6],"dh":height/(numberofModels*localStep)*(valuesLoc[6]/50)},
+ {"source":0,"target":12,"value":valuesLoc[12],"dh":height/(numberofModels*localStep)*(valuesLoc[12]/50)},
+ {"source":1,"target":7,"value":valuesLoc[7],"dh":height/(numberofModels*localStep)*(valuesLoc[7]/50)},
+ {"source":1,"target":13,"value":valuesLoc[13],"dh":height/(numberofModels*localStep)*(valuesLoc[13]/50)},
+ {"source":2,"target":8,"value":valuesLoc[8],"dh":height/(numberofModels*localStep)*(valuesLoc[8]/50)},
+ {"source":2,"target":14,"value":valuesLoc[14],"dh":height/(numberofModels*localStep)*(valuesLoc[14]/50)},
+ {"source":3,"target":9,"value":valuesLoc[9],"dh":height/(numberofModels*localStep)*(valuesLoc[9]/50)},
+ {"source":3,"target":15,"value":valuesLoc[15],"dh":height/(numberofModels*localStep)*(valuesLoc[15]/50)},
+ {"source":4,"target":10,"value":valuesLoc[10],"dh":height/(numberofModels*localStep)*(valuesLoc[10]/50)},
+ {"source":4,"target":16,"value":valuesLoc[16],"dh":height/(numberofModels*localStep)*(valuesLoc[16]/50)},
]}
sankey.nodes(graph.nodes)
@@ -161,8 +180,8 @@ export default {
if(d.source.node == 5){
return "transparent";
}})
- .style("stroke-width", function(d) { return Math.max(.5, d.dy); }) //setting the stroke length by the data . d.dy is defined in sankey.js
- .sort(function(a, b) { return b.dy - a.dy; })
+ .style("stroke-width", function(d) { return Math.max(.5, d.dh); }) //setting the stroke length by the data . d.dh is defined in sankey.js
+ .sort(function(a, b) { return b.dh - a.dh; })
.on("mouseover",linkmouseover)
.on("mouseout",linkmouseout);
@@ -187,7 +206,7 @@ export default {
// add the rectangles for the nodes
node.append("rect")
- .attr("height", function(d) {return d.dy; })
+ .attr("height", function(d) { return d.dh; })
.attr("width", sankey.nodeWidth( ))
.style("fill", function(d) { return d.color; }) //matches name with the colors here! inside the replace is some sort of regex
// .style("stroke",function(d) { return d3.rgb(d.color).darker(1); }) //line around the box formatting
@@ -195,18 +214,27 @@ export default {
.on("mouseover", nodemouseover)
.on("mouseout", nodemouseout);
- node.append("foreignObject")
+ if (this.loop == 0) {
+ node.append("foreignObject")
.attr("x", 28)
- .attr("y", -21)
+ .attr("y", -24)
.attr("height", 18)
.attr("width", 40)
.attr("transform", "scale(1,-1)")
.append("xhtml:body")
.html(function(d) {
if (d.node > 5 && d.node != 11 && d.node != 17) {
- return ''
+ return ''
}
});
+
+ $("input[type='number']").change( function(d) {
+ valuesLoc[d.target.id] = parseInt(d.target.value)
+ console.log(valuesLoc)
+ EventBus.$emit('changeValues', valuesLoc)
+ // your code
+ });
+ }
// .append("title")
// .text(function(d) {
// return d.name + "\n" + format(d.value); });
@@ -216,9 +244,9 @@ export default {
.attr("x", -6)
.attr("y", function(d) {
if (d.node <= 5) {
- return d.dy - 70;
+ return d.dh - 81;
} else {
- return d.dy - 35;
+ return d.dh - 41;
}
})
.attr("dy", ".35em")
@@ -285,9 +313,12 @@ export default {
.attr("transform",
"translate(" + -45 + "," + 0 + ") scale(1,-1) translate(" + 0 + "," + -(height) + ")");
- }
+ },
},
mounted() {
+ EventBus.$on('changeValues', data => { this.values = data })
+ EventBus.$on('changeValues', this.SankeyView )
+
EventBus.$on('SendtheChangeinRangePos', data => { this.RandomSearLoc = data })
EventBus.$on('emittedEventCallingSankey', this.SankeyView)
diff --git a/frontend/src/components/HyperParameterSpace.vue b/frontend/src/components/HyperParameterSpace.vue
index f70dd37..e599f5b 100644
--- a/frontend/src/components/HyperParameterSpace.vue
+++ b/frontend/src/components/HyperParameterSpace.vue
@@ -60,7 +60,6 @@ export default {
Plotly.purge('OverviewPlotly')
var modelId = JSON.parse(this.ScatterPlotResults[0])
-
var colorsforScatterPlot = JSON.parse(this.ScatterPlotResults[1])
var parametersLoc = JSON.parse(this.ScatterPlotResults[2])
var parameters = JSON.parse(parametersLoc)
@@ -75,15 +74,25 @@ export default {
this.clean(parameters[i])
stringParameters.push(JSON.stringify(parameters[i]).replace(/,/gi, '
'))
}
- // fix that!
+
var classifiersInfoProcessing = []
for (let i = 0; i < modelId.length; i++) {
- if (i < 100) {
+ let tempSplit = modelId[i].split(/([0-9]+)/)
+ if (tempSplit[0] == 'KNN') {
classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: k-nearest neighbor' + '
Parameters: ' + stringParameters[i]
}
- else {
+ else if (tempSplit[0] == 'LR') {
classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: logistic regression' + '
Parameters: ' + stringParameters[i]
}
+ else if (tempSplit[0] == 'MLP') {
+ classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: multilayer perceptron' + '
Parameters: ' + stringParameters[i]
+ }
+ else if (tempSplit[0] == 'RF') {
+ classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: random forest' + '
Parameters: ' + stringParameters[i]
+ }
+ else {
+ classifiersInfoProcessing[i] = 'Model ID: ' + modelId[i] + '
Algorithm: gradient boosting' + '
Parameters: ' + stringParameters[i]
+ }
}
var DataGeneral, maxX, minX, maxY, minY, layout
diff --git a/frontend/src/components/Main.vue b/frontend/src/components/Main.vue
index 1f0782f..7d70d57 100755
--- a/frontend/src/components/Main.vue
+++ b/frontend/src/components/Main.vue
@@ -188,9 +188,7 @@
import Vue from 'vue'
import DataSetExecController from './DataSetExecController.vue'
import PerformanceMetrics from './PerformanceMetrics.vue'
-import Algorithms from './Algorithms.vue'
import AlgorithmsController from './AlgorithmsController.vue'
-import AlgorithmHyperParam from './AlgorithmHyperParam.vue'
import HyperParameterSpace from './HyperParameterSpace.vue'
import GlobalParamController from './GlobalParamController'
import Ensemble from './Ensemble.vue'
@@ -217,9 +215,7 @@ export default Vue.extend({
components: {
DataSetExecController,
PerformanceMetrics,
- Algorithms,
AlgorithmsController,
- AlgorithmHyperParam,
HyperParameterSpace,
GlobalParamController,
Ensemble,
@@ -348,6 +344,7 @@ export default Vue.extend({
this.storeBothEnsCM[0] = this.OverviewResults
this.firstTimeExec = false
} else {
+ EventBus.$emit('SendStoredEnsemble', this.storeEnsemble)
EventBus.$emit('emittedEventCallingCrossoverMutation', this.OverviewResults)
this.PredictSelEnsem = []
EventBus.$emit('emittedEventCallingGrid', this.OverviewResults)
@@ -379,6 +376,7 @@ export default Vue.extend({
console.log('Server successfully sent all the data related to visualizations!')
EventBus.$emit('emittedEventCallingScatterPlot', this.OverviewResultsCM)
this.storeBothEnsCM[0] = this.OverviewResultsCM
+ EventBus.$emit('emittedEventCallingSankey', this.OverviewResultsCM)
//this.PredictSel = []
//EventBus.$emit('emittedEventCallingGrid', this.OverviewResultsCM)
//EventBus.$emit('SendSelectedPointsToServerEvent', this.PredictSel)
@@ -539,8 +537,8 @@ export default Vue.extend({
})
}
},
- RemoveFromStackModels () {
- const path = `http://127.0.0.1:5000/data/ServerRemoveFromStack`
+ RemoveFromEnsembleModels () {
+ const path = `http://127.0.0.1:5000/data/ServerRemoveFromEnsemble`
const postData = {
ClassifiersList: this.ClassifierIDsListRemaining,
}
@@ -555,7 +553,7 @@ export default Vue.extend({
axios.post(path, postData, axiosConfig)
.then(response => {
console.log('Sent the selected points to the server (scatterplot)!')
- this.updatePredictionsSpace()
+ this.getDatafromtheBackEnd()
})
.catch(error => {
console.log(error)
@@ -904,8 +902,6 @@ export default Vue.extend({
},
sendPointsCrossMutat () {
const path = `http://127.0.0.1:5000/data/CrossoverMutation`
-
- EventBus.$emit('SendStoredEnsemble', this.storeEnsemble)
var mergedStoreEnsembleLoc = [].concat.apply([], this.storeEnsemble)
@@ -992,11 +988,11 @@ export default Vue.extend({
EventBus.$on('RemainingPointsCM', data => { this.unselectedRemainingPointsEnsem = data })
EventBus.$on('ChangeKey', data => { this.keyNow = data })
- EventBus.$on('SendSelectedPointsUpdateIndicator', data => { this.ClassifierIDsList = data; this.storeEnsemble.push(this.ClassifierIDsList)})
+ EventBus.$on('SendSelectedPointsUpdateIndicator', data => { this.ClassifierIDsList = data; this.storeEnsemble.push(this.ClassifierIDsList) })
EventBus.$on('SendSelectedPointsUpdateIndicator', this.SelectedPoints)
EventBus.$on('sendToServerSelectedScatter', this.SendSelectedPointsToServer)
- EventBus.$on('SendSelectedPointsUpdateIndicatorCM', data => { this.ClassifierIDsListCM = data })
+ EventBus.$on('SendSelectedPointsUpdateIndicatorCM', data => { this.ClassifierIDsListCM = data; this.storeEnsemble = []; this.storeEnsemble.push(this.ClassifierIDsListCM) })
EventBus.$on('SendSelectedPointsUpdateIndicatorCM', this.SelectedPointsCM)
EventBus.$on('SendSelectedDataPointsToServerEvent', data => { this.DataPointsSel = data })
@@ -1030,8 +1026,8 @@ export default Vue.extend({
EventBus.$on('AllSelModels', data => {this.valueSel = data})
- EventBus.$on('RemoveFromStack', data => { this.ClassifierIDsListRemaining = data })
- EventBus.$on('RemoveFromStack', this.RemoveFromStackModels)
+ EventBus.$on('RemoveFromEnsemble', data => { this.ClassifierIDsListRemaining = data })
+ EventBus.$on('RemoveFromEnsemble', this.RemoveFromEnsembleModels)
EventBus.$on('OpenModal', this.openModalFun)
diff --git a/run.py b/run.py
index 0be316d..84a1a65 100644
--- a/run.py
+++ b/run.py
@@ -76,6 +76,9 @@ def reset():
global KNNModelsCount
global LRModelsCount
+ global MLPModelsCount
+ global RFModelsCount
+ global GradBModelsCount
global factors
factors = [1,1,1,1,0,0,0,0]
@@ -182,6 +185,9 @@ def reset():
global names_labels
names_labels = []
+ global keySend
+ keySend=0
+
return 'The reset was done!'
# retrieve data from client and select the correct data set
@@ -208,12 +214,6 @@ def retrieveFileName():
global keyData
keyData = 0
- global KNNModelsCount
- global LRModelsCount
- global MLPModelsCount
- global RFModelsCount
- global GradBModelsCount
-
global factors
factors = data['Factors']
@@ -223,12 +223,6 @@ def retrieveFileName():
global randomSearchVar
randomSearchVar = int(data['RandomSearch'])
- KNNModelsCount = 0
- LRModelsCount = KNNModelsCount+randomSearchVar
- MLPModelsCount = LRModelsCount+randomSearchVar
- RFModelsCount = MLPModelsCount+randomSearchVar
- GradBModelsCount = RFModelsCount+randomSearchVar
-
global XData
XData = []
@@ -333,6 +327,9 @@ def retrieveFileName():
global names_labels
names_labels = []
+ global keySend
+ keySend=0
+
DataRawLength = -1
DataRawLengthTest = -1
@@ -538,7 +535,6 @@ def retrieveModel():
global XData
global yData
- global LRModelsCount
global countAllModels
# loop through the algorithms
@@ -576,6 +572,7 @@ def retrieveModel():
params = {'n_estimators': list(range(20, 100)), 'learning_rate': list(np.arange(0.01,0.23,0.11)), 'criterion': ['friedman_mse', 'mse', 'mae']}
countAllModels = countAllModels + randomSearchVar
AlgorithmsIDsEnd = countAllModels
+ countAllModels = countAllModels + randomSearchVar
allParametersPerformancePerModel = randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd)
HistoryPreservation = allParametersPerformancePerModel.copy()
# call the function that sends the results to the frontend
@@ -758,7 +755,6 @@ def EnsembleIDs():
global numberIDMLPGlob
global numberIDRFGlob
global numberIDGradBGlob
-
numberIDKNNGlob = []
numberIDLRGlob = []
numberIDMLPGlob = []
@@ -786,7 +782,6 @@ def EnsembleIDs():
def PreprocessingPredEnsemble():
global EnsembleActive
-
numberIDKNN = []
numberIDLR = []
numberIDMLP = []
@@ -1009,6 +1004,7 @@ def InitializeEnsemble():
global ModelSpaceTSNE
global allParametersPerformancePerModel
global EnsembleActive
+ global keySend
XModels = XModels.fillna(0)
@@ -1022,8 +1018,8 @@ def InitializeEnsemble():
else:
PredictionProbSel = PreprocessingPredEnsemble()
ModelsIds = EnsembleIDs()
- key = 0
- EnsembleModel(ModelsIds, key)
+ EnsembleModel(ModelsIds, keySend)
+ keySend=1
returnResults(ModelSpaceMDS,ModelSpaceTSNE,ModelSpaceUMAP,PredictionProbSel)
@@ -1044,12 +1040,14 @@ def EnsembleModel (Models, keyRetrieved):
global yData
global sclf
+ global randomSearchVar
+ greater = randomSearchVar*5
+
global numberIDKNNGlob
global numberIDLRGlob
global numberIDMLPGlob
global numberIDRFGlob
global numberIDGradBGlob
-
all_classifiers = []
columnsInit = []
columnsInit = [XData.columns.get_loc(c) for c in XData.columns if c in XData]
@@ -1064,7 +1062,10 @@ def EnsembleModel (Models, keyRetrieved):
dfParamKNN = pd.DataFrame.from_dict(tempDic)
dfParamKNNFilt = dfParamKNN.iloc[:,0]
for eachelem in numberIDKNNGlob:
- arg = dfParamKNNFilt[eachelem]
+ if (eachelem >= greater):
+ arg = dfParamKNNFilt[eachelem-addKNN]
+ else:
+ arg = dfParamKNNFilt[eachelem-KNNModelsCount]
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), KNeighborsClassifier().set_params(**arg)))
temp = allParametersPerformancePerModel[5]
temp = temp['params']
@@ -1075,7 +1076,10 @@ def EnsembleModel (Models, keyRetrieved):
dfParamLR = pd.DataFrame.from_dict(tempDic)
dfParamLRFilt = dfParamLR.iloc[:,0]
for eachelem in numberIDLRGlob:
- arg = dfParamLRFilt[eachelem-LRModelsCount]
+ if (eachelem >= greater):
+ arg = dfParamLRFilt[eachelem-addLR]
+ else:
+ arg = dfParamLRFilt[eachelem-LRModelsCount]
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), LogisticRegression(random_state=RANDOM_SEED).set_params(**arg)))
temp = allParametersPerformancePerModel[9]
@@ -1087,7 +1091,10 @@ def EnsembleModel (Models, keyRetrieved):
dfParamMLP = pd.DataFrame.from_dict(tempDic)
dfParamMLPFilt = dfParamMLP.iloc[:,0]
for eachelem in numberIDMLPGlob:
- arg = dfParamMLPFilt[eachelem-MLPModelsCount]
+ if (eachelem >= greater):
+ arg = dfParamMLPFilt[eachelem-addMLP]
+ else:
+ arg = dfParamMLPFilt[eachelem-MLPModelsCount]
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), MLPClassifier(random_state=RANDOM_SEED).set_params(**arg)))
temp = allParametersPerformancePerModel[13]
@@ -1099,7 +1106,10 @@ def EnsembleModel (Models, keyRetrieved):
dfParamRF = pd.DataFrame.from_dict(tempDic)
dfParamRFFilt = dfParamRF.iloc[:,0]
for eachelem in numberIDRFGlob:
- arg = dfParamRFFilt[eachelem-RFModelsCount]
+ if (eachelem >= greater):
+ arg = dfParamRFFilt[eachelem-addRF]
+ else:
+ arg = dfParamRFFilt[eachelem-RFModelsCount]
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), RandomForestClassifier(random_state=RANDOM_SEED).set_params(**arg)))
temp = allParametersPerformancePerModel[17]
@@ -1111,7 +1121,10 @@ def EnsembleModel (Models, keyRetrieved):
dfParamGradB = pd.DataFrame.from_dict(tempDic)
dfParamGradBFilt = dfParamGradB.iloc[:,0]
for eachelem in numberIDGradBGlob:
- arg = dfParamGradBFilt[eachelem-GradBModelsCount]
+ if (eachelem >= greater):
+ arg = dfParamGradBFilt[eachelem-addGradB]
+ else:
+ arg = dfParamGradBFilt[eachelem-GradBModelsCount]
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), GradientBoostingClassifier(random_state=RANDOM_SEED).set_params(**arg)))
global sclf
@@ -1283,6 +1296,7 @@ def CrossoverMutateFun():
EnsembleActive = json.loads(EnsembleActive)
EnsembleActive = EnsembleActive['StoreEnsemble']
+
random.seed(RANDOM_SEED)
global XData
@@ -1298,6 +1312,9 @@ def CrossoverMutateFun():
global allParametersPerfCrossMutr
global HistoryPreservation
+ global randomSearchVar
+ greater = randomSearchVar*5
+
KNNIDs = list(filter(lambda k: 'KNN' in k, RemainingIds))
LRIDs = list(filter(lambda k: 'LR' in k, RemainingIds))
MLPIDs = list(filter(lambda k: 'MLP' in k, RemainingIds))
@@ -1320,9 +1337,13 @@ def CrossoverMutateFun():
localCrossMutr = []
allParametersPerfCrossMutrKNNC = []
+
while countKNN < setMaxLoopValue:
for dr in KNNIDs:
- KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
+ else:
+ KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
KNNPickPair = random.sample(KNNIntIndex,2)
pairDF = paramAllAlgs.iloc[KNNPickPair]
crossoverDF = pd.DataFrame()
@@ -1364,7 +1385,10 @@ def CrossoverMutateFun():
while countKNN < setMaxLoopValue:
for dr in KNNIDs:
- KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
+ else:
+ KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
KNNPickPair = random.sample(KNNIntIndex,1)
pairDF = paramAllAlgs.iloc[KNNPickPair]
@@ -1409,10 +1433,15 @@ def CrossoverMutateFun():
while countLR < setMaxLoopValue:
for dr in LRIDs:
- LRIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
+ else:
+ LRIntIndex.append(int(re.findall('\d+', dr)[0]))
+ print(LRIntIndex)
LRPickPair = random.sample(LRIntIndex,2)
-
+ print(paramAllAlgs)
pairDF = paramAllAlgs.iloc[LRPickPair]
+ print(pairDF)
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
@@ -1452,7 +1481,10 @@ def CrossoverMutateFun():
while countLR < setMaxLoopValue:
for dr in LRIDs:
- LRIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
+ else:
+ LRIntIndex.append(int(re.findall('\d+', dr)[0]))
LRPickPair = random.sample(LRIntIndex,1)
pairDF = paramAllAlgs.iloc[LRPickPair]
@@ -1497,7 +1529,10 @@ def CrossoverMutateFun():
while countMLP < setMaxLoopValue:
for dr in MLPIDs:
- MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
+ else:
+ MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
MLPPickPair = random.sample(MLPIntIndex,2)
pairDF = paramAllAlgs.iloc[MLPPickPair]
@@ -1540,7 +1575,10 @@ def CrossoverMutateFun():
while countMLP < setMaxLoopValue:
for dr in MLPIDs:
- MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
+ else:
+ MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
MLPPickPair = random.sample(MLPIntIndex,1)
pairDF = paramAllAlgs.iloc[MLPPickPair]
@@ -1585,7 +1623,10 @@ def CrossoverMutateFun():
while countRF < setMaxLoopValue:
for dr in RFIDs:
- RFIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
+ else:
+ RFIntIndex.append(int(re.findall('\d+', dr)[0]))
RFPickPair = random.sample(RFIntIndex,2)
pairDF = paramAllAlgs.iloc[RFPickPair]
@@ -1627,7 +1668,9 @@ def CrossoverMutateFun():
allParametersPerfCrossMutrRFM = []
while countRF < setMaxLoopValue:
- for dr in RFIDs:
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
+ else:
RFIntIndex.append(int(re.findall('\d+', dr)[0]))
RFPickPair = random.sample(RFIntIndex,1)
@@ -1673,7 +1716,10 @@ def CrossoverMutateFun():
while countGradB < setMaxLoopValue:
for dr in GradBIDs:
- GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ GradBIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
+ else:
+ GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
GradBPickPair = random.sample(GradBIntIndex,2)
pairDF = paramAllAlgs.iloc[GradBPickPair]
@@ -1716,7 +1762,10 @@ def CrossoverMutateFun():
while countGradB < setMaxLoopValue:
for dr in GradBIDs:
- GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
+ if (int(re.findall('\d+', dr)[0]) >= greater):
+ GradBIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
+ else:
+ GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
GradPickPair = random.sample(GradBIntIndex,1)
pairDF = paramAllAlgs.iloc[GradBPickPair]
@@ -1737,7 +1786,7 @@ def CrossoverMutateFun():
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'learning_rate': [crossoverDF['learning_rate'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countGradB
- localCrossMutr = crossoverMutation(XData, yData, clf, params, 'RF', AlgorithmsIDsEnd)
+ localCrossMutr = crossoverMutation(XData, yData, clf, params, 'GradB', AlgorithmsIDsEnd)
countGradB += 1
crossoverDF = pd.DataFrame()
@@ -1759,13 +1808,12 @@ def CrossoverMutateFun():
localCrossMutr.clear()
allParametersPerfCrossMutr = allParametersPerfCrossMutrKNNC + allParametersPerfCrossMutrKNNM + allParametersPerfCrossMutrLRC + allParametersPerfCrossMutrLRM + allParametersPerfCrossMutrMLPC + allParametersPerfCrossMutrMLPM + allParametersPerfCrossMutrRFC + allParametersPerfCrossMutrRFM + allParametersPerfCrossMutrGradBC + allParametersPerfCrossMutrGradBM
+ allParametersPerformancePerModel[0] = allParametersPerformancePerModel[0] + allParametersPerfCrossMutrKNNC[0] + allParametersPerfCrossMutrKNNM[0]
- allParametersPerformancePerModel[4] = allParametersPerformancePerModel[4] + allParametersPerfCrossMutrKNNC[0] + allParametersPerfCrossMutrKNNM[0]
-
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrKNNC[1]], ignore_index=True)
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrKNNM[1]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrKNNC[2]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrKNNM[2]], ignore_index=True)
+ allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNC[1]], ignore_index=True)
+ allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNM[1]], ignore_index=True)
+ allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNC[2]], ignore_index=True)
+ allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNM[2]], ignore_index=True)
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNC[3]], ignore_index=True)
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNM[3]], ignore_index=True)
@@ -1781,39 +1829,39 @@ def CrossoverMutateFun():
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRC[3]], ignore_index=True)
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRM[3]], ignore_index=True)
- allParametersPerformancePerModel[4] = allParametersPerformancePerModel[4] + allParametersPerfCrossMutrMLPC[0] + allParametersPerfCrossMutrMLPM[0]
+ allParametersPerformancePerModel[8] = allParametersPerformancePerModel[8] + allParametersPerfCrossMutrMLPC[0] + allParametersPerfCrossMutrMLPM[0]
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrMLPC[1]], ignore_index=True)
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrMLPM[1]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrMLPC[2]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrMLPM[2]], ignore_index=True)
+ allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPC[1]], ignore_index=True)
+ allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPM[1]], ignore_index=True)
+ allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPC[2]], ignore_index=True)
+ allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPM[2]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPC[3]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPM[3]], ignore_index=True)
- allParametersPerformancePerModel[4] = allParametersPerformancePerModel[4] + allParametersPerfCrossMutrRFC[0] + allParametersPerfCrossMutrRFM[0]
+ allParametersPerformancePerModel[12] = allParametersPerformancePerModel[12] + allParametersPerfCrossMutrRFC[0] + allParametersPerfCrossMutrRFM[0]
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrRFC[1]], ignore_index=True)
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrRFM[1]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrRFC[2]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrRFM[2]], ignore_index=True)
+ allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFC[1]], ignore_index=True)
+ allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFM[1]], ignore_index=True)
+ allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFC[2]], ignore_index=True)
+ allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFM[2]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFC[3]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFM[3]], ignore_index=True)
- allParametersPerformancePerModel[4] = allParametersPerformancePerModel[4] + allParametersPerfCrossMutrGradBC[0] + allParametersPerfCrossMutrGradBM[0]
+ allParametersPerformancePerModel[16] = allParametersPerformancePerModel[16] + allParametersPerfCrossMutrGradBC[0] + allParametersPerfCrossMutrGradBM[0]
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrGradBC[1]], ignore_index=True)
- allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrGradBM[1]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrGradBC[2]], ignore_index=True)
- allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrGradBM[2]], ignore_index=True)
+ allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBC[1]], ignore_index=True)
+ allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBM[1]], ignore_index=True)
+ allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBC[2]], ignore_index=True)
+ allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBM[2]], ignore_index=True)
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBC[3]], ignore_index=True)
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBM[3]], ignore_index=True)
- addKNN = addLR
+ addKNN = addGradB
- addLR = addLR + setMaxLoopValue*2
+ addLR = addKNN + setMaxLoopValue*2
addMLP = addLR + setMaxLoopValue*2
@@ -1824,6 +1872,9 @@ def CrossoverMutateFun():
return 'Everything Okay'
def crossoverMutation(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd):
+ print(AlgorithmsIDsEnd)
+ print(clf)
+ print(params)
search = GridSearchCV(
estimator=clf, param_grid=params, cv=crossValidation, refit='accuracy',
scoring=scoring, verbose=0, n_jobs=-1)
@@ -2219,7 +2270,6 @@ def CrossMutateResults(ModelSpaceMDSCM,ModelSpaceTSNECM,ModelSpaceUMAPCM,Predict
metricsPerModel = preProcMetricsAllAndSelCM()
sumPerClassifier = preProcsumPerMetricCM(factors)
ModelsIDs = PreprocessingIDsCM()
-
parametersGenPD = parametersGen.to_json(orient='records')
XDataJSONEntireSet = XData.to_json(orient='records')
@@ -2342,7 +2392,7 @@ def RetrieveSelIDsPredict():
RetrieveIDsSelection = request.get_data().decode('utf8').replace("'", '"')
RetrieveIDsSelection = json.loads(RetrieveIDsSelection)
RetrieveIDsSelection = RetrieveIDsSelection['predictSelectionIDs']
-
+
ResultsSelPred = PreprocessingPredSel(RetrieveIDsSelection)
return 'Everything Okay'
@@ -2372,11 +2422,11 @@ def PreprocessingPredSelEnsem(SelectedIDsEnsem):
elif (items[0] == 'LR'):
numberIDLR.append(int(items[1]))
elif (items[0] == 'MLP'):
- numberIDLR.append(int(items[1]))
+ numberIDMLP.append(int(items[1]))
elif (items[0] == 'RF'):
- numberIDLR.append(int(items[1]))
+ numberIDRF.append(int(items[1]))
else:
- numberIDLR.append(int(items[1]))
+ numberIDGradB.append(int(items[1]))
dicKNN = allParametersPerformancePerModel[3]
dicLR = allParametersPerformancePerModel[7]
@@ -2465,4 +2515,17 @@ def RetrieveSelClassifiersID():
EnsembleModel(ClassifierIDsList, 1)
+ return 'Everything Okay'
+
+@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
+@app.route('/data/ServerRemoveFromEnsemble', methods=["GET", "POST"])
+def RetrieveSelClassifiersIDandRemoveFromEnsemble():
+ global EnsembleActive
+ ClassifierIDsList = request.get_data().decode('utf8').replace("'", '"')
+ ClassifierIDsList = json.loads(ClassifierIDsList)
+ ClassifierIDsListCleaned = ClassifierIDsList['ClassifiersList']
+
+ EnsembleActive = []
+ EnsembleActive = ClassifierIDsListCleaned.copy()
+
return 'Everything Okay'
\ No newline at end of file